Re-enable the clay strips sculpt brush.
authorNicholas Bishop <nicholasbishop@gmail.com>
Sun, 18 Mar 2012 11:44:14 +0000 (11:44 +0000)
committerNicholas Bishop <nicholasbishop@gmail.com>
Sun, 18 Mar 2012 11:44:14 +0000 (11:44 +0000)
Most of the tool code was already in place, only significant
functionality change is that anchored stroke works now.

TODO:
* Gave it a new icon, but could use a better one
* Default .blend should have a clay strips brush

release/datafiles/brushicons/claystrips.png [new file with mode: 0644]
source/blender/editors/datafiles/CMakeLists.txt
source/blender/editors/datafiles/claystrips.png.c [new file with mode: 0644]
source/blender/editors/include/ED_datafiles.h
source/blender/editors/include/UI_icons.h
source/blender/editors/interface/interface_icons.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/makesrna/intern/rna_brush.c

diff --git a/release/datafiles/brushicons/claystrips.png b/release/datafiles/brushicons/claystrips.png
new file mode 100644 (file)
index 0000000..f8efc33
Binary files /dev/null and b/release/datafiles/brushicons/claystrips.png differ
index 946e1c66ad7ba8a5a0722f45786d06f6562809eb..b27901c2667d8cde8d96e14bc85e196a63fa1c0b 100644 (file)
@@ -74,6 +74,7 @@ if(WITH_BLENDER)
                        smooth.png.c
                        snake_hook.png.c
                        soften.png.c
+                       claystrips.png.c
                        subtract.png.c
                        texdraw.png.c
                        thumb.png.c
diff --git a/source/blender/editors/datafiles/claystrips.png.c b/source/blender/editors/datafiles/claystrips.png.c
new file mode 100644 (file)
index 0000000..b6ebc54
--- /dev/null
@@ -0,0 +1,290 @@
+/* DataToC output of file <claystrips_png> */
+
+int datatoc_claystrips_png_size= 9087;
+char datatoc_claystrips_png[]= {
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  0, 96,  0,  0,  0, 96,  8,  6,  0,  0,  0,226,152,
+119, 56,  0,  0,  0,  1,115, 82, 71, 66,  0,174,206, 28,233,  0,  0,  0,  6, 98, 75, 71, 68,  0,255,  0,255,  0,255,160,189,167,
+147,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 13,215,  0,  0, 13,215,  1, 66, 40,155,120,  0,  0,  0,  7,116, 73, 77, 69,  7,220,
+  3, 18, 11,  2,  3,179,242, 79,233,  0,  0,  0, 25,116, 69, 88,116, 67,111,109,109,101,110,116,  0, 67,114,101, 97,116,101,100,
+ 32,119,105,116,104, 32, 71, 73, 77, 80, 87,129, 14, 23,  0,  0, 32,  0, 73, 68, 65, 84,120,218,237,125, 91,143, 37,199,113,230,
+ 87,153, 89, 85,231,214, 51,211,195, 33, 72, 13,181, 94,131, 67,137, 23,107, 13,138, 52, 47, 35,122, 73,  8, 16,236, 39, 61, 88,
+128, 40, 81,126,144,  4,239,171,254,131,159, 23,254, 27,122,149, 13,120, 33,  8,235, 39,173,  5,173,177, 90,136, 38, 69, 64,182,
+ 41,137,226,144,115, 35,102,166, 79,159, 91, 93, 51,115, 31, 42, 34, 39, 42, 79,158,230,202,242,202, 90,123, 26,104,244,189,186,
+ 42, 51, 50,226,139, 47,190,136,147,  1,240,120,240,246,175,246,166, 30, 44,193,131, 13,120,176,  1, 15,222, 30,108,192,131, 13,
+120,240,246, 96,  3, 30,108,192,131,183,223,252,155,249,109,186,153,233,108,134, 43, 79, 60,  1,103, 45,138,162,192,227,143, 63,
+142,178, 44,225,156,195,102,179,193,123,239,189, 55,250,253, 44,203,240,225,245,235, 56, 61, 57,121,176,  1,191,210,177,211, 26,
+ 90,107,124,226, 19,159,192,107,175,189,134,171, 87,175,226,145, 71, 31,133, 82,195,129,156,148, 37,  0,192, 57,  7,107, 45,148,
+ 82,225,103,222,123,120,239,195,231,  0,112,253,250,117,188,245,214, 91,248,251,183,222,194,141,235,215,113,227,198, 13,116, 93,
+  7,248,223,254, 28, 51,251, 77,101,194, 58,207, 49,159,205,240,228, 83, 79,225,149, 87, 94,193,139, 47,190,136,135, 47, 93,130,
+115, 14, 93,215,193, 90,139,182,235,  0,  0, 69,158, 67, 41, 21, 22, 59,203, 50,104,173,145,101,217,104,241,189, 88, 96,185, 65,
+239,191,255, 62,190,251,221,239,226,199, 63,254, 49,238,220,185,131,174,109,255,253,110, 64, 94, 20,120,242,169,167,240,217,103,
+159,197,213,171, 87,113,229,202, 21,104,173,209,117, 29,156,115, 97, 33,123,107, 97,173, 13,139,169,149, 66,150,101,232,173, 69,
+145,231,208, 90,143,172,158,223,248,107,231,220,240,238, 61, 84,150,193, 58,135,147,123,247,240, 63,254,246,111,241,191,127,244,
+ 35,124,240,193,  7, 88,157,158,254,251,217,128,203,143, 61,134, 39, 62,245, 41,124,246,217,103,241,202, 31,254, 33, 30,190,116,
+105,180,232,236,195,121,  3,156,115,104,233, 36,104,173, 81,228,121,248,122, 62,155,  5, 11,143, 23, 94,158,  6,190,142,247, 30,
+150, 54, 68, 41,133,211,211, 83,252,253,155,111,226, 39,239,188,131,159,189,251, 46,174, 93,187,246, 91,227,158,254,197, 55,224,
+241, 43, 87,240,185,207,125, 14,207, 63,255, 60,254,227,239,254, 46,142,207,159, 71,219,117,240,222,  7, 95,206, 11,159,101, 89,
+176, 92,107, 45,250,190, 71,111, 45, 12,197,136,186,105, 96,173,197,185,163, 35,104,173,247, 22, 61,254,200, 27, 32, 55,193,210,
+201,106,154,  6,187,237, 22,215,174, 93,195,123,239,189,135, 55,223,124, 19,255,248, 15,255,240,111, 99,  3,102,243, 57,254,243,
+171,175,226,229,151, 94,194, 39, 63,249, 73, 92,190,124, 57,160, 23,  0,208, 90, 67,101,217,176, 80,145,213,242,231,206, 57,180,
+109,139,182,235,160,148,130,209, 26, 93,223,  3,  0, 22,243, 57,180,214,112,206, 33,203, 50,100,116, 45,190,190,116, 67,124, 45,
+107, 45, 44,197,151,158,174,211,180, 45,154,170, 66, 93,215, 56, 57, 57,193,187, 63,251, 25,254,219, 95,255,245,191,170,107,250,
+181, 54,224,252,241, 49,190,244, 39,127,130,171, 87,175,226,194,241, 49,142, 22,139, 96,229,222,123, 24, 99,194, 63,144,110, 39,
+203,178,251, 65,150,252, 54, 91,170,115, 14,125,223,  7,235, 85, 74, 97, 62,155,133, 83, 99,140,  9,127, 27,191,141, 92,144,181,
+104,218, 22,109,219,134,191,235,186, 14,117, 93,163,218,237,176,221,237,208,181, 45,150,167,167,184,121,227,  6,254,251,223,252,
+ 13,110,223,188,249,255,199,  6, 92,124,232, 33,124,227, 27,223,192, 75, 47,191,140,217,116, 58, 44, 52, 45, 44,163, 21,137, 88,
+ 84,150, 33, 19,238,199, 57,  7,103,109,248,199,210,109,100, 89,134,190,239,131,251, 49,198, 96, 82,150,240,222,163,235, 58,204,
+231,243,209,181, 83,110, 72,186,183,237,110, 23,126,191,235,186,  1,158,  2,232,105, 51,214,235, 53,178, 44, 67, 93,215,248,201,
+ 59,239,224,175,254,242, 47,127,163,168,233, 87,218,128,115,231,207,227,235, 95,255, 58,190,240,133, 47,160, 40,138, 17,  4,140,
+177,186, 86, 10, 16, 27,194,139, 12,239,225,163,127,204, 22,203, 39,196, 57,135,166,105,208,245, 61,138, 60, 15,238,172,239,123,
+204,102,179,189, 83, 21, 47,126,223,247,225,122, 50, 22,244,125, 31, 54,131, 97,111,181,221,226,206,157, 59,152, 76, 38,200,243,
+ 28,167,167,167,248,193, 15,126,128, 31,254,240,135,216,109,183,191, 29, 27,144, 23,  5,190,248,197, 47,226,171,111,188,129,243,
+231,206,  5, 95,204, 22,205,254, 89,126, 61,242,205,188,184,  2,201,132,197,243, 62,184, 32,185, 56,117,211,160,235, 58, 76,202,
+ 18,179,217, 44,248,245,233,116,186,247,247, 62,113, 10, 56,183,144, 27, 32,175,223,247,253,144,119,120,143,182,105,112,122,122,
+138,249,124, 62, 66, 91,255,248, 79,255,132,239,125,239,123,120,255,151,191, 68,211, 52,225, 57,126, 99, 27,144, 41,133,103, 63,
+251, 89,252,151, 63,251, 51,124,250,211,159, 30,225,116,233,207,179, 44, 11,110, 72,186,128, 44,203,194,131, 75,191,205, 65, 52,
+ 88, 45,197,  1,182,126,107, 45,218,182, 69,211,182,112,206, 97, 58,153,132,107,207,102,179,224,214,148, 64, 70,222,251,209,102,
+112, 80,103,100,197,247,237, 68, 96,230,251,104,219, 22,235,213, 10,219,237, 22,211,233, 20, 69, 81,192, 24,  3,173, 53,242,162,
+192,245, 15, 63,196,219,111,191,141,255,249,119,127,135,187,119,238, 96,179,217,192, 19,  0,248,127,182,  1,153, 82,248,210,151,
+190,132,175,253,233,159, 98, 49,159,  7, 24,201, 11,200,214,158, 17,181,192,139, 41,173,159, 79, 69,140,225, 99,183, 17,252, 63,
+ 16, 78,  3, 47, 82,219,117,152, 77,167, 97,115,138,162, 24,197,154, 17,158,167,  5,229,239,117,125,143,186,174,209,245, 61, 12,
+221, 87, 79,215,102,  3,225,141,170,171, 42, 24, 24,  7,110,109, 12, 84,150,161, 44, 75, 20,101,137,174,109,241,211,159,254, 20,
+ 63,121,231, 29,252,228,237,183,113,227,198,141, 95, 59,159, 72,110,128,210, 26, 95,254,242,151,241,213, 55,222,192,156,142, 63,
+ 47,120, 88,120,122, 88,249, 49, 14,142,177, 59,226, 13, 11, 27,112,192,255,243,  6,176, 43, 50, 90,195, 24, 19, 54, 32,143, 50,
+227,216,250,229,  6, 55, 77, 19,172,221, 82, 28,145,167,129,255, 23,103,209,174,239,177,221,110, 67,188, 97,247,202,107, 96,204,
+ 64,159,221,190,125, 27,255,235, 71, 63,194,219,111,189,133, 95,252,252,231,255,124,138,  6,192,159,199,139,255,250,235,175,227,
+245,175,124,  5,243,217, 44, 88,190, 49, 38,208,  3,169,119,185,232,108,245, 90, 88,190, 76,194,216, 90, 51,250,200,139,198,139,
+202,191,163,148,  2,188, 71, 71,176,148,131,120, 81, 20, 35, 67,144,159,103,156, 97, 39,178,102,118,135,241, 41,149,208,214,211,
+ 66,247,125,143,166,105,194,117, 84,244,236,179,217, 12, 79, 92,185,130, 79, 63,249, 36, 30,122,232, 33,156, 44,151,216,172,215,
+191,230,  6,100, 25,222,248,218,215,240,229,215, 95,199,185,163,163,224,219,195,113,167,223, 73,157,  2,249,181,116, 79,241,239,
+197,249, 64,240,231,226,154, 50,142,240, 27,199,  8,165, 20,138,162,216, 63,  1,194,  0,194,198,136,132,173,167,128, 44,145, 90,
+223,247,163,216,101,  9, 26,231,121, 14, 67,207,108,140, 65, 73,236, 44,111,162,124,198,249,124,142,199, 30,123, 12, 79, 63,253,
+ 52,202,201,  4, 63,255, 21, 79, 67,112, 65,231,206,159,199,183,190,245, 45,188,244,210, 75, 56, 90, 44, 70, 15,205,150, 42, 33,
+165, 92, 28, 25,116,247, 78,132,240,205,242,251,169,192,201,239,140, 82, 36, 69,225,  9, 45, 25,173, 49,159,207,  3, 12,150, 49,
+ 68, 34, 35,240,102, 18,199,180,217,110,135,  5,213, 58,184, 34,222, 80,201,200, 42,165,208, 81, 54,174,148,194,234,244, 20, 39,
+ 39, 39,184,120,241, 34,242, 60, 15,255,131, 93, 25,255,127,  0,168,235, 26,239,190,251, 46,190,253,237,111, 99,189, 90,253,223,
+159,128,231,158,123, 14,255,245, 47,254,  2, 87, 30,127, 28,139,249, 60,  4, 43,165, 84,  8,178,236,251,226,133,148, 46, 71, 90,
+112,216, 12,233,118,132,191,150,113, 32, 70, 70,242, 20,240,  3,202,235, 74, 43,142, 99, 83, 42, 47,136,239,155, 23,159,249, 37,
+134,171,236,218,188,247,232,218, 22,206,123,148,101,137,237,118, 59, 58,185,155,205, 38, 24,  4,159, 70,254,249,133, 11, 23,240,
+194, 11, 47,224,131,235,215,113,239,238,221,143,223,128,167,159,121,230,207,191,249,205,111,  6,254, 70,107, 13,107, 45,202,178,
+ 28, 61, 92,252, 32, 33,249, 74, 88,124, 88,244,136, 32,147,167, 73, 90,105,124, 50,100,102,172,148, 26, 78,129,181,200,201, 93,
+228, 84, 47,136, 93, 86,202, 29,202,205,224,235,  4, 74,131,  2, 51, 95, 83, 22,129, 44,185, 39,165, 20,202,162,192,122,189, 70,
+215,117, 48,198,224,252,133, 11, 35, 96, 16,146,204, 44,131,166,204,253,185,231,158,  3,128,143,117, 73,234,115, 87,175,  2, 64,
+ 88,112,107, 45,180, 82, 33,250, 75,146,139, 23, 94,243,194, 75, 11, 22,254, 44,184,  4,250,158, 34,107, 83,148, 29,139,149,  9,
+ 31,179,136, 39,210,145, 69,243,169,236,201, 37, 65,  4, 76,105,253, 35, 88, 43,232, 17, 25, 51,120,241,229,102, 72, 18, 47,203,
+ 50, 20,130,254,232,251, 30,199,199,199, 33, 22,236,  8, 37, 49,194,226,211, 83, 22,  5, 52,185, 52,231, 61, 62,255,249,207,227,
+ 43, 95,253, 42, 20,253,239,116, 73, 82, 36, 81,140,  8,140, 49,163, 84, 94, 30,113, 21, 33, 12,  9, 39,101, 80,221, 91,104,233,
+ 14,232,231, 50,176,203, 13,201,196,207, 37, 94,215, 90, 67,211,105,236,105,161,242, 40,248,142,114, 11, 50,160,140, 16,150, 12,
+206, 61, 17,127,177, 27,226,205,224,  4,174,169,107,204,230,115,180, 77,  3, 99, 12,150,203, 37, 38,147,  9,180,214, 40,203,114,
+244,127,229,198, 27,173, 97,180,198, 31,188,240,  2,178, 44,195,119,190,243, 29,180, 77,147, 40,207,146,181,  3,128, 86, 10,  5,
+  5,154,192,102, 70,254, 62, 69, 39,179,149,239,185, 24,105,229,  7, 18,177,248,243,140, 16,  6,195, 94,165, 84,192,253,158, 32,
+105,211,182, 33, 96, 34,113, 63,  1,165,208,137,115,244, 51,166,185, 25,210,242,115,179,123,100,151, 35,223,172,181,232,187, 14,
+ 57,229, 31, 23, 47, 94,132,214, 26,211,233, 52,184, 66, 94,120,173, 53,114,226,174,216,131,216,190,199, 51,207, 60,131, 63,250,
+227, 63,134,206,243,253, 13,200,232,  2,  0,160,141,  9, 46, 68,137,239, 75, 50, 77, 50,156, 42,225,191,165,127, 15, 31,227,223,
+161, 19, 49,242,223, 34, 56,243, 38,168,136, 89,101, 43,141,171,106,242,132,166,226,129, 18,240,152, 51,237, 56,144, 75, 56,202,
+207,109,180,198,108, 62, 71,223,247,  3, 45,190, 88,160,156, 78,161,180,198,114,185, 28,242,  4,250,123, 25,136,229, 73,208,  4,
+ 99,255,224,249,231,241,218,107,175,141,248,176,160,138, 96,107,103,235,144,148,  3, 91,129, 60,194,217, 30,152, 77,159,146,189,
+ 19, 16,185,165, 24, 17,141,174, 67, 22, 37,173, 90,146,128,241,145,151,150, 31,111,146,220, 12, 43,  8,181, 80,165,163, 83, 34,
+ 51, 94,  6, 35,222,123, 56,186, 15, 38,239,182,155, 77, 72,214,202,178, 68,223,247,168,234, 26, 69,158,  7, 55,206,245,236,172,
+235,208, 57,135,178, 44,241,242, 75, 47,193, 89,139,239,127,255,251,193, 61, 42,208,131, 26, 99,194, 81,149, 55,109,173, 13,214,
+ 58, 90,124, 97,217, 18,117,248,120, 65,229,251,190, 15,186,191, 89,  7, 16,145,116, 29, 18, 81,197,185,200, 94, 18, 38,  3,179,
+176, 74, 25,180,115, 50, 58, 54, 50,118, 35, 50, 96, 51,147, 90,237,118,128,247,176,125, 31,114,130,158,104,139, 60,207, 81,144,
+123,153, 16,117,195, 44, 48,127,174,148,194,185,115,231,240,234,171,175,226,197, 23, 95, 20,  6, 67,255,144,143,184, 33,180, 50,
+ 98, 44, 19, 22, 31, 47,122,204,116,198, 27, 19,163,158, 56,136,199,144,213,138, 69,214, 74,  5,190, 62,150,160,200, 35, 31,223,
+ 71, 12, 85,131,175,167,  0, 25,200, 57, 66, 50,210,141,133,  4,144,138, 66,124, 42,202,201,100, 88,232,201,  4,198, 24,228,121,
+142,166,105, 80,148, 37,234,186,198,106,185, 68,158,231,  1,218, 22,101, 57, 32, 76, 65,217,191,242,202, 43,120,228,145, 71,216,
+149, 15,190,154,143, 78,236, 78,172,181,193,234, 51,177,248, 50,147, 77, 45,124, 42, 48, 38, 93, 81,180,  9,  1,182,146,213, 27,
+ 99,130,144,171, 20, 73,143, 68, 71,108,189, 41, 42, 67,210, 40,206,185, 16,216,  3,172,165,140,182,160, 69, 27,197,  0, 99, 48,
+153, 78, 81,148, 37, 76, 81, 12,240,211, 90,204,230,115, 76,166, 83,104,173,177, 94,175, 81,215, 53,118,219, 45,142,142,142,194,
+243, 44,142,142,134,196, 78, 84,  0, 45, 81, 34, 69, 81,224,229,171, 87,161,180,134,226,165,208, 34,121,226, 55, 46,223,177,107,
+ 10,  8, 72, 66, 60, 97,141,113, 54,187,151, 20, 69,112, 51,222,  8,127,192,189,177,159,150, 22,202, 11, 47,177,191, 20,  1,240,
+230, 72,  3,144,238,197,210,207,140, 49,131,239,142, 98,128, 68, 68,206, 57, 56,162,182, 79, 79, 78,144,231,121, 64, 64, 77,219,
+222,223,104,165,240,208,165, 75,104,219, 22,155,245,122,160,179,  5,146,155, 76, 38,152, 77,167,152, 78,167,184,112,254, 60, 62,
+243,153,207, 64,  5,151, 34,162,115,202,189,248,216,125, 36,104,135, 20, 85,145, 60,  5,188,192,156,128, 37,114, 10, 31,113, 68,
+188,128, 57,225,244,142,202,142,114,225,101,205, 89,  6,228,120,241, 89,  4,198, 11,220,245,125, 72,168,164,  2,143, 93,145,117,
+ 14, 74,107,204, 72,159,180, 89,175,  3,220, 60, 90, 44,134,210,105, 81,192,246, 61,218,166,193,100, 54, 27,174,217,117,152,204,
+102, 33,111,240,228, 90, 89,253,177,152,207, 15,171,163, 25, 10,202, 27, 98,182, 16,145,165,159, 85, 28, 63, 35,  9,216,183,252,
+ 67,247, 34,138,250,146,147,231,100, 43,  6,  8,169, 56, 36, 17,157, 44, 28,201,224, 44,197,  5, 18,  0,148, 69, 17,170,100,198,
+ 24,172, 86, 43,212,117,141,201,116,138,249,124, 14,219,247,216,108, 54,208, 68, 77,192,123, 44, 22, 11, 84, 85,133,122,183,187,
+ 15,169, 41,195,103, 99, 48,198,220,223,128, 81,150, 42,248,115,149, 58,  9,  7, 22, 54, 46,200,164, 24,208, 56, 14,248, 68,133,
+ 12,226, 84, 72, 84,195,  6, 97,164,139,161,251,180, 66,101,145,188,158,184,183,156, 54,144, 13,136,209,144, 44,234, 51, 97,199,
+155, 98,  5,162,241,  4, 69,  1,192, 20,  5,166,211,233, 80,212,161, 83, 85, 87, 21,156,181,152, 83, 37,209, 57,135,178, 40, 48,
+153, 76, 80,150, 37,114,170,234,121,112,127, 64,194, 69,  4,122,129,240,174,181,118,175, 40,157, 90,240, 36,250, 73, 36, 97,136,
+ 22,122, 47,120, 71,155,144, 58,101,172,148,144,  5,248,179, 72, 57, 41, 32, 96,229,134,230,228,140, 92, 25,187, 34,182,246,212,
+ 41, 41,203,114,168, 89, 55, 13,142, 22, 11, 28, 29, 29, 97,179,217, 12, 18, 23,165, 48,161, 18,170, 33, 55,197,155, 39, 11, 84,
+ 76,183, 27,196,148,177,120, 72,182, 58, 38,168,156,115, 67, 96, 57, 64, 46, 73, 42, 57,165,126, 56,116, 18,178, 68, 57,241,227,
+ 54,149, 23,107, 84, 44,250,152,205,226,123,147,226, 49,  9,101,165, 20,222, 11,177, 88,128,168,121, 14, 77, 39,162,109, 91, 44,
+ 79, 78,194, 38, 77,167, 83,116,125, 15,103, 45, 12,233, 90,251,190, 71, 78,238,139,107, 12,147,201,  4,206,251, 16,196, 21,179,
+138,225, 61,162,  3, 82,  5, 15, 31, 45,120,106, 19,246,172, 93, 34,161, 67,137, 89,164,112,115,194,237,201,148,223, 69, 52,134,
+ 22,185,139, 36,227,246, 42,111,130, 87,146,137, 22,187, 28, 94,252,160,206,163, 13,225,211, 16,199,141,245,122,141,147,123,247,
+ 80, 78, 38, 56, 62, 62,134,179, 22,155,205,  6,125,215,193,  8,101, 69, 57,153, 12, 65,154,174, 23,128, 68,215, 65, 33,  1,253,
+100,246, 40, 57, 32, 62, 54,103,249,217,189,120,146,250, 24, 37,101,238,128,202, 77,110,188,132,115,133,168,  7,200, 83,151,186,
+191, 44,170, 57,135,223, 37,106,187, 19,138,108,201,121, 41,165, 80,150,229,136, 41,182,214,162, 35,216, 57,153, 76,144, 41,133,
+187,119,239, 14,148,196,100, 18,146, 51,195, 37, 77,173,209,145, 52,134,121,173,166,105,  6, 24,107, 12,224,253,125, 24, 42,249,
+ 25,169, 84, 72, 21, 53,152,158,216,251,249, 33,173,140,116, 67, 18, 98,210,123,170,182,124,200,173,132,218,  2,163, 26, 82,209,
+ 85, 85,181, 39,222,149,174, 71,107, 29, 98,138,124,150, 44,203, 70,149, 48, 73, 71, 56,113, 58, 56, 54,228,100,217, 76,242,157,
+156,156, 96,181, 90, 97, 62,159,227,194,241,241,160, 73,173,235,251, 53, 11,239,135,216,153,101,152,206,102, 40,138, 98,168,180,
+145, 43, 50,114, 97,108, 92,120,161,155,222, 17, 49,181,231, 43,197,105,201, 82,137, 86,204,144,198,191,155,162, 57, 14, 72,207,
+195, 38,  9, 52,196,190, 56,203, 50,148,137, 26,177, 92,108,201,238,202,197,231, 24,199,207, 36,105, 25, 25,  3,216,215, 75,195,
+204,178, 12, 93,215,225,238,157, 59,120,248,225,135,199, 98,  1,231,144,211,198, 58,239,225,233,239,140, 49,104,182, 91, 56,231,
+ 80,215,181,128,161,226, 65,227,138, 23,223,164,132,161,214,218,225,194,241,226,127, 12,230,207, 82, 68,220, 25,180,197, 30,199,
+ 79,208,144, 51, 85,246,213, 92, 96,137,221, 97,138, 19,226, 86, 40, 22,  2,179,  8, 56,112,248, 66, 20, 16,171, 48,228,189, 24,
+ 99, 80, 78, 38, 88,173, 86,104,219, 22,147,201,  4, 71,231,206, 13, 39, 68,107, 52,117, 61, 64, 88,214, 29,  9,215,214,117, 29,
+202,162,184,223,164, 39,249,148, 56, 14,112,224, 83,  7,152,199, 36,245, 28, 23,102, 34,154,195,127, 76,226, 37, 73,183, 56, 31,
+144, 20, 68,219,182,129,117,116, 36,165,145,127, 31,171,239,228,  9,231,103, 27, 81, 14, 98,161,120,227,100,198, 45,101,244, 92,
+138,188,125,251, 54,238,221,189,139,163,163, 35,228,121,142,106,183,131, 39,133,181,230,120,165, 84,112,209, 92,176,209,198, 12,
+ 27,224, 36,121, 37,234,182, 25, 45, 24, 87,167, 98,110,197, 37,178, 80, 28, 42,208,124, 12,130, 58,132,166,226,160, 26, 47, 68,
+ 31, 89, 23,243, 70, 41, 88, 43, 23, 78,178,159,242,122,114,179,249,251, 49, 10,228,255, 83,150, 37,142,142,142,176, 94,173,176,
+ 92, 46,241, 24, 81, 18, 69, 89, 14, 25, 58,  9,203, 10,206,  5,178, 12, 93,211, 64, 41,133,182,235, 80, 87, 21,148, 39,127,197,
+ 21,160,192,  9, 37, 84,199,142, 45, 46,166,126, 15, 20, 92, 66, 16,162,119, 31,159, 32, 81,204,207, 14,104, 70, 37, 10,139,121,
+ 39, 99, 12, 12,249,126,185, 81, 62,186, 70,124, 93, 67,156, 18, 47,178,204,124,229,166,132,250, 46,209,206,129,132,227, 32, 76,
+144,114,177, 88,224,131, 15, 62,192,102,187, 69,145,231,152,207,231,208,198,160,239, 58,116, 84, 62,117,180, 30,225,228,101, 25,
+202,201,  4,134,143, 47, 43, 22,120, 51, 92,148, 84, 73,218, 90, 30, 99, 21, 87,185, 18,150,183, 39,212, 74, 48,160, 62,194,252,
+242,123, 82,101,237,163,250,174,166, 56,208,146, 66,129, 19,156,164,  4, 68,168, 61,152,144,235,163, 90, 64,236, 94,227, 46,204,
+174,239,209, 19,180,228,205, 45, 39, 19, 44,151, 75,220,187,115,  7,231,207,157, 27,130, 56,197, 22,254, 60, 47,138,128,176, 90,
+170, 31,228,198,192,120, 74,146, 88,135,153,114,  3, 28,136,186,174, 11, 13,119,225,253,  0,247, 63,242,223, 31,179,224, 72,180,
+ 48, 73, 12, 31,208, 11,113, 63,177,251,146,106,234, 84,117, 46,174,160,245, 36,127,103,186, 61,150,219,199, 20,119,208, 19,137,
+ 56, 25, 19,119,143, 60,250, 40,110,221,186,133,255,240, 59,191,131, 60,207, 49,157,205,194, 41,208, 81, 91,149, 22,140,174,145,
+ 62,109,100,185,194,255,115,214,  6,  0, 59,194,219,113,131, 92,172,  9,197, 33,138, 57,177,224, 42,209,184, 17,159,136,184,  3,
+ 82,234,254, 51,165, 70,253,  4,135,228,239,161, 51,134,122,199, 24,239,199, 89,116,252,191, 66,193,134,172,152, 99, 15,255, 77,
+211, 52, 88, 44, 22,120,255,151,191,196,127,250,253,223,199,241,133, 11, 35, 69,133,228,161, 24,113,221,231,130,168, 24, 35, 89,
+ 78, 25,148,229,162,177, 27, 96, 81, 43,136,172, 11, 15,113,198,130,199,139,157,  9,152,155, 90,236, 67, 27, 32, 85,212, 44, 87,
+ 47,242, 28, 59,234,255,146,192, 64, 26, 85,104, 87,165, 77,154,205,102, 48,132,238,228,  6,201, 66, 79, 74, 73,205,139,202,240,
+213,210, 61, 77, 72, 35,244,222, 47,126,129,201, 51,207,220, 87, 61,144, 75,148, 48,190,107,219, 80, 25, 51,153, 40,142,196, 90,
+ 77,169,112, 46,104,247,249, 98,206, 57, 40,194,206,129, 51, 74,248,254,176,224,  9,247,227, 18,139,140,132,208, 74,  6,217, 88,
+  1, 97,140, 65, 81,150, 67, 79,153,176, 54,249, 55,142, 92, 84,219,182,208, 74,225,104,177,  8,113, 32,134,150,210, 35,196,174,
+136,117, 62,242,247,180,168, 45, 88,231,240,238,187,239,226,137, 79,125, 10, 57, 41, 36,156,247,128,240, 22,124, 10,114, 18,191,
+153, 61,205, 62, 91,126,148,177, 74, 78, 62, 21,148, 83, 46,200, 71,110,104,143,212, 59,227,116,140,126, 47,225, 86,164,236,144,
+147, 40,153,165,202, 92,161, 23, 69, 24, 54, 32,174,168,241,194,103, 66, 62, 25,187,174, 17,157,109, 12, 50,239,161, 68,166,204,
+235,178,152,207,177, 90,173,198,144, 85, 92, 87, 54,186, 56,242, 38,102, 68, 31,167,168,  1,162, 40,194,142, 43, 21, 84,  4,163,
+230,139,196, 73, 58, 52, 88, 35,213, 97, 19,147,112, 92, 89,114,145, 79,142,185,253, 92,244, 14, 75,221,191,188,127,166, 45,152,
+120,235,  5,197, 32, 75,149,177,223,143, 51,234, 80, 21,164,191,239,186, 14, 77,211,160,105,154, 16,212, 79,150,203,144,224,177,
+120, 87,214, 21,248, 36,122, 42, 12,153, 84,  6,155, 69,  5,114, 45, 52, 57, 82, 27, 31,138,206,146,204, 59, 64, 45, 28, 90,112,
+217,221, 46,239,197, 31,112,101,210,138, 36, 69, 13,  0,109,211, 12,165,194,201,228,254,105, 98, 45, 41,185, 14, 41,187,148,126,
+ 61,238, 49,142, 79,162,244,255,177,122,155, 81,207,209,209, 17,250, 15, 62, 64, 83,215,161,227, 50,206,101,164,235,180, 28,132,
+ 71, 42,  4,153, 92, 69,228, 26, 31, 85, 57,116, 67,138,159, 14,185, 22, 28,192,250,201, 77,226,251,144, 10,140,  3, 39, 71, 42,
+159,165,133,199, 56, 62, 14,172,103,125, 95,102,220,123,201,160,115, 48,121,126, 63, 87, 34,235,230,161, 34, 69, 81,192, 59,135,
+ 15, 63,252, 16,231, 47, 92, 24,209,229,220, 80, 50,146, 87,134, 13, 72, 80,  5, 35,249,160, 56,158,220, 65,210,117,221, 72,174,
+120, 22, 71,116, 40, 43,141, 33,104,170, 40,147,186, 70,140,215, 89,  4, 85,215,117,128,206,177,245,202, 19,196,165, 65, 43, 71,
+ 38, 68,150, 30,171, 45, 70,136, 42,203,224,100,  7, 15,117,221,111,169,177,251,218,181,107,120,242,169,167, 70, 48,151, 79, 67,
+181,219,161, 33,165,117, 81,150,247,201, 56,159,232, 78,137, 31, 66, 50,145, 93,223, 67, 19, 22,102,153,246, 89, 45,168,169, 90,
+109, 60,128, 73,138,189, 92,130,142,136,143,190,164,152, 21, 41,147,229,181, 36, 39, 31,199, 14,105,137, 49, 18,226,153, 67,113,
+126, 98,157, 11,254,159,107,209,252,222, 52, 13, 50,165, 48,155,207,113,235,214,173, 80, 46,141, 93,119,215,117, 65, 35,148,101,
+ 25,140, 79, 80,  6, 18,130, 58,241, 51, 14,118,121,158,163,109,219, 32, 99,148,141,124,177,111,151,232,232,172,138,215, 33, 42,
+ 34, 94, 56,230,105,226,241,  8, 69, 81,160,239,186, 97, 34, 10, 17, 94,210,144,120, 88, 71, 32,217, 36,161, 39,146, 58,173, 20,
+242,168,  1,208, 18, 32, 96,  8,202,198,200, 45,179,252,183,214, 90,108,214,107,220,254,232,163,209,224, 17, 94, 35,126, 30,110,
+ 32,183,214,194,100, 17, 93, 32,231, 56,248, 51,132,183, 93,215,193, 79, 38,201, 62,223, 67, 62, 53, 85,108, 65,164,162, 59, 43,
+ 35,150,238, 39,190, 78,128,151,130, 42,  1,117, 60, 74,216, 39,209,140, 76,236,228,233, 25,157, 56,225,158,117,158, 67,115, 25,
+149, 54,206, 90,139,150,144, 80, 85, 85,216,237,118,216,110, 54,232,218, 54,120,  6, 54, 28,107, 45,170,170, 66,219,182, 65,216,
+101, 82,130,172, 24, 13,113,207, 20, 39, 27,198, 24, 84,117, 61,238,255,194,253, 97,124,123,149,169,152,  9,149,138,  8,225, 91,
+ 15,117, 77,198,244, 64,223,247,131,178, 32,106,168,208, 90,135, 69, 97,171, 15,240, 79,148, 22, 57, 27,150,113, 33, 84,192,200,
+218, 37,157, 30,126,207,251, 80, 92, 97,119,210,118, 29,218,166, 25,180, 63,147,  9, 46, 28, 31,227,198,205,155,161,206, 44,103,
+ 87,180, 77,  3,109, 12,102,116, 95, 74,169,241,  6,248,216,250,152, 67, 23, 41,183,247,126,208, 82, 82,243,116,198, 52, 46,245,
+ 79, 37,229,138,169,158,  2, 81, 71,254, 56, 58,226, 80,153, 82,  6,114,206, 60,251,168,143,215,139,209,  7, 65,102, 40, 40,231,
+152, 82, 80, 66,166, 51,218,120, 25, 35,200,133,177,112,184,200,243,208,216,200,242,245, 15, 63,252, 16,199, 23, 47,142, 59,112,
+138,  2,166,239,131,166,200, 89, 59,176,161,158,118, 55,  5, 23, 67, 11,191, 96, 19,181,214, 80,100,109,140, 58,152,214,149,250,
+202, 84, 11,145, 44,222,251, 68,118,123,168, 56, 51, 98, 69,163,123,149,174,164, 35, 74,194,  8,245,155,204, 29,  0,160, 21,215,
+  9,106,139,  4,112,224,160, 27, 43, 51, 36,213,209,247, 61, 90, 49,157,171,105, 26,120,231,112,235,214, 45, 60,243,123,191, 55,
+122,182,190,109, 81, 85, 85, 72,220,192, 65, 56,149,132,200,250,111, 28,  0, 57,203, 99, 40,154, 42,130, 39,191, 78,212,129, 67,
+162, 37, 78,139, 63, 35, 72, 75, 50,142,239,131,181, 62, 60, 23, 78,206,130,144,127, 35,185,127, 41,191, 31, 37, 90,214,194, 69,
+153,126,220,155, 44, 93, 22,103,182, 93,215,161,170, 42, 84, 85,  5,  0, 88, 46,151,  1,  9,113,204,100,174, 42,232, 76,181, 30,
+130,112,150,104,184,  8, 86,168,212, 64, 38,209,226, 51,146, 48,198,132,169, 34,241, 28, 55,159,144, 29,142, 18, 44,105,233,226,
+  4,166,170, 95,103, 13,  4,137,169,137, 64, 15,183,109,208,101,114,192,147,194, 94, 69, 49, 65,142, 55,235, 73,205,236, 19,160,
+ 96,143,144,163,133,103,  5,116,136,  5,228, 90,  0, 96,183,219,  5, 99,181,148,116,113,214, 94,215, 53,106, 10,220,  6,114,192,
+197, 33, 26, 88,164,242,124, 81, 46, 62,199,110, 32, 38,157, 70, 13, 29,  9,154, 34, 86, 50, 28,170, 13,140,240,184, 64, 48, 28,
+236,248,235, 78, 44,196,174,170, 70, 67, 96, 99,215,193, 69, 28,110,178, 54,220,172,205,255, 87,248,252,216, 75,132, 46, 24, 99,
+  6,139,110, 26,104,165, 80, 85, 21,238,221,187,135,205,118, 59,140,101, 35,218,158, 71, 25, 44,151, 75,236,170,106,168, 19,100,
+217, 16,  3, 36, 39, 62,202, 62,197, 64,189,216,205,140,228,125, 20,248,242, 60, 15, 69,253, 20, 17,151,154,148, 24, 99,252,179,
+ 20,114, 50, 75,149,115, 65,165,206,  7,  0,214,171,213,168,173, 40,238,176,148,195,252,130,242,193,185, 17,207,115, 72,161, 33,
+239, 37, 19, 94,161,109,219,  1,130,110,183, 33, 64,243,243, 54,117,141,213,106,133,211,211,211, 97, 38, 42, 53,117, 59,231, 96,
+ 88, 19,106, 83,202,231,104,113,184,154,196,197,232,140, 38,224, 26, 99,144,115,122, 79,169,126, 38, 10, 59,135, 84,  5,114,254,
+ 68,204, 66,166, 80, 79,120,120,177, 25, 13, 85,182,164, 74,186,109, 91,204,154,  6,115,154,123, 17, 10,239,236, 58,200,141,142,
+148,207, 89,  6, 37, 79,  0, 97,253, 61,  8, 76,168,176,237,186,161, 48, 67, 16,157,209,215,116, 58,133,202,178,209,224,191,134,
+ 96,234,185,115,231,208,118, 29,182,155, 13, 60,157, 86,195,205,  3, 18, 53, 72,109,103, 70, 15, 44,131, 72,128,127,162,237, 83,
+182,129,198,104, 37, 37, 57,116,  9, 25, 99,138,157, 60, 36,212, 98,203,231,222, 49,214,247, 79,167, 83, 84,116,196,251,190, 71,
+ 79,238,169,161,  5,145, 67, 58,226, 96, 45,179, 94, 47, 44, 93,198,  9, 43, 50,102, 93,150, 40,200, 61,183,212, 31,160,133,218,
+ 66,150, 79,101,207,242,108, 54,195,116, 58, 29, 88, 89,151,168,127,166, 70,199,112,242,163,  4, 21,192,124,183,244,197,204,121,
+200, 38,185,184, 74, 21,187,186, 56,144,230,162, 91, 63, 62, 33,222,123,100,162,200, 18, 55,228,149,147,  9,106,202, 74,243,162,
+  8,147,216, 75,146,  9, 90, 49,111, 66,142,196, 57,132,245, 33,122,232,242, 60, 15,149,193,160,172,238,186,161,217,142,202,180,
+ 70,107, 76, 72, 45,119,243,230, 77, 92,190,124, 57,244, 19,179, 27, 83, 74, 97,181, 90, 81, 16,142,230, 56, 28,122,240,216, 63,
+243,  6,236,104,214,154, 34,157,166, 84,154,197, 11, 61,154, 57, 17,181,154, 30,146, 35,198,138,181,152,195,145,115,126,120,224,
+171,119, 14, 29,249,232,197, 98, 17,166,162,240,201,130,208,185,118,125, 31,178,219,152,140,211,137, 33, 32, 18,140, 72,151,215,
+182, 45,170,186,198,233,106, 53,140,177,161, 38, 14, 83, 20, 56, 71, 82, 21,134,171,203,229, 18,119,239,222,189, 79, 71,103,130,
+110,149, 92,121, 44,247,102,  9,139, 76, 76, 60,249, 85,173, 53,244, 25, 52,115,236,223, 15,113,239,113,160,142,121,168,184,101,
+ 41,110,228, 54,132,208,118,187,221,125,242, 75,184, 79,166, 36,100, 37,207, 71, 19,192, 98,191, 31,244, 61,226, 99,252, 51,174,
+ 22,206,166, 83,180, 77,131, 13,117,203, 24,173,209, 91, 27,166, 50,158,158,158, 98,181, 90, 13,227,119,138,130,116, 65,137,102,
+231, 94,  8,139,226,214,211,184, 27,134, 79,  0, 79, 52, 60,212, 47, 48,154,173, 35,160,175, 60,154,103,149, 49,189,247,208,228,
+ 71,157,184,159, 82,184,  5,  9, 26,154,186, 30, 70, 21, 19,111,197, 99,243, 57, 65,146, 42,235, 56, 33, 11, 68, 28,183,226,138,
+210,226,168,154, 70,110,136,131,112,215,117,129,202,168,118, 59,244,214, 98,117,122,138,187,119,239,162,170,170,209,240, 39,  0,
+ 48,177,168, 41,142,  7,169,252, 32,158, 86, 37,253,187,236,170,145,200, 74,102,159,169,215,  2, 72,  9,114,247,180, 64, 66,197,
+ 16,183, 20,197,243,133,186,174,195,122,189,198,226,232,  8,206,185, 16, 87,164, 27,100, 96, 97, 69,112,149, 60,146,146,185,144,
+ 82,  1, 21, 73, 57, 35, 67, 80,102, 66,119,187, 29, 90,106,194,240,222,163,169,170,  1,251,239,118,  3,253,192, 11, 79,109,171,
+134,103,107, 86, 85, 53,170, 36,237,233,242, 19, 83,173,138, 60, 15, 29,127,220,255, 42, 45,112,111,100,101,170, 67, 62, 66, 62,
+ 54,130,163,146,204,138, 55, 48, 12,141, 37,183, 35, 55,191,216,110,  3, 53,205, 57,129,108,194,147, 61, 16, 78, 36,115, 49,239,
+100,  5, 76,239, 89, 19, 36,160,167,167, 56, 18, 42,113,194,149, 43,165,176,221,110,177, 60, 61, 69, 79,241,130, 65,202,108, 54,
+195, 29,  0,134,199,206,112,144,136, 27,216,226,114, 99, 56,150,212,104,198, 68,156, 21,115,255, 83,243,219, 82,197,239,100, 91,
+ 83,162,150,156,211, 32, 17,185,153,114,100,129,142, 38,232, 50, 49,198,247, 50,165, 70,105,134,162,220, 25,207,227,102, 92, 20,
+216,153, 29,117, 18, 98, 83,188, 40,138,  2, 37, 25, 28,215,  4,154,166, 65, 77,133, 22,166,237, 37, 34,156, 77,167, 88,139, 17,
+104,114,  8,136, 97, 30,166,166,155,145, 74,  3, 45,146,171,152,254,149, 11,196,101, 74,105, 57, 49,172,149,110,202,201,169,234,
+137, 18,165, 84, 39,247,180, 24,135,200,185,  0, 93, 69,230,217, 19,223,239,196,160,214,158,104, 96, 54, 34,118, 33,150, 78, 68,
+ 75, 42,230, 64,222, 81,  0,149, 30,129, 45,158,239,131, 93, 55,187,177,134, 42, 93, 28, 23, 23,139,  5,154,166, 25, 32,103,219,
+142,158,183, 38,137,167,201, 34,157,191,148,242,201,241, 91, 49, 38,150,141,211,220,115,107,157,131,141,212,105,241, 34,203,210,
+165, 75,100,224,136,168,241,148, 80, 86, 14,214, 11, 83, 94, 40, 39,225,124,132, 19, 29,231, 28,118, 84,133,226,134, 10,182,218,
+174,239,  7,164, 98, 76, 24, 16, 46, 27,181, 37,241, 22, 98, 16,137,186,156,152,184,107, 73, 49,199,243,172,229,218,221,188,121,
+115,232,134,164,252,198,121,143,135, 46, 94, 28, 10,248,222,195, 88,145,112,100,162,  1, 46,158, 40, 37,221,  4, 19, 81, 33, 23,
+216,237,  6, 58, 66,140, 56,139,149,205,161,199, 76, 10,186,162, 65, 73, 41,169, 74,170,211, 61,116,184, 16, 58,145,253,107,252,
+ 55, 21,229, 39,211,233, 20,117, 85, 13,155, 50,155,161,164, 97,124, 44, 19,  9, 98, 45,242,233,188,169, 41,151,169,178, 12,208,
+ 26, 69,150,  1,162,  9,187,110, 26,212, 44,117,167,198, 12,118,207, 60,131,154,217, 80,103, 45,214,155, 13, 86, 12, 83,229,172,
+184, 84,159,173,117, 14,153, 88, 32, 89,233, 79, 77,175,141, 19, 23, 89, 73,219, 75,232, 68, 16,  5,171,211, 18,101, 72,159, 16,
+208,  6, 20, 70,228, 22, 43, 29, 24,217,176, 75, 89,173,215,152, 76, 38,184,120,241, 98,200, 98, 59,145,120, 49,101, 33, 11,229,
+ 41,  5, 30,183, 24,197,131,101,123, 58, 13, 25, 53, 92,120,239,  3,236,237,186, 14, 91,  2,  3,114,192,121, 77, 53,135, 48,178,
+140,253,219,161,196, 72, 90,117, 30, 77, 84, 12, 13,208,162,254,170,196, 64,138, 34, 33,251,142,133,185,253,129,222,227, 84,151,
+140, 44,148,123,231,144, 69,136, 43, 52, 67, 83,137,210,146, 85,242,230,196,226,168, 64, 97,208, 96, 37, 38,207,100, 64,102,244,
+ 35,  3,243,136, 92,164,231,204,148, 66,181,219, 13,100,156,181, 88,158,158, 66,122, 24,118,199,125,223,135,154,136,225,116,156,
+253, 92,140,201,229,  6,104, 65,218,133, 14,114, 94,104,178, 66,153,170,167,134, 55, 73,168, 25,187,158,148,184, 75,139,137, 94,
+113, 60,104,187, 14,158, 94, 33,169,174,235,208, 14, 84, 85, 21, 86,171, 21, 54,155, 13,242, 60,199,165, 75,151, 48,159,207, 71,
+250,165,208,124, 40,220,140,156,148, 30,247,  7,199, 39, 53, 32, 25,154,170,213, 52, 13,118,187, 93, 64, 90,121, 81,  4, 84,196,
+ 11,239, 40,145,148,242,124,195, 71, 72,214,114, 83,178, 18,217, 42,100,157, 67, 30,213,129, 25,246,229,121, 30,220,128, 19,181,
+130, 67,139, 28,143, 68,142,171, 93,169, 19, 32,  5, 82,172, 81,229,216,210, 52, 13,150,203, 37, 78, 78, 78,208,117, 29, 46, 94,
+188, 56, 12, 93, 37, 40,106,133,134,167, 35, 14,135,221,149, 49,  6, 77,219,134,110,120,110,196, 75,161, 58, 70, 87, 46, 86,  0,
+138,211,188, 38, 94, 40, 12,152,141, 84,223,148,144,233, 32, 39,137,219,126, 98, 55,196, 62,212,  8,139,151,189,183,123,170,103,
+ 65, 87, 28, 74,232,112, 70,149, 44,165,170, 11,121,138,214,208, 98,180,152,115, 14,125,219, 34,163,225,120,109,219, 98,179,217,
+224,248,248, 24,115,122,117,167,160,140,176, 22, 53,189,156,149,148,184, 48,244,118,226, 36,  4,119, 41,220, 88, 72,196,200, 69,
+ 49, 28,237,173, 13, 52,132, 38, 68,228,  4, 64,224,156, 41, 52,197,132,177,149,  2, 47, 75,210, 73,106,230,181,214,152, 16,165,
+ 26,  6, 94,136,  5,110,154, 38, 28, 83, 62,  9,121,180,152,146, 74, 72,225,250, 67,172,169, 68, 97, 35, 53, 91,215,193,208,189,
+ 48, 85, 60,235,123,108,214,107, 44,151, 75, 84,117,141,123,247,238, 97, 58,157,134, 23, 99,144,167, 74,206,  2,226,225,123,117,
+ 93,135, 83,145,  2, 14,  1,189,113,114, 38, 80, 98,156, 72, 90,154, 17,225,  5, 69,195, 49,131, 73, 77, 99,173, 69,211,117,168,
+118, 59,100,212,190, 41,135, 99,243,  8,128,120,138,148, 28,214, 23, 72, 42, 57, 12, 67,104,244,229, 72,176, 67,228, 94,234, 53,
+  6,124,244,114, 38, 78, 36, 74, 74, 41, 24,106, 27,229, 69,109,154,  6,203,147, 19,172,214,107,220,190,125, 27, 77, 93,163, 41,
+ 75,172,215,235,144, 27,152,162,  0,  8,  5, 49,133,109,  8,159, 91,138, 11,204,221,239,197, 29, 81,168, 41,138,  2,104, 91, 52,
+ 20, 63,131, 52, 38,234,182, 12, 74,136,178, 12,192, 67,139,193,230,198,211,241,155, 76,167,123, 67,241,120, 40, 29,143,237,226,
+197,142,199,126,133,151,158,162,122,192, 89,242,148,184,  6, 28, 47,184,172, 64,133, 90, 52,161, 29, 67, 80,153,135,162,246,212,
+ 37,223, 25,131,150, 94, 29,239,206,157, 59,216, 85, 21,234,166, 65, 57,153,224,233,167,159,198,165,135, 31, 30, 93,191,205, 50,
+228,100, 88,204,224, 86, 85, 53,212, 13,120,146,138,128,164,204,  7,201,207, 57, 25, 11,191, 39, 74,152,153, 82,152,208,164, 21,
+103,109, 56,  5,108,253,204,157,193,123, 42, 73, 10,171,149, 40, 33,206,140,115,177,  0,241, 20, 90,153,213,198, 69,153,152,138,
+ 24,189, 40, 67,162, 22,124,232,149, 50, 70, 42,102, 81,171,104,182, 91,108, 54, 27,236,126,171,177,119,  0,  0,  2,206, 73, 68,
+ 65, 84,118, 59,228,121,142, 25,128,106,183,195,148, 70,200, 72,132,199,125,190,146,130,150,180,  2, 15,212,107,232,197,127,216,
+247, 59, 41, 40,227, 53,145,129, 89,142,244,177, 22,179,217, 12, 43, 10,194,185,156, 44, 73,180,  8,195, 83,211,117, 29, 26, 78,
+ 92, 68,237,210,123, 31, 38, 99,121,162,115,195, 28,207,104,248,133,161,105, 80,188, 73,129,150, 16,173, 64, 41, 69, 68,220,123,
+155,137,121,112,161,205,147, 11,222,252,114, 87, 81,128,102, 56,185, 88, 44, 70,254, 27,192,240,170,123, 98,182,  4,128,176,113,
+210,184, 24,  5,  5,185,137, 40,164, 56, 81, 27,224,207,101,125, 92,146,117,153,112,171, 53, 21,226, 83,221, 65,124,221,193,  5,
+ 17,127, 35, 19, 12, 69, 11, 33,155,203,100,191,112,140,203, 25, 31, 55,162, 90,212, 11,148, 32, 37,126,178,217,205,104,141, 76,
+136,  1,248,232, 59, 33,131, 73,141, 39,230,205,110,  9,245,116,109,139, 83,122,169, 17, 69, 10, 57, 69, 90,125,153,179, 56, 42,
+158,112,220,200,148, 10, 35,229,249,101,170, 88, 11,203,229, 67,153,187,184,232,217,246, 52,174,194, 32,184,198,192,181,228, 76,
+180,114, 57, 58, 81, 25, 48, 52,233,105, 10,104,  0,  6, 13, 60,177,126,124, 51, 74,142,174,164, 28, 64,186, 25,249, 66,155,124,
+131,187,170, 66, 71, 86,176,247,138, 71, 52, 67, 39, 12,  1, 20, 15, 16,203, 87,226,124, 36,188,200, 27, 33,150,144,132,209, 98,
+201,226, 74, 93, 85, 88,158,156,132,105,133,172, 96,227,190,134,150,192,  7, 23,108,182,219,237,208,110,196,197, 22, 97, 12, 46,
+114, 53,146,154, 72, 17,137, 18,150, 50,114, 98,113,150,117, 46,240, 96, 33, 19,102, 77,165,124,117, 33, 14, 80,101, 89, 98, 50,
+153,132,  1,213,169, 49,241,178,148,201,242,188,188, 44, 71,163,123,101, 33, 91, 74,202,195, 56, 74, 17, 99,152, 70,144,245, 87,
+230,107,120,209, 55,155,205,200, 18,173,152,232,251,232,163,143,226,242,229,203,152,209, 75,225, 90,231,  0,122,105,196,160,164,
+163,211,204, 19,208,121,174,167, 87,106,152,243,198, 69,123,218,144,150,105,110, 97, 48,225,100, 18, 49,168, 34, 96,161,201,224,
+216, 21,247, 17, 41,105,186,174,195, 71, 31,125,116, 95,116,171,245,253, 57, 65,121, 14, 80,225,165, 44,138, 33,251,229,128,196,
+ 92, 12,249, 75,134,109, 85, 85, 13, 20, 65,228,171,227,217,211, 18, 59,143,116, 68,209, 76, 33,239,253,160,191,140, 40,226, 94,
+  8,104,229,171, 44, 49, 50, 89,204,231,120,255,253,247, 67,158,192,244,181, 38,151,215, 81,198,203,226,179,166,174, 67,241,158,
+101, 36, 77,211,160, 37, 94,200, 37, 12,110,143, 32,228, 87,103,162,181,104,154, 38, 12,238,246,228,254, 60,185,160,170,174,  7,
+ 20, 84,148, 37, 86,171,213,240,178, 75, 50,173,150,252, 63, 89,167,162, 76, 81,186, 19,185,192, 76, 90,181,109, 59,200,252,132,
+164, 59,140, 50, 16,175,178, 33,199,  9,164, 50,229, 84,214,204,110,145,255,215,150,168,240,176,168,125,143,140, 90, 86, 89,168,
+165,  8, 20,100, 81, 39, 13,191,122,119, 71,214, 45,135,175, 42,238,135, 38, 35,203,164, 98, 46,158,125, 23,189, 46, 50,207, 34,
+109,154, 38,232,146,156, 76,112,133,225,253, 31, 32,  1, 67,246, 69,185,191,176,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+  0};
+
index c725808ec34d6f24957272926374ce6b36ceb354..9b20553e0cc08d3489393d304aa05cdc5aa6ed4b 100644 (file)
@@ -69,6 +69,9 @@ extern char datatoc_blur_png[];
 extern int datatoc_clay_png_size;
 extern char datatoc_clay_png[];
 
+extern int datatoc_claystrips_png_size;
+extern char datatoc_claystrips_png[];
+
 extern int datatoc_clone_png_size;
 extern char datatoc_clone_png[];
 
index a94623eaa3d2856b52fb8b0b11d4609952f8293a..c1fa45a10a130fa26fcce334ced07494f01262b9 100644 (file)
@@ -964,6 +964,7 @@ DEF_ICON(BRUSH_ADD)
 DEF_ICON(BRUSH_BLOB)
 DEF_ICON(BRUSH_BLUR)
 DEF_ICON(BRUSH_CLAY)
+DEF_ICON(BRUSH_CLAY_STRIPS)
 DEF_ICON(BRUSH_CLONE)
 DEF_ICON(BRUSH_CREASE)
 DEF_ICON(BRUSH_DARKEN)
index 552d5b0d22102bde5c3f791804d14c642c3d8814..403df8acbeede579b99135825ed8f7d08dabce9b 100644 (file)
@@ -476,6 +476,7 @@ static void init_brush_icons(void)
        INIT_BRUSH_ICON(ICON_BRUSH_BLOB, blob);
        INIT_BRUSH_ICON(ICON_BRUSH_BLUR, blur);
        INIT_BRUSH_ICON(ICON_BRUSH_CLAY, clay);
+       INIT_BRUSH_ICON(ICON_BRUSH_CLAY_STRIPS, claystrips);
        INIT_BRUSH_ICON(ICON_BRUSH_CLONE, clone);
        INIT_BRUSH_ICON(ICON_BRUSH_CREASE, crease);
        INIT_BRUSH_ICON(ICON_BRUSH_DARKEN, darken);
index 9909c8b43021a834d5b47347937b1aacc7fb75bb..968116924f4b3ec40ff7f19a4463cc15fe84c5c9 100644 (file)
@@ -2931,6 +2931,10 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
 {
        SculptSession *ss = ob->sculpt;
        StrokeCache *cache = ss->cache;
+       float mouse[2] = {
+               cache->mouse[0] - cache->vc->ar->winrct.xmin,
+               cache->mouse[1] - cache->vc->ar->winrct.ymin
+       };
        int tool = brush->sculpt_tool;
 
        if(ELEM5(tool,
@@ -2948,9 +2952,9 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
 
                /* compute 3d coordinate at same z from original location + mouse */
                mul_v3_m4v3(loc, ob->obmat, cache->orig_grab_location);
-               initgrabz(cache->vc->rv3d, loc[0], loc[1], loc[2]);
+               initgrabz(cache->vc->rv3d, loc[0], loc[1], loc[2]);
 
-               ED_view3d_win_to_delta(cache->vc->ar, cache->mouse, grab_location);
+               ED_view3d_win_to_3d(cache->vc->ar, loc, mouse, grab_location);
 
                /* compute delta to move verts by */
                if(!cache->first_time) {
@@ -2964,12 +2968,17 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
                                break;
                        case SCULPT_TOOL_CLAY_STRIPS:
                        case SCULPT_TOOL_NUDGE:
-                               sub_v3_v3v3(cache->grab_delta, grab_location, cache->old_grab_location);
-                               invert_m4_m4(imat, ob->obmat);
-                               mul_mat3_m4_v3(imat, cache->grab_delta);
-                               break;
                        case SCULPT_TOOL_SNAKE_HOOK:
-                               sub_v3_v3v3(cache->grab_delta, grab_location, cache->old_grab_location);
+                               if(brush->flag & BRUSH_ANCHORED) {
+                                       float orig[3];
+                                       mul_v3_m4v3(orig, ob->obmat, cache->orig_grab_location);
+                                       sub_v3_v3v3(cache->grab_delta, grab_location, orig);
+                               }
+                               else {
+                                       sub_v3_v3v3(cache->grab_delta, grab_location,
+                                                               cache->old_grab_location);
+                               }
+                               
                                invert_m4_m4(imat, ob->obmat);
                                mul_mat3_m4_v3(imat, cache->grab_delta);
                                break;
index a9f2eb40e195dbd074642228ca4f83d07e708480..4649ae3f87d8ac578830df76017e1eceda984aa6 100644 (file)
@@ -51,6 +51,7 @@ static EnumPropertyItem prop_direction_items[] = {
 EnumPropertyItem brush_sculpt_tool_items[] = {
        {SCULPT_TOOL_BLOB, "BLOB", ICON_BRUSH_BLOB, "Blob", ""},
        {SCULPT_TOOL_CLAY, "CLAY", ICON_BRUSH_CLAY, "Clay", ""},
+       {SCULPT_TOOL_CLAY_STRIPS, "CLAY_STRIPS", ICON_BRUSH_CLAY_STRIPS, "Clay Strips", ""},
        {SCULPT_TOOL_CREASE, "CREASE",ICON_BRUSH_CREASE, "Crease", ""},
        {SCULPT_TOOL_DRAW, "DRAW", ICON_BRUSH_SCULPT_DRAW, "Draw", ""},
        {SCULPT_TOOL_FILL, "FILL", ICON_BRUSH_FILL, "Fill", ""},