From 1b674d70a39ec655aee694feece56414afc57548 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Fri, 21 Dec 2018 11:26:58 +0100 Subject: [PATCH 01/94] GP: Cleanup weird thickness scale This code used old factor, but now this only adds complexity and makes code hard to understand. --- source/blender/blenkernel/intern/gpencil.c | 2 +- .../editors/gpencil/gpencil_add_monkey.c | 72 +++++++++---------- .../editors/gpencil/gpencil_add_stroke.c | 2 +- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c index d0b7d433eb6c..9eb95f91c61a 100644 --- a/source/blender/blenkernel/intern/gpencil.c +++ b/source/blender/blenkernel/intern/gpencil.c @@ -472,7 +472,7 @@ bGPDstroke *BKE_gpencil_add_stroke(bGPDframe *gpf, int mat_idx, int totpoints, s /* allocate memory for a new stroke */ bGPDstroke *gps = MEM_callocN(sizeof(bGPDstroke), "gp_stroke"); - gps->thickness = thickness * 25; + gps->thickness = thickness; gps->inittime = 0; /* enable recalculation flag by default */ diff --git a/source/blender/editors/gpencil/gpencil_add_monkey.c b/source/blender/editors/gpencil/gpencil_add_monkey.c index 4bd4acfe8305..3d0f302d538d 100644 --- a/source/blender/editors/gpencil/gpencil_add_monkey.c +++ b/source/blender/editors/gpencil/gpencil_add_monkey.c @@ -1457,112 +1457,112 @@ void ED_gpencil_create_monkey(bContext *C, float mat[4][4]) bGPDframe *frameLines = BKE_gpencil_frame_addnew(Lines, cfra_eval); /* generate strokes */ - gps = BKE_gpencil_add_stroke(frameColor, color_Skin, 538, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin, 538, 75); BKE_gpencil_stroke_add_points(gps, data0, 538, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Eyes, 136, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Eyes, 136, 75); BKE_gpencil_stroke_add_points(gps, data1, 136, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin, 2, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin, 2, 75); BKE_gpencil_stroke_add_points(gps, data2, 2, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 1, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 1, 75); BKE_gpencil_stroke_add_points(gps, data3, 1, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 1, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 1, 75); BKE_gpencil_stroke_add_points(gps, data4, 1, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 48, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 48, 75); BKE_gpencil_stroke_add_points(gps, data5, 48, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 47, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 47, 75); BKE_gpencil_stroke_add_points(gps, data6, 47, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 162, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 162, 75); BKE_gpencil_stroke_add_points(gps, data7, 162, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 55, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 55, 75); BKE_gpencil_stroke_add_points(gps, data8, 55, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 70, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 70, 75); BKE_gpencil_stroke_add_points(gps, data9, 70, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 227, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 227, 75); BKE_gpencil_stroke_add_points(gps, data10, 227, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 1, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 1, 75); BKE_gpencil_stroke_add_points(gps, data11, 1, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 123, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 123, 75); BKE_gpencil_stroke_add_points(gps, data12, 123, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 125, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 125, 75); BKE_gpencil_stroke_add_points(gps, data13, 125, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 45, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 45, 75); BKE_gpencil_stroke_add_points(gps, data14, 45, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 44, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 44, 75); BKE_gpencil_stroke_add_points(gps, data15, 44, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 84, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 84, 75); BKE_gpencil_stroke_add_points(gps, data16, 84, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 56, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 56, 75); BKE_gpencil_stroke_add_points(gps, data17, 56, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 59, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 59, 75); BKE_gpencil_stroke_add_points(gps, data18, 59, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 100, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 100, 75); BKE_gpencil_stroke_add_points(gps, data19, 100, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Eyes, 136, 3); + gps = BKE_gpencil_add_stroke(frameColor, color_Eyes, 136, 75); BKE_gpencil_stroke_add_points(gps, data20, 136, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 353, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 353, 75); BKE_gpencil_stroke_add_points(gps, data21, 353, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 309, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 309, 75); BKE_gpencil_stroke_add_points(gps, data22, 309, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 209, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 209, 75); BKE_gpencil_stroke_add_points(gps, data23, 209, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 133, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 133, 75); BKE_gpencil_stroke_add_points(gps, data24, 133, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 389, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 389, 75); BKE_gpencil_stroke_add_points(gps, data25, 389, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 41, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 41, 75); BKE_gpencil_stroke_add_points(gps, data26, 41, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 77, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 77, 75); BKE_gpencil_stroke_add_points(gps, data27, 77, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 257, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 257, 75); BKE_gpencil_stroke_add_points(gps, data28, 257, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 205, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 205, 75); BKE_gpencil_stroke_add_points(gps, data29, 205, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 75); BKE_gpencil_stroke_add_points(gps, data30, 33, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 37, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 37, 75); BKE_gpencil_stroke_add_points(gps, data31, 37, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 201, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 201, 75); BKE_gpencil_stroke_add_points(gps, data32, 201, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 69, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 69, 75); BKE_gpencil_stroke_add_points(gps, data33, 69, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 57, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 57, 75); BKE_gpencil_stroke_add_points(gps, data34, 57, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 261, 3); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 261, 75); BKE_gpencil_stroke_add_points(gps, data35, 261, mat); /* update depsgraph */ diff --git a/source/blender/editors/gpencil/gpencil_add_stroke.c b/source/blender/editors/gpencil/gpencil_add_stroke.c index 69bb66edf413..330f7a69e098 100644 --- a/source/blender/editors/gpencil/gpencil_add_stroke.c +++ b/source/blender/editors/gpencil/gpencil_add_stroke.c @@ -247,7 +247,7 @@ void ED_gpencil_create_stroke(bContext *C, float mat[4][4]) UNUSED_VARS(frame_color); /* generate stroke */ - gps = BKE_gpencil_add_stroke(frame_lines, color_black, 175, 3); + gps = BKE_gpencil_add_stroke(frame_lines, color_black, 175, 75); BKE_gpencil_stroke_add_points(gps, data0, 175, mat); /* update depsgraph */ From 4f6b4ceb6cb070459e7d247d2ce02076a76494bb Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 21 Dec 2018 21:29:04 +1100 Subject: [PATCH 02/94] Correct orientation pie menu Missing from recent orientation update. --- release/scripts/startup/bl_ui/space_view3d.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 12ac36983597..46a57d2501e5 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -4130,7 +4130,7 @@ def draw(self, context): pie = layout.menu_pie() scene = context.scene - pie.prop(scene, "transform_orientation", expand=True) + pie.prop(scene.transform_orientation_slots[0], "type", expand=True) class VIEW3D_MT_snap_pie(Menu): From e72f989cf49132c94be139705baf78228bea5d7b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 20 Dec 2018 14:42:01 +0100 Subject: [PATCH 03/94] Update for moving master to blender2.7 branch. --- .gitmodules | 4 ++-- GNUmakefile | 5 +++-- build_files/buildbot/slave_pack.py | 8 ++++---- build_files/windows/update_sources.cmd | 8 ++++++-- release/scripts/addons | 2 +- release/scripts/addons_contrib | 2 +- source/tools | 2 +- 7 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2f52bfce372b..c74374cf8d3f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,12 +2,12 @@ path = release/scripts/addons url = ../blender-addons.git ignore = all - branch = master + branch = blender2.7 [submodule "release/scripts/addons_contrib"] path = release/scripts/addons_contrib url = ../blender-addons-contrib.git ignore = all - branch = master + branch = blender2.7 [submodule "release/datafiles/locale"] path = release/datafiles/locale url = ../blender-translations.git diff --git a/GNUmakefile b/GNUmakefile index 02e081e03df9..d31abe66f373 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -445,8 +445,9 @@ update: .FORCE fi git pull --rebase git submodule update --init --recursive - git submodule foreach git checkout master - git submodule foreach git pull --rebase origin master + # Use blender2.7 branch for submodules that have it. + git submodule foreach "git checkout blender2.7 || git checkout master" + git submodule foreach git pull --rebase origin # ----------------------------------------------------------------------------- diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py index a0b5e8c65171..27bebeb109ee 100644 --- a/build_files/buildbot/slave_pack.py +++ b/build_files/buildbot/slave_pack.py @@ -107,8 +107,8 @@ def create_tar_bz2(src, dest, package_name): if builder.endswith('vc2015'): platform += "-vc14" builderified_name = 'blender-{}-{}-{}'.format(blender_full_version, git_hash, platform) - # NOTE: Blender 2.8 is already respected by blender_full_version. - if branch != '' and branch != 'blender2.8': + # NOTE: Blender 2.7 is already respected by blender_full_version. + if branch != '' and branch != 'blender2.7': builderified_name = branch + "-" + builderified_name os.rename(result_file, "{}.zip".format(builderified_name)) @@ -174,8 +174,8 @@ def create_tar_bz2(src, dest, package_name): blender_hash, blender_glibc, blender_arch) - # NOTE: Blender 2.8 is already respected by blender_full_version. - if branch != '' and branch != 'blender2.8': + # NOTE: Blender 2.7 is already respected by blender_full_version. + if branch != '' and branch != 'blender2.7': package_name = branch + "-" + package_name upload_filename = package_name + ".tar.bz2" diff --git a/build_files/windows/update_sources.cmd b/build_files/windows/update_sources.cmd index 22d93fabb955..ef11909b93d0 100644 --- a/build_files/windows/update_sources.cmd +++ b/build_files/windows/update_sources.cmd @@ -11,6 +11,10 @@ if "%GIT%" == "" ( goto EOF ) "%GIT%" pull --rebase -"%GIT%" submodule foreach git pull --rebase origin master +"%GIT%" submodule update --init --recursive +rem Use blender2.7 branch for submodules that have it. +"%GIT%" submodule foreach "git checkout blender2.7 || git checkout master" +"%GIT%" submodule foreach git pull --rebase origin -:EOF \ No newline at end of file + +:EOF diff --git a/release/scripts/addons b/release/scripts/addons index 6c3a46dc113d..9cc2ad1eaf94 160000 --- a/release/scripts/addons +++ b/release/scripts/addons @@ -1 +1 @@ -Subproject commit 6c3a46dc113de870a03191e4c0685238b0823acd +Subproject commit 9cc2ad1eaf941d8ed3b5542a3d5cdfccec7ba60b diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib index 15b25a42783d..68a2d28b2443 160000 --- a/release/scripts/addons_contrib +++ b/release/scripts/addons_contrib @@ -1 +1 @@ -Subproject commit 15b25a42783d1e516b5298d70b582fae2559ae17 +Subproject commit 68a2d28b24430133946f21d7deede1312d181aaf diff --git a/source/tools b/source/tools index 11656ebaf7f9..2278dd8d6aea 160000 --- a/source/tools +++ b/source/tools @@ -1 +1 @@ -Subproject commit 11656ebaf7f912cdb1b5eb39c5d0a3b5d492c1aa +Subproject commit 2278dd8d6aea4d56632dee37196a5e341ce99283 From d6ca47a344a8382daf1fd7cdcaeb5b3bea541c0e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 21 Dec 2018 12:12:32 +0100 Subject: [PATCH 04/94] Update .arcconfig for moving master to blender2.7 branch. --- .arcconfig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.arcconfig b/.arcconfig index 8fc370a94ac8..e0debc32a26f 100644 --- a/.arcconfig +++ b/.arcconfig @@ -1,6 +1,7 @@ { "project_id" : "Blender", "conduit_uri" : "https://developer.blender.org/", - "git.default-relative-commit" : "origin/master", - "arc.land.update.default" : "rebase" + "git.default-relative-commit" : "origin/blender2.7", + "arc.land.update.default" : "rebase", + "arc.land.onto.default" : "blender2.7" } From c9df453ce70bdf36a4567f8a97b977c1f5e6dfd7 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 20 Dec 2018 14:45:55 +0100 Subject: [PATCH 05/94] Update for moving blender2.8 to master. --- .arcconfig | 4 ++-- .gitmodules | 4 ++-- GNUmakefile | 5 ++--- build_files/buildbot/slave_pack.py | 8 ++++---- build_files/windows/update_sources.cmd | 8 ++------ release/scripts/addons | 2 +- release/scripts/addons_contrib | 2 +- source/tools | 2 +- 8 files changed, 15 insertions(+), 20 deletions(-) diff --git a/.arcconfig b/.arcconfig index a9b4e2ea3c32..4a126cd6d012 100644 --- a/.arcconfig +++ b/.arcconfig @@ -1,7 +1,7 @@ { "project_id" : "Blender", "conduit_uri" : "https://developer.blender.org/", - "git.default-relative-commit" : "origin/blender2.8", + "git.default-relative-commit" : "origin/master", "arc.land.update.default" : "rebase", - "arc.land.onto.default" : "blender2.8" + "arc.land.onto.default" : "master" } diff --git a/.gitmodules b/.gitmodules index 73ee23b2e1df..a8f3a3f80ab7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,12 @@ [submodule "release/scripts/addons"] path = release/scripts/addons url = ../blender-addons.git - branch = blender2.8 + branch = master ignore = all [submodule "release/scripts/addons_contrib"] path = release/scripts/addons_contrib url = ../blender-addons-contrib.git - branch = blender2.8 + branch = master ignore = all [submodule "release/datafiles/locale"] path = release/datafiles/locale diff --git a/GNUmakefile b/GNUmakefile index f692daed6000..21183220b807 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -458,9 +458,8 @@ update: .FORCE fi git pull --rebase git submodule update --init --recursive - # Use blender2.8 branch for submodules that have it. - git submodule foreach "git checkout blender2.8 || git checkout master" - git submodule foreach git pull --rebase origin + git submodule foreach git checkout master + git submodule foreach git pull --rebase origin master # ----------------------------------------------------------------------------- diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py index 22cf386c77a4..2eaf9c236018 100644 --- a/build_files/buildbot/slave_pack.py +++ b/build_files/buildbot/slave_pack.py @@ -107,8 +107,8 @@ def create_tar_bz2(src, dest, package_name): if builder.endswith('vc2015'): platform += "-vc14" builderified_name = 'blender-{}-{}-{}'.format(blender_full_version, git_hash, platform) - # NOTE: Blender 2.8 is already respected by blender_full_version. - if branch != '' and branch != 'blender2.8': + # NOTE: Blender 2.7 is already respected by blender_full_version. + if branch != '' and branch != 'blender2.7': builderified_name = branch + "-" + builderified_name os.rename(result_file, "{}.zip".format(builderified_name)) @@ -173,8 +173,8 @@ def create_tar_bz2(src, dest, package_name): blender_hash, blender_glibc, blender_arch) - # NOTE: Blender 2.8 is already respected by blender_full_version. - if branch != '' and branch != 'blender2.8': + # NOTE: Blender 2.7 is already respected by blender_full_version. + if branch != '' and branch != 'blender2.7': package_name = branch + "-" + package_name upload_filename = package_name + ".tar.bz2" diff --git a/build_files/windows/update_sources.cmd b/build_files/windows/update_sources.cmd index be5303ad1b55..3906af27cb9c 100644 --- a/build_files/windows/update_sources.cmd +++ b/build_files/windows/update_sources.cmd @@ -11,10 +11,6 @@ if "%GIT%" == "" ( goto EOF ) "%GIT%" pull --rebase -"%GIT%" submodule update --init --recursive -rem Use blender2.8 branch for submodules that have it. -"%GIT%" submodule foreach "git checkout blender2.8 || git checkout master" -"%GIT%" submodule foreach git pull --rebase origin +"%GIT%" submodule foreach git pull --rebase origin master - -:EOF \ No newline at end of file +:EOF diff --git a/release/scripts/addons b/release/scripts/addons index f89d1c9581c0..0457976a8720 160000 --- a/release/scripts/addons +++ b/release/scripts/addons @@ -1 +1 @@ -Subproject commit f89d1c9581c03160485a7b4b09fa5d538331fdeb +Subproject commit 0457976a872000993202763abe7503c76b461122 diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib index 41d528d76b99..ceb054a0f923 160000 --- a/release/scripts/addons_contrib +++ b/release/scripts/addons_contrib @@ -1 +1 @@ -Subproject commit 41d528d76b99e689e09915f5dcd589480579ef3a +Subproject commit ceb054a0f923fa49cd9e8ef20322261a26160151 diff --git a/source/tools b/source/tools index 30d4611eacb1..2278dd8d6aea 160000 --- a/source/tools +++ b/source/tools @@ -1 +1 @@ -Subproject commit 30d4611eacb1c5b27a5e9d2432cb12843054abc9 +Subproject commit 2278dd8d6aea4d56632dee37196a5e341ce99283 From 494d13115cbbf47060eb83f64a4bd958c0d406bc Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 21 Dec 2018 14:23:06 +0100 Subject: [PATCH 06/94] Fix T59687: Crash when rendering animation The issue was caused by shape keys datablock from evaluated mesh being added to the main database. This commit makes it so shape keys are not copied for the mesh used as cage. --- source/blender/blenkernel/intern/mesh_convert.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/mesh_convert.c b/source/blender/blenkernel/intern/mesh_convert.c index de131b9be476..995a67e66593 100644 --- a/source/blender/blenkernel/intern/mesh_convert.c +++ b/source/blender/blenkernel/intern/mesh_convert.c @@ -971,8 +971,8 @@ Mesh *BKE_mesh_new_from_object( /* copies object and modifiers (but not the data) */ if (cage) { /* copies the data */ - tmpmesh = BKE_mesh_copy(bmain, ob->data); - + Mesh *mesh = ob->data; + BKE_id_copy_ex(bmain, &mesh->id, (ID **)&tmpmesh, 0, false); /* XXX BKE_mesh_copy() already handles materials usercount. */ do_mat_id_data_us = false; } From 82c3fdd559b32d88881883b99cf441935401cf05 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 21 Dec 2018 14:24:16 +0100 Subject: [PATCH 07/94] Fix T57907: Crash with hair when switching between object and edit mode Was only visible after going in and out (with some strokes inbetween) hair edit mode. The edit structure was never freed during Blender session for some reason. Now we free those when leaving particle edit mode. --- source/blender/editors/physics/particle_edit.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c index d5daaaa38126..33ed33363556 100644 --- a/source/blender/editors/physics/particle_edit.c +++ b/source/blender/editors/physics/particle_edit.c @@ -4810,6 +4810,21 @@ static bool particle_edit_toggle_poll(bContext *C) modifiers_findByType(ob, eModifierType_Softbody)); } +static void free_all_psys_edit(Object *object) +{ + for (ParticleSystem *psys = object->particlesystem.first; + psys != NULL; + psys = psys->next) + { + if (psys->edit != NULL) { + BLI_assert(psys->free_edit != NULL); + psys->free_edit(psys->edit); + psys->free_edit = NULL; + psys->edit = NULL; + } + } +} + static int particle_edit_toggle_exec(bContext *C, wmOperator *op) { struct wmMsgBus *mbus = CTX_wm_message_bus(C); @@ -4851,6 +4866,7 @@ static int particle_edit_toggle_exec(bContext *C, wmOperator *op) else { ob->mode &= ~mode_flag; toggle_particle_cursor(C, 0); + free_all_psys_edit(ob); WM_event_add_notifier(C, NC_SCENE | ND_MODE | NS_MODE_OBJECT, NULL); } From 0edd93effbc1c0adf7aa9c5647ef69845496f669 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 18 Dec 2018 18:18:00 +0100 Subject: [PATCH 08/94] Fix inconsistent/broken Cycles object visibility for instances. Object visibility is now handled by the depsgraph iterator, but this API was incomplete as it made no distinction for visibility of the object itself, particles and generated instances. The depsgraph iterator API now includes information about which part of the object is visible, and this is used by Cycles to replace the old custom logic. Cycles and EEVEE visibility should now be consistent, which unfortunately does means some subtle compatibility breakage for both. Fixes T58956, T58202, T59284. Differential Revision: https://developer.blender.org/D4109 --- intern/cycles/blender/blender_mesh.cpp | 7 +- intern/cycles/blender/blender_object.cpp | 90 ++----------------- intern/cycles/blender/blender_sync.h | 6 +- source/blender/blenkernel/BKE_object.h | 15 ++-- source/blender/blenkernel/intern/object.c | 43 +++++---- .../blender/depsgraph/DEG_depsgraph_query.h | 2 +- .../depsgraph/intern/depsgraph_query_iter.cc | 71 +++++++++------ .../blender/draw/engines/eevee/eevee_engine.c | 7 +- .../draw/engines/eevee/eevee_lightcache.c | 6 +- .../blender/draw/engines/eevee/eevee_render.c | 6 +- .../draw/engines/gpencil/gpencil_engine.c | 2 +- .../draw/engines/gpencil/gpencil_render.c | 11 ++- .../engines/workbench/workbench_deferred.c | 6 +- .../engines/workbench/workbench_forward.c | 6 +- source/blender/draw/intern/DRW_render.h | 2 +- source/blender/draw/intern/draw_manager.c | 18 ++-- source/blender/draw/modes/object_mode.c | 11 +-- source/blender/makesdna/DNA_object_types.h | 2 +- .../blender/makesrna/intern/rna_depsgraph.c | 33 ++++++- 19 files changed, 170 insertions(+), 174 deletions(-) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index b27de775c546..701dba61b507 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -979,7 +979,8 @@ Mesh *BlenderSync::sync_mesh(BL::Depsgraph& b_depsgraph, BL::Object& b_ob, BL::Object& b_ob_instance, bool object_updated, - bool hide_tris) + bool show_self, + bool show_particles) { /* test if we can instance or if the object is modified */ BL::ID b_ob_data = b_ob.data(); @@ -1086,7 +1087,7 @@ Mesh *BlenderSync::sync_mesh(BL::Depsgraph& b_depsgraph, mesh->subdivision_type); if(b_mesh) { - if(view_layer.use_surfaces && !hide_tris) { + if(view_layer.use_surfaces && show_self) { if(mesh->subdivision_type != Mesh::SUBDIVISION_NONE) create_subd_mesh(scene, mesh, b_ob, b_mesh, used_shaders, dicing_rate, max_subdivisions); @@ -1096,7 +1097,7 @@ Mesh *BlenderSync::sync_mesh(BL::Depsgraph& b_depsgraph, create_mesh_volume_attributes(scene, b_ob, mesh, b_scene.frame_current()); } - if(view_layer.use_hair && mesh->subdivision_type == Mesh::SUBDIVISION_NONE) + if(view_layer.use_hair && show_particles && mesh->subdivision_type == Mesh::SUBDIVISION_NONE) sync_curves(mesh, b_mesh, b_ob, false); /* free derived mesh */ diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index bcab52760602..0f9994847c06 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -295,7 +295,8 @@ Object *BlenderSync::sync_object(BL::Depsgraph& b_depsgraph, BL::ViewLayer& b_view_layer, BL::DepsgraphObjectInstance& b_instance, float motion_time, - bool hide_tris, + bool show_self, + bool show_particles, BlenderObjectCulling& culling, bool *use_portal) { @@ -403,7 +404,7 @@ Object *BlenderSync::sync_object(BL::Depsgraph& b_depsgraph, object_updated = true; /* mesh sync */ - object->mesh = sync_mesh(b_depsgraph, b_ob, b_ob_instance, object_updated, hide_tris); + object->mesh = sync_mesh(b_depsgraph, b_ob, b_ob_instance, object_updated, show_self, show_particles); /* special case not tracked by object update flags */ @@ -505,82 +506,6 @@ Object *BlenderSync::sync_object(BL::Depsgraph& b_depsgraph, return object; } -static bool object_render_hide_original(BL::Object::type_enum ob_type, - BL::Object::instance_type_enum dupli_type) -{ - /* metaball exception, they duplicate self */ - if(ob_type == BL::Object::type_META) - return false; - - return (dupli_type == BL::Object::instance_type_VERTS || - dupli_type == BL::Object::instance_type_FACES || - dupli_type == BL::Object::instance_type_FRAMES); -} - -static bool object_render_hide(BL::Object& b_ob, - bool top_level, - bool parent_hide, - bool& hide_triangles, - BL::Depsgraph::mode_enum depsgraph_mode) -{ - /* check if we should render or hide particle emitter */ - BL::Object::particle_systems_iterator b_psys; - - bool hair_present = false; - bool has_particles = false; - bool show_emitter = false; - bool hide_emitter = false; - bool hide_as_dupli_parent = false; - bool hide_as_dupli_child_original = false; - - for(b_ob.particle_systems.begin(b_psys); b_psys != b_ob.particle_systems.end(); ++b_psys) { - if((b_psys->settings().render_type() == BL::ParticleSettings::render_type_PATH) && - (b_psys->settings().type()==BL::ParticleSettings::type_HAIR)) - hair_present = true; - has_particles = true; - } - - /* Both mode_PREVIEW and mode_VIEWPORT are treated the same here.*/ - const bool show_instancer = depsgraph_mode == BL::Depsgraph::mode_RENDER - ? b_ob.show_instancer_for_render() - : b_ob.show_instancer_for_viewport(); - - if(has_particles) { - show_emitter = show_instancer; - hide_emitter = !show_emitter; - } else if(b_ob.is_instancer()) { - if(top_level || show_instancer) { - hide_as_dupli_parent = true; - } - } - - /* hide original object for duplis */ - BL::Object parent = b_ob.parent(); - while(parent) { - if(object_render_hide_original(b_ob.type(), - parent.instance_type())) - { - if(parent_hide) { - hide_as_dupli_child_original = true; - break; - } - } - parent = parent.parent(); - } - - hide_triangles = hide_emitter; - - if(show_emitter) { - return false; - } - else if(hair_present) { - return hide_as_dupli_child_original; - } - else { - return (hide_as_dupli_parent || hide_as_dupli_child_original); - } -} - /* Object Loop */ void BlenderSync::sync_objects(BL::Depsgraph& b_depsgraph, float motion_time) @@ -608,7 +533,6 @@ void BlenderSync::sync_objects(BL::Depsgraph& b_depsgraph, float motion_time) bool use_portal = false; BL::ViewLayer b_view_layer = b_depsgraph.view_layer_eval(); - BL::Depsgraph::mode_enum depsgraph_mode = b_depsgraph.mode(); BL::Depsgraph::object_instances_iterator b_instance_iter; for(b_depsgraph.object_instances.begin(b_instance_iter); @@ -624,15 +548,17 @@ void BlenderSync::sync_objects(BL::Depsgraph& b_depsgraph, float motion_time) culling.init_object(scene, b_ob); /* test if object needs to be hidden */ - bool hide_tris; + const bool show_self = b_instance.show_self(); + const bool show_particles = b_instance.show_particles(); - if(!object_render_hide(b_ob, true, true, hide_tris, depsgraph_mode)) { + if(show_self || show_particles) { /* object itself */ sync_object(b_depsgraph, b_view_layer, b_instance, motion_time, - hide_tris, + show_self, + show_particles, culling, &use_portal); } diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index 8af0de39a470..7290ea0cee0e 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -117,7 +117,8 @@ class BlenderSync { BL::Object& b_ob, BL::Object& b_ob_instance, bool object_updated, - bool hide_tris); + bool show_self, + bool show_particles); void sync_curves(Mesh *mesh, BL::Mesh& b_mesh, BL::Object& b_ob, @@ -127,7 +128,8 @@ class BlenderSync { BL::ViewLayer& b_view_layer, BL::DepsgraphObjectInstance& b_instance, float motion_time, - bool hide_tris, + bool show_self, + bool show_particles, BlenderObjectCulling& culling, bool *use_portal); void sync_light(BL::Object& b_parent, diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 0b405b52a172..50e095720e06 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -97,13 +97,14 @@ bool BKE_object_is_mode_compat(const struct Object *ob, eObjectMode object_mode) bool BKE_object_data_is_in_editmode(const struct ID *id); -typedef enum eObjectVisibilityCheck { - OB_VISIBILITY_CHECK_FOR_VIEWPORT, - OB_VISIBILITY_CHECK_FOR_RENDER, - OB_VISIBILITY_CHECK_UNKNOWN_RENDER_MODE, -} eObjectVisibilityCheck; - -bool BKE_object_is_visible(const struct Object *ob, const eObjectVisibilityCheck mode); +typedef enum eObjectVisibilityResult { + OB_VISIBLE_SELF = 1, + OB_VISIBLE_PARTICLES = 2, + OB_VISIBLE_INSTANCES = 4, + OB_VISIBLE_ALL = (OB_VISIBLE_SELF | OB_VISIBLE_PARTICLES | OB_VISIBLE_INSTANCES), +} eObjectVisibilityResult; + +int BKE_object_visibility(const struct Object *ob, const int dag_eval_mode); void BKE_object_init(struct Object *ob); struct Object *BKE_object_add_only_object( diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 3d341f5d82fb..fd047c50d2cc 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -714,33 +714,40 @@ bool BKE_object_is_mode_compat(const struct Object *ob, eObjectMode object_mode) } /** - * Return if the object is visible, as evaluated by depsgraph + * Return which parts of the object are visible, as evaluated by depsgraph */ -bool BKE_object_is_visible(const Object *ob, const eObjectVisibilityCheck mode) +int BKE_object_visibility(const Object *ob, const int dag_eval_mode) { if ((ob->base_flag & BASE_VISIBLE) == 0) { - return false; + return 0; } - if (mode == OB_VISIBILITY_CHECK_UNKNOWN_RENDER_MODE) { - return true; + /* Test which components the object has. */ + int visibility = OB_VISIBLE_SELF; + if (ob->particlesystem.first) { + visibility |= OB_VISIBLE_INSTANCES | OB_VISIBLE_PARTICLES; } - - if (((ob->transflag & OB_DUPLI) == 0) && - (ob->particlesystem.first == NULL)) - { - return true; + else if (ob->transflag & OB_DUPLI) { + visibility |= OB_VISIBLE_INSTANCES; } - switch (mode) { - case OB_VISIBILITY_CHECK_FOR_VIEWPORT: - return ((ob->duplicator_visibility_flag & OB_DUPLI_FLAG_VIEWPORT) != 0); - case OB_VISIBILITY_CHECK_FOR_RENDER: - return ((ob->duplicator_visibility_flag & OB_DUPLI_FLAG_RENDER) != 0); - default: - BLI_assert(!"Object visible test mode not supported."); - return false; + /* Optional hiding of self if there are particles or instancers. */ + if (visibility & (OB_VISIBLE_PARTICLES | OB_VISIBLE_INSTANCES)) { + switch ((eEvaluationMode)dag_eval_mode) { + case DAG_EVAL_VIEWPORT: + if (!(ob->duplicator_visibility_flag & OB_DUPLI_FLAG_VIEWPORT)) { + visibility &= ~OB_VISIBLE_SELF; + } + break; + case DAG_EVAL_RENDER: + if (!(ob->duplicator_visibility_flag & OB_DUPLI_FLAG_RENDER)) { + visibility &= ~OB_VISIBLE_SELF; + } + break; + } } + + return visibility; } bool BKE_object_exists_check(Main *bmain, const Object *obtest) diff --git a/source/blender/depsgraph/DEG_depsgraph_query.h b/source/blender/depsgraph/DEG_depsgraph_query.h index c9fa6b0a0354..11a4ebee8c63 100644 --- a/source/blender/depsgraph/DEG_depsgraph_query.h +++ b/source/blender/depsgraph/DEG_depsgraph_query.h @@ -118,7 +118,7 @@ typedef struct DEGObjectIterData { struct Scene *scene; - int visibility_check; /* eObjectVisibilityCheck. */ + eEvaluationMode eval_mode; /* **** Iteration over dupli-list. *** */ diff --git a/source/blender/depsgraph/intern/depsgraph_query_iter.cc b/source/blender/depsgraph/intern/depsgraph_query_iter.cc index 52c4ab33dc6c..88dc74419e50 100644 --- a/source/blender/depsgraph/intern/depsgraph_query_iter.cc +++ b/source/blender/depsgraph/intern/depsgraph_query_iter.cc @@ -107,6 +107,26 @@ void verify_id_properties_freed(DEGObjectIterData *data) temp_dupli_object->id.properties = NULL; } +static bool deg_object_hide_original(eEvaluationMode eval_mode, Object *ob, DupliObject *dob) +{ + /* Automatic hiding if this object is being instanced on verts/faces/frames + * by its parent. Ideally this should not be needed, but due to the wrong + * dependency direction in the data design there is no way to keep the object + * visible otherwise. The better solution eventually would be for objects + * to specify which object they instance, instead of through parenting. */ + if (eval_mode == DAG_EVAL_RENDER || dob) { + const int hide_original_types = OB_DUPLIFRAMES | OB_DUPLIVERTS | OB_DUPLIFACES; + + if (!dob || !(dob->type & hide_original_types)) { + if (ob->parent && (ob->parent->transflag & hide_original_types)) { + return true; + } + } + } + + return false; +} + bool deg_objects_dupli_iterator_next(BLI_Iterator *iter) { DEGObjectIterData *data = (DEGObjectIterData *)iter->data; @@ -116,16 +136,15 @@ bool deg_objects_dupli_iterator_next(BLI_Iterator *iter) data->dupli_object_next = data->dupli_object_next->next; - /* Group duplis need to set ob matrices correct, for deform. so no_draw - * is part handled. - */ - if ((obd->transflag & OB_RENDER_DUPLI) == 0 && dob->no_draw) { + if (dob->no_draw) { continue; } - if (obd->type == OB_MBALL) { continue; } + if (deg_object_hide_original(data->eval_mode, dob->ob, dob)) { + continue; + } verify_id_properties_freed(data); @@ -142,12 +161,11 @@ bool deg_objects_dupli_iterator_next(BLI_Iterator *iter) /* Duplicated elements shouldn't care whether their original collection is visible or not. */ temp_dupli_object->base_flag |= BASE_VISIBLE; - if (BKE_object_is_visible(temp_dupli_object, OB_VISIBILITY_CHECK_UNKNOWN_RENDER_MODE) == false) { + int ob_visibility = BKE_object_visibility(temp_dupli_object, data->eval_mode); + if (ob_visibility == 0) { continue; } - temp_dupli_object->transflag &= ~OB_DUPLI; - copy_m4_m4(data->temp_dupli_object.obmat, dob->mat); iter->current = &data->temp_dupli_object; BLI_assert( @@ -196,25 +214,29 @@ void deg_iterator_objects_step(BLI_Iterator *iter, DEG::IDDepsNode *id_node) Object *object = (Object *)id_node->id_cow; BLI_assert(DEG::deg_validate_copy_on_write_datablock(&object->id)); - if ((BKE_object_is_visible(object, OB_VISIBILITY_CHECK_UNKNOWN_RENDER_MODE) == false) && - ((data->flag & DEG_ITER_OBJECT_FLAG_VISIBLE) != 0)) - { - return; - } + int ob_visibility = OB_VISIBLE_ALL; + if (data->flag & DEG_ITER_OBJECT_FLAG_VISIBLE) { + ob_visibility = BKE_object_visibility(object, data->eval_mode); - if ((data->flag & DEG_ITER_OBJECT_FLAG_DUPLI) && - (object->transflag & OB_DUPLI)) - { - data->dupli_parent = object; - data->dupli_list = object_duplilist(data->graph, data->scene, object); - data->dupli_object_next = (DupliObject *)data->dupli_list->first; - if (BKE_object_is_visible(object, (eObjectVisibilityCheck)data->visibility_check) == false) { + if (deg_object_hide_original(data->eval_mode, object, NULL)) { return; } } - iter->current = object; - iter->skip = false; + if (ob_visibility & OB_VISIBLE_INSTANCES) { + if ((data->flag & DEG_ITER_OBJECT_FLAG_DUPLI) && + (object->transflag & OB_DUPLI)) + { + data->dupli_parent = object; + data->dupli_list = object_duplilist(data->graph, data->scene, object); + data->dupli_object_next = (DupliObject *)data->dupli_list->first; + } + } + + if (ob_visibility & (OB_VISIBLE_SELF | OB_VISIBLE_PARTICLES)) { + iter->current = object; + iter->skip = false; + } } } // namespace @@ -239,10 +261,7 @@ void DEG_iterator_objects_begin(BLI_Iterator *iter, DEGObjectIterData *data) data->scene = DEG_get_evaluated_scene(depsgraph); data->id_node_index = 0; data->num_id_nodes = num_id_nodes; - eEvaluationMode eval_mode = DEG_get_mode(depsgraph); - data->visibility_check = (eval_mode == DAG_EVAL_RENDER) - ? OB_VISIBILITY_CHECK_FOR_RENDER - : OB_VISIBILITY_CHECK_FOR_VIEWPORT; + data->eval_mode = DEG_get_mode(depsgraph); deg_invalidate_iterator_work_data(data); DEG::IDDepsNode *id_node = deg_graph->id_nodes[data->id_node_index]; diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c index aa2cf3fede3d..6a2ca982d532 100644 --- a/source/blender/draw/engines/eevee/eevee_engine.c +++ b/source/blender/draw/engines/eevee/eevee_engine.c @@ -130,15 +130,14 @@ void EEVEE_cache_populate(void *vedata, Object *ob) EEVEE_ViewLayerData *sldata = EEVEE_view_layer_data_ensure(); const DRWContextState *draw_ctx = DRW_context_state_get(); + const int ob_visibility = DRW_object_visibility_in_active_context(ob); bool cast_shadow = false; - if (ob->base_flag & BASE_VISIBLE) { + if (ob_visibility & OB_VISIBLE_PARTICLES) { EEVEE_hair_cache_populate(vedata, sldata, ob, &cast_shadow); } - if (DRW_object_is_renderable(ob) && - DRW_object_is_visible_in_active_context(ob)) - { + if (DRW_object_is_renderable(ob) && (ob_visibility & OB_VISIBLE_SELF)) { if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL)) { EEVEE_materials_cache_populate(vedata, sldata, ob, &cast_shadow); } diff --git a/source/blender/draw/engines/eevee/eevee_lightcache.c b/source/blender/draw/engines/eevee/eevee_lightcache.c index 71082268f10d..74cac25367cb 100644 --- a/source/blender/draw/engines/eevee/eevee_lightcache.c +++ b/source/blender/draw/engines/eevee/eevee_lightcache.c @@ -411,7 +411,8 @@ static void eevee_lightbake_count_probes(EEVEE_LightBake *lbake) DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN(depsgraph, ob) { - if (!BKE_object_is_visible(ob, OB_VISIBILITY_CHECK_FOR_RENDER)) { + const int ob_visibility = BKE_object_visibility(ob, DAG_EVAL_RENDER); + if ((ob_visibility & OB_VISIBLE_SELF) == 0) { continue; } @@ -1006,7 +1007,8 @@ static void eevee_lightbake_gather_probes(EEVEE_LightBake *lbake) * This allows a large number of probe to be precomputed (even dupli ones). */ DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN(depsgraph, ob) { - if (!BKE_object_is_visible(ob, OB_VISIBILITY_CHECK_FOR_RENDER)) { + const int ob_visibility = BKE_object_visibility(ob, DAG_EVAL_RENDER); + if ((ob_visibility & OB_VISIBLE_SELF) == 0) { continue; } diff --git a/source/blender/draw/engines/eevee/eevee_render.c b/source/blender/draw/engines/eevee/eevee_render.c index 8d196ee07eb5..45bfba09890b 100644 --- a/source/blender/draw/engines/eevee/eevee_render.c +++ b/source/blender/draw/engines/eevee/eevee_render.c @@ -34,6 +34,7 @@ #include "DNA_object_types.h" #include "BKE_camera.h" +#include "BKE_object.h" #include "BLI_rand.h" #include "BLI_rect.h" @@ -179,11 +180,12 @@ void EEVEE_render_cache( RE_engine_update_stats(engine, NULL, info); } - if (ob->base_flag & BASE_VISIBLE) { + const int ob_visibility = DRW_object_visibility_in_active_context(ob); + if (ob_visibility & OB_VISIBLE_PARTICLES) { EEVEE_hair_cache_populate(vedata, sldata, ob, &cast_shadow); } - if (DRW_object_is_visible_in_active_context(ob)) { + if (ob_visibility & OB_VISIBLE_SELF) { if (ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL)) { EEVEE_materials_cache_populate(vedata, sldata, ob, &cast_shadow); } diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c index 23c539774453..79724f6a5d2a 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.c +++ b/source/blender/draw/engines/gpencil/gpencil_engine.c @@ -559,7 +559,7 @@ static void gpencil_add_draw_data(void *vedata, Object *ob) void GPENCIL_cache_populate(void *vedata, Object *ob) { /* object must be visible */ - if (!DRW_object_is_visible_in_active_context(ob)) { + if (!(DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF)) { return; } diff --git a/source/blender/draw/engines/gpencil/gpencil_render.c b/source/blender/draw/engines/gpencil/gpencil_render.c index 51a8209fbf2c..1fe008e4d444 100644 --- a/source/blender/draw/engines/gpencil/gpencil_render.c +++ b/source/blender/draw/engines/gpencil/gpencil_render.c @@ -28,6 +28,7 @@ #include "DRW_render.h" #include "BKE_camera.h" +#include "BKE_object.h" #include "DNA_gpencil_types.h" @@ -130,12 +131,10 @@ static void GPENCIL_render_cache( void *vedata, struct Object *ob, struct RenderEngine *UNUSED(engine), struct Depsgraph *UNUSED(depsgraph)) { - if ((ob == NULL) || (DRW_object_is_visible_in_active_context(ob) == false)) { - return; - } - - if (ob->type == OB_GPENCIL) { - GPENCIL_cache_populate(vedata, ob); + if (ob && ob->type == OB_GPENCIL) { + if (DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF) { + GPENCIL_cache_populate(vedata, ob); + } } } diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c index c3b469674d37..52caeb6cbf43 100644 --- a/source/blender/draw/engines/workbench/workbench_deferred.c +++ b/source/blender/draw/engines/workbench/workbench_deferred.c @@ -35,6 +35,7 @@ #include "BKE_node.h" #include "BKE_modifier.h" +#include "BKE_object.h" #include "BKE_particle.h" #include "DNA_image_types.h" @@ -808,7 +809,10 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob) return; /* Do not draw solid in this case. */ } - if (!DRW_object_is_visible_in_active_context(ob) || (ob->dt < OB_SOLID)) { + if (!(DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF)) { + return; + } + if (ob->dt < OB_SOLID) { return; } diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c index ca02cc2b5ea2..6c955ac1fcb7 100644 --- a/source/blender/draw/engines/workbench/workbench_forward.c +++ b/source/blender/draw/engines/workbench/workbench_forward.c @@ -34,6 +34,7 @@ #include "BKE_node.h" #include "BKE_particle.h" #include "BKE_modifier.h" +#include "BKE_object.h" #include "DNA_image_types.h" #include "DNA_mesh_types.h" @@ -489,7 +490,10 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob) return; /* Do not draw solid in this case. */ } - if (!DRW_object_is_visible_in_active_context(ob) || (ob->dt < OB_WIRE)) { + if (!(DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF)) { + return; + } + if (ob->dt < OB_WIRE) { return; } diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h index 89aa55c56b20..223868890f27 100644 --- a/source/blender/draw/intern/DRW_render.h +++ b/source/blender/draw/intern/DRW_render.h @@ -511,7 +511,7 @@ DrawData *DRW_drawdata_ensure( /* Settings */ bool DRW_object_is_renderable(const struct Object *ob); -bool DRW_object_is_visible_in_active_context(const struct Object *ob); +int DRW_object_visibility_in_active_context(const struct Object *ob); bool DRW_object_is_flat_normal(const struct Object *ob); bool DRW_object_use_hide_faces(const struct Object *ob); diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index 5def2b414617..a991c51a7c31 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -151,7 +151,7 @@ struct DRWTextStore *DRW_text_cache_ensure(void) bool DRW_object_is_renderable(const Object *ob) { - BLI_assert(BKE_object_is_visible(ob, OB_VISIBILITY_CHECK_UNKNOWN_RENDER_MODE)); + BLI_assert((ob->base_flag & BASE_VISIBLE) != 0); if (ob->type == OB_MESH) { if ((ob == DST.draw_ctx.object_edit) || BKE_object_is_in_editmode(ob)) { @@ -171,12 +171,12 @@ bool DRW_object_is_renderable(const Object *ob) * Return whether this object is visible depending if * we are rendering or drawing in the viewport. */ -bool DRW_object_is_visible_in_active_context(const Object *ob) +int DRW_object_visibility_in_active_context(const Object *ob) { - const eObjectVisibilityCheck mode = DRW_state_is_scene_render() ? - OB_VISIBILITY_CHECK_FOR_RENDER : - OB_VISIBILITY_CHECK_FOR_VIEWPORT; - return BKE_object_is_visible(ob, mode); + const eEvaluationMode mode = DRW_state_is_scene_render() ? + DAG_EVAL_RENDER : + DAG_EVAL_VIEWPORT; + return BKE_object_visibility(ob, mode); } bool DRW_object_is_flat_normal(const Object *ob) @@ -1673,8 +1673,10 @@ bool DRW_render_check_grease_pencil(Depsgraph *depsgraph) { DEG_OBJECT_ITER_FOR_RENDER_ENGINE_BEGIN(depsgraph, ob) { - if ((ob->type == OB_GPENCIL) && (DRW_object_is_visible_in_active_context(ob))) { - return true; + if (ob->type == OB_GPENCIL) { + if (DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF) { + return true; + } } } DEG_OBJECT_ITER_FOR_RENDER_ENGINE_END diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index 91e41f75bedf..c05049012434 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -2271,7 +2271,7 @@ static void DRW_shgroup_relationship_lines( Scene *scene, Object *ob) { - if (ob->parent && DRW_object_is_visible_in_active_context(ob->parent)) { + if (ob->parent && (DRW_object_visibility_in_active_context(ob->parent) & OB_VISIBLE_SELF)) { DRW_shgroup_call_dynamic_add(sgl->relationship_lines, ob->orig); DRW_shgroup_call_dynamic_add(sgl->relationship_lines, ob->obmat[3]); } @@ -2279,11 +2279,11 @@ static void DRW_shgroup_relationship_lines( if (ob->rigidbody_constraint) { Object *rbc_ob1 = ob->rigidbody_constraint->ob1; Object *rbc_ob2 = ob->rigidbody_constraint->ob2; - if (rbc_ob1 && DRW_object_is_visible_in_active_context(rbc_ob1)) { + if (rbc_ob1 && (DRW_object_visibility_in_active_context(rbc_ob1) & OB_VISIBLE_SELF)) { DRW_shgroup_call_dynamic_add(sgl->relationship_lines, rbc_ob1->obmat[3]); DRW_shgroup_call_dynamic_add(sgl->relationship_lines, ob->obmat[3]); } - if (rbc_ob2 && DRW_object_is_visible_in_active_context(rbc_ob2)) { + if (rbc_ob2 && (DRW_object_visibility_in_active_context(rbc_ob2) & OB_VISIBLE_SELF)) { DRW_shgroup_call_dynamic_add(sgl->relationship_lines, rbc_ob2->obmat[3]); DRW_shgroup_call_dynamic_add(sgl->relationship_lines, ob->obmat[3]); } @@ -2608,13 +2608,14 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) RegionView3D *rv3d = draw_ctx->rv3d; ModifierData *md = NULL; int theme_id = TH_UNDEFINED; + const int ob_visibility = DRW_object_visibility_in_active_context(ob); /* Handle particles first in case the emitter itself shouldn't be rendered. */ - if (ob->type == OB_MESH) { + if (ob_visibility & OB_VISIBLE_PARTICLES) { OBJECT_cache_populate_particles(ob, psl); } - if (DRW_object_is_visible_in_active_context(ob) == false) { + if ((ob_visibility & OB_VISIBLE_SELF) == 0) { return; } diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 606cbe66d0d2..524c22a678d8 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -434,7 +434,7 @@ enum { OB_DUPLIFACES = 1 << 9, OB_DUPLIFACES_SCALE = 1 << 10, OB_DUPLIPARTS = 1 << 11, - OB_RENDER_DUPLI = 1 << 12, + OB_TRANSLFAG_DEPRECATED_2 = 1 << 12, OB_NO_CONSTRAINTS = 1 << 13, /* runtime constraints disable */ OB_NO_PSYS_UPDATE = 1 << 14, /* hack to work around particle issue */ diff --git a/source/blender/makesrna/intern/rna_depsgraph.c b/source/blender/makesrna/intern/rna_depsgraph.c index 1103e5c1f927..d03dfc65ef40 100644 --- a/source/blender/makesrna/intern/rna_depsgraph.c +++ b/source/blender/makesrna/intern/rna_depsgraph.c @@ -46,6 +46,7 @@ #include "BLI_math.h" #include "BKE_anim.h" +#include "BKE_object.h" #include "DEG_depsgraph_build.h" #include "DEG_depsgraph_debug.h" @@ -79,6 +80,22 @@ static PointerRNA rna_DepsgraphObjectInstance_instance_object_get(PointerRNA *pt return rna_pointer_inherit_refine(ptr, &RNA_Object, instance_object); } +static bool rna_DepsgraphObjectInstance_show_self_get(PointerRNA *ptr) +{ + BLI_Iterator *iterator = ptr->data; + DEGObjectIterData *deg_iter = (DEGObjectIterData *)iterator->data; + int ob_visibility = BKE_object_visibility(iterator->current, deg_iter->eval_mode); + return (ob_visibility & OB_VISIBLE_SELF) != 0; +} + +static bool rna_DepsgraphObjectInstance_show_particles_get(PointerRNA *ptr) +{ + BLI_Iterator *iterator = ptr->data; + DEGObjectIterData *deg_iter = (DEGObjectIterData *)iterator->data; + int ob_visibility = BKE_object_visibility(iterator->current, deg_iter->eval_mode); + return (ob_visibility & OB_VISIBLE_PARTICLES) != 0; +} + static PointerRNA rna_DepsgraphObjectInstance_parent_get(PointerRNA *ptr) { BLI_Iterator *iterator = ptr->data; @@ -444,9 +461,19 @@ static void rna_def_depsgraph_instance(BlenderRNA *brna) RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); RNA_def_property_pointer_funcs(prop, "rna_DepsgraphObjectInstance_object_get", NULL, NULL, NULL); + prop = RNA_def_property(srna, "show_self", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Show Self", "The object geometry itself should be visible in the render"); + RNA_def_property_boolean_funcs(prop, "rna_DepsgraphObjectInstance_show_self_get", NULL); + + prop = RNA_def_property(srna, "show_particles", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Show Particles", "Particles part of the object should be visible in the render"); + RNA_def_property_boolean_funcs(prop, "rna_DepsgraphObjectInstance_show_particles_get", NULL); + prop = RNA_def_property(srna, "is_instance", PROP_BOOLEAN, PROP_NONE); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Is Instance", "Denotes whether the object is coming from dupli-list"); + RNA_def_property_ui_text(prop, "Is Instance", "Denotes if the object is generated by another object"); RNA_def_property_boolean_funcs(prop, "rna_DepsgraphObjectInstance_is_instance_get", NULL); prop = RNA_def_property(srna, "instance_object", PROP_POINTER, PROP_NONE); @@ -457,7 +484,7 @@ static void rna_def_depsgraph_instance(BlenderRNA *brna) prop = RNA_def_property(srna, "parent", PROP_POINTER, PROP_NONE); RNA_def_property_struct_type(prop, "Object"); - RNA_def_property_ui_text(prop, "Parent", "Evaluated parent object of the duplication list"); + RNA_def_property_ui_text(prop, "Parent", "If the object is an instance, the parent object that generated it"); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); RNA_def_property_pointer_funcs(prop, "rna_DepsgraphObjectInstance_parent_get", NULL, NULL, NULL); @@ -476,7 +503,7 @@ static void rna_def_depsgraph_instance(BlenderRNA *brna) prop = RNA_def_property(srna, "random_id", PROP_INT, PROP_UNSIGNED); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Dupli random id", "Random id for this dupli object"); + RNA_def_property_ui_text(prop, "Dupli random id", "Random id for this instance, typically for randomized shading"); RNA_def_property_int_funcs(prop, "rna_DepsgraphObjectInstance_random_id_get", NULL, NULL); prop = RNA_def_property(srna, "matrix_world", PROP_FLOAT, PROP_MATRIX); From a2a2fe1f22e2cc64a35e05ba605ac4d6e2360303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 21 Dec 2018 15:43:50 +0100 Subject: [PATCH 09/94] Fix T59608: Curves invisible in object mode --- source/blender/draw/modes/object_mode.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index c05049012434..4ecd1175c7ce 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -2711,7 +2711,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) } case OB_LATTICE: { - if (is_edit_mode) { + if (!is_edit_mode) { if (hide_object_extra) { break; } @@ -2727,7 +2727,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) } case OB_CURVE: { - if (is_edit_mode) { + if (!is_edit_mode) { if (hide_object_extra) { break; } @@ -2742,7 +2742,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) } case OB_MBALL: { - if (is_edit_mode) { + if (!is_edit_mode) { DRW_shgroup_mball_handles(sgl, ob, view_layer); } break; From bf168a05cd388c02359e52e4ae674c89f13c96a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 21 Dec 2018 15:59:13 +0100 Subject: [PATCH 10/94] Workbench: Fix crash when using more than one metaball Was caused by recent change in logic --- .../engines/workbench/workbench_deferred.c | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c index 52caeb6cbf43..2096d31659d4 100644 --- a/source/blender/draw/engines/workbench/workbench_deferred.c +++ b/source/blender/draw/engines/workbench/workbench_deferred.c @@ -828,12 +828,14 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob) /* Draw textured */ struct GPUBatch **geom_array = DRW_cache_mesh_surface_texpaint_get(ob); for (int i = 0; i < materials_len; i++) { - Material *mat = give_current_material(ob, i + 1); - Image *image; - ED_object_get_active_image(ob, i + 1, &image, NULL, NULL, NULL); - int color_type = workbench_material_determine_color_type(wpd, image, ob); - material = get_or_create_material_data(vedata, ob, mat, image, color_type); - DRW_shgroup_call_object_add(material->shgrp, geom_array[i], ob); + if (geom_array != NULL && geom_array[i] != NULL) { + Material *mat = give_current_material(ob, i + 1); + Image *image; + ED_object_get_active_image(ob, i + 1, &image, NULL, NULL, NULL); + int color_type = workbench_material_determine_color_type(wpd, image, ob); + material = get_or_create_material_data(vedata, ob, mat, image, color_type); + DRW_shgroup_call_object_add(material->shgrp, geom_array[i], ob); + } } } else if (ELEM(wpd->shading.color_type, @@ -845,7 +847,9 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob) } else { struct GPUBatch *geom = DRW_cache_object_surface_get(ob); - DRW_shgroup_call_object_add(material->shgrp, geom, ob); + if (geom) { + DRW_shgroup_call_object_add(material->shgrp, geom, ob); + } } } else { @@ -863,9 +867,11 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob) geoms = DRW_cache_object_surface_material_get(ob, gpumat_array, materials_len, NULL, NULL, NULL); for (int i = 0; i < materials_len; ++i) { - Material *mat = give_current_material(ob, i + 1); - material = get_or_create_material_data(vedata, ob, mat, NULL, V3D_SHADING_MATERIAL_COLOR); - DRW_shgroup_call_object_add(material->shgrp, geoms[i], ob); + if (geoms != NULL && geoms[i] != NULL) { + Material *mat = give_current_material(ob, i + 1); + material = get_or_create_material_data(vedata, ob, mat, NULL, V3D_SHADING_MATERIAL_COLOR); + DRW_shgroup_call_object_add(material->shgrp, geoms[i], ob); + } } } } From e56aa4ff0c6b2a1746d5c39e297c9f6f56c4b492 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 21 Dec 2018 11:43:28 +0100 Subject: [PATCH 11/94] Fix T59668: UV unwrap pinning bugs. With multi object editing it creates the charts twice, which broke some logic in the unwrapper. --- source/blender/editors/include/ED_uvedit.h | 9 +-- .../editors/sculpt_paint/paint_image_proj.c | 29 +-------- .../editors/uvedit/uvedit_parametrizer.c | 33 +++++----- .../editors/uvedit/uvedit_parametrizer.h | 4 +- .../editors/uvedit/uvedit_unwrap_ops.c | 61 ++++++++++++++----- 5 files changed, 70 insertions(+), 66 deletions(-) diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index 2fc15f72fcad..9e7f192fd8e2 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -126,14 +126,7 @@ void ED_uvedit_live_unwrap_re_solve(void); void ED_uvedit_live_unwrap_end(short cancel); void ED_uvedit_live_unwrap(struct Scene *scene, struct Object *obedit); -void ED_uvedit_pack_islands( - struct Scene *scene, struct Object *ob, struct BMesh *bm, - bool selected, bool correct_aspect, bool do_rotate); -void ED_uvedit_pack_islands_multi( - struct Scene *scene, struct Object **objects, const uint objects_len, - bool selected, bool correct_aspect, bool do_rotate, bool implicit); -void ED_uvedit_unwrap_cube_project( - struct BMesh *bm, float cube_size, bool use_select, const float center[3]); +void ED_uvedit_add_simple_uvs(struct Main *bmain, struct Scene *scene, struct Object *ob); /* single call up unwrap using scene settings, used for edge tag unwrapping */ void ED_unwrap_lscm(struct Scene *scene, struct Object *obedit, const short sel, const bool pack); diff --git a/source/blender/editors/sculpt_paint/paint_image_proj.c b/source/blender/editors/sculpt_paint/paint_image_proj.c index 5275d899a56d..e366246efbc1 100644 --- a/source/blender/editors/sculpt_paint/paint_image_proj.c +++ b/source/blender/editors/sculpt_paint/paint_image_proj.c @@ -5937,33 +5937,8 @@ static int add_simple_uvs_exec(bContext *C, wmOperator *UNUSED(op)) Main *bmain = CTX_data_main(C); Object *ob = CTX_data_active_object(C); Scene *scene = CTX_data_scene(C); - Mesh *me = ob->data; - bool synch_selection = (scene->toolsettings->uv_flag & UV_SYNC_SELECTION) != 0; - - BMesh *bm = BM_mesh_create( - &bm_mesh_allocsize_default, - &((struct BMeshCreateParams){.use_toolflags = false,})); - - /* turn synch selection off, since we are not in edit mode we need to ensure only the uv flags are tested */ - scene->toolsettings->uv_flag &= ~UV_SYNC_SELECTION; - - ED_mesh_uv_texture_ensure(me, NULL); - - BM_mesh_bm_from_me( - bm, me, (&(struct BMeshFromMeshParams){ - .calc_face_normal = true, - })); - /* select all uv loops first - pack parameters needs this to make sure charts are registered */ - ED_uvedit_select_all(bm); - ED_uvedit_unwrap_cube_project(bm, 1.0, false, NULL); - /* set the margin really quickly before the packing operation*/ - scene->toolsettings->uvcalc_margin = 0.001f; - ED_uvedit_pack_islands(scene, ob, bm, false, false, true); - BM_mesh_bm_to_me(bmain, bm, me, (&(struct BMeshToMeshParams){0})); - BM_mesh_free(bm); - - if (synch_selection) - scene->toolsettings->uv_flag |= UV_SYNC_SELECTION; + + ED_uvedit_add_simple_uvs(bmain, scene, ob); BKE_paint_proj_mesh_data_check(scene, ob, NULL, NULL, NULL, NULL); diff --git a/source/blender/editors/uvedit/uvedit_parametrizer.c b/source/blender/editors/uvedit/uvedit_parametrizer.c index c27750145197..ded4a4899c75 100644 --- a/source/blender/editors/uvedit/uvedit_parametrizer.c +++ b/source/blender/editors/uvedit/uvedit_parametrizer.c @@ -208,7 +208,7 @@ typedef struct PChart { } PChart; enum PChartFlag { - PCHART_NOPACK = 1 + PCHART_HAS_PINS = 1 }; enum PHandleState { @@ -996,6 +996,10 @@ static void p_split_vert(PChart *chart, PEdge *e) PVert *v = e->vert; PBool copy = P_TRUE; + if (e->flag & PEDGE_PIN) { + chart->flag |= PCHART_HAS_PINS; + } + if (e->flag & PEDGE_VERTEX_SPLIT) return; @@ -3062,9 +3066,6 @@ static void p_chart_lscm_begin(PChart *chart, PBool live, PBool abf) chart->u.lscm.pin1 = pin1; chart->u.lscm.pin2 = pin2; } - else { - chart->flag |= PCHART_NOPACK; - } for (v = chart->verts; v; v = v->nextlink) v->u.id = id++; @@ -4350,7 +4351,7 @@ void param_lscm_solve(ParamHandle *handle) if (chart->u.lscm.context) { result = p_chart_lscm_solve(phandle, chart); - if (result && !(chart->flag & PCHART_NOPACK)) + if (result && !(chart->flag & PCHART_HAS_PINS)) p_chart_rotate_minimum_area(chart); if (!result || (chart->u.lscm.pin1)) @@ -4457,7 +4458,7 @@ void param_smooth_area(ParamHandle *handle) } /* don't pack, just rotate (used for better packing) */ -static void param_pack_rotate(ParamHandle *handle) +static void param_pack_rotate(ParamHandle *handle, bool ignore_pinned) { PChart *chart; int i; @@ -4470,7 +4471,7 @@ static void param_pack_rotate(ParamHandle *handle) chart = phandle->charts[i]; - if (chart->flag & PCHART_NOPACK) { + if (ignore_pinned && (chart->flag & PCHART_HAS_PINS)) { continue; } @@ -4490,7 +4491,7 @@ static void param_pack_rotate(ParamHandle *handle) } } -void param_pack(ParamHandle *handle, float margin, bool do_rotate) +void param_pack(ParamHandle *handle, float margin, bool do_rotate, bool ignore_pinned) { /* box packing variables */ BoxPack *boxarray, *box; @@ -4508,7 +4509,7 @@ void param_pack(ParamHandle *handle, float margin, bool do_rotate) /* this could be its own function */ if (do_rotate) { - param_pack_rotate(handle); + param_pack_rotate(handle, ignore_pinned); } if (phandle->aspx != phandle->aspy) @@ -4521,7 +4522,7 @@ void param_pack(ParamHandle *handle, float margin, bool do_rotate) for (i = 0; i < phandle->ncharts; i++) { chart = phandle->charts[i]; - if (chart->flag & PCHART_NOPACK) { + if (ignore_pinned && (chart->flag & PCHART_HAS_PINS)) { unpacked++; continue; } @@ -4537,7 +4538,7 @@ void param_pack(ParamHandle *handle, float margin, bool do_rotate) box->w = chart->u.pack.size[0] + trans[0]; box->h = chart->u.pack.size[1] + trans[1]; - box->index = i; /* warning this index skips PCHART_NOPACK boxes */ + box->index = i; /* warning this index skips PCHART_HAS_PINS boxes */ if (margin > 0.0f) area += (double)sqrtf(box->w * box->h); @@ -4552,7 +4553,7 @@ void param_pack(ParamHandle *handle, float margin, bool do_rotate) for (i = 0; i < phandle->ncharts; i++) { chart = phandle->charts[i]; - if (chart->flag & PCHART_NOPACK) { + if (ignore_pinned && (chart->flag & PCHART_HAS_PINS)) { unpacked++; continue; } @@ -4588,7 +4589,7 @@ void param_pack(ParamHandle *handle, float margin, bool do_rotate) param_scale(handle, phandle->aspx, phandle->aspy); } -void param_average(ParamHandle *handle) +void param_average(ParamHandle *handle, bool ignore_pinned) { PChart *chart; int i; @@ -4604,8 +4605,9 @@ void param_average(ParamHandle *handle) PFace *f; chart = phandle->charts[i]; - if (chart->flag & PCHART_NOPACK) + if (ignore_pinned && (chart->flag & PCHART_HAS_PINS)) { continue; + } chart->u.pack.area = 0.0f; /* 3d area */ chart->u.pack.rescale = 0.0f; /* UV area, abusing rescale for tmp storage, oh well :/ */ @@ -4629,8 +4631,9 @@ void param_average(ParamHandle *handle) for (i = 0; i < phandle->ncharts; i++) { chart = phandle->charts[i]; - if (chart->flag & PCHART_NOPACK) + if (ignore_pinned && (chart->flag & PCHART_HAS_PINS)) { continue; + } if (chart->u.pack.area != 0.0f && chart->u.pack.rescale != 0.0f) { fac = chart->u.pack.area / chart->u.pack.rescale; diff --git a/source/blender/editors/uvedit/uvedit_parametrizer.h b/source/blender/editors/uvedit/uvedit_parametrizer.h index e42944f3da45..1930e0a9e8e9 100644 --- a/source/blender/editors/uvedit/uvedit_parametrizer.h +++ b/source/blender/editors/uvedit/uvedit_parametrizer.h @@ -98,11 +98,11 @@ void param_smooth_area(ParamHandle *handle); /* Packing */ -void param_pack(ParamHandle *handle, float margin, bool do_rotate); +void param_pack(ParamHandle *handle, float margin, bool do_rotate, bool ignore_pinned); /* Average area for all charts */ -void param_average(ParamHandle *handle); +void param_average(ParamHandle *handle, bool ignore_pinned); /* Simple x,y scale */ diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c index 55026c9e788d..6c818a6a75ec 100644 --- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c +++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c @@ -838,23 +838,23 @@ void UV_OT_minimize_stretch(wmOperatorType *ot) /* ******************** Pack Islands operator **************** */ -void ED_uvedit_pack_islands(Scene *scene, Object *ob, BMesh *bm, bool selected, bool correct_aspect, bool do_rotate) +static void uvedit_pack_islands(Scene *scene, Object *ob, BMesh *bm) { ParamHandle *handle; - handle = construct_param_handle(scene, ob, bm, true, false, selected, correct_aspect); - param_pack(handle, scene->toolsettings->uvcalc_margin, do_rotate); + handle = construct_param_handle(scene, ob, bm, true, false, false, false); + param_pack(handle, scene->toolsettings->uvcalc_margin, true, false); param_flush(handle); param_delete(handle); } -void ED_uvedit_pack_islands_multi( +static void uvedit_pack_islands_multi( Scene *scene, Object **objects, const uint objects_len, - bool selected, bool correct_aspect, bool do_rotate, bool implicit) + bool do_rotate, bool implicit, bool ignore_pinned) { ParamHandle *handle; handle = construct_param_handle_multi( - scene, objects, objects_len, implicit, false, selected, correct_aspect); - param_pack(handle, scene->toolsettings->uvcalc_margin, do_rotate); + scene, objects, objects_len, implicit, false, true, true); + param_pack(handle, scene->toolsettings->uvcalc_margin, do_rotate, ignore_pinned); param_flush(handle); param_delete(handle); } @@ -878,7 +878,7 @@ static int pack_islands_exec(bContext *C, wmOperator *op) else RNA_float_set(op->ptr, "margin", scene->toolsettings->uvcalc_margin); - ED_uvedit_pack_islands_multi(scene, objects, objects_len, true, true, do_rotate, true); + uvedit_pack_islands_multi(scene, objects, objects_len, do_rotate, true, false); for (uint ob_index = 0; ob_index < objects_len; ob_index++) { Object *obedit = objects[ob_index]; @@ -929,7 +929,7 @@ static int average_islands_scale_exec(bContext *C, wmOperator *UNUSED(op)) } handle = construct_param_handle_multi(scene, objects, objects_len, implicit, false, true, true); - param_average(handle); + param_average(handle, false); param_flush(handle); param_delete(handle); @@ -1406,10 +1406,10 @@ void ED_unwrap_lscm(Scene *scene, Object *obedit, const short sel, const bool pa param_lscm_solve(handle); param_lscm_end(handle); - param_average(handle); + param_average(handle, true); if (pack) { - param_pack(handle, scene->toolsettings->uvcalc_margin, false); + param_pack(handle, scene->toolsettings->uvcalc_margin, false, true); } param_flush(handle); @@ -1516,7 +1516,7 @@ static int unwrap_exec(bContext *C, wmOperator *op) WM_event_add_notifier(C, NC_GEOM | ND_DATA, obedit->data); } - ED_uvedit_pack_islands_multi(scene, objects, objects_len, true, true, true, implicit); + uvedit_pack_islands_multi(scene, objects, objects_len, true, implicit, true); MEM_freeN(objects); @@ -1981,7 +1981,7 @@ void UV_OT_cylinder_project(wmOperatorType *ot) /******************* Cube Project operator ****************/ -void ED_uvedit_unwrap_cube_project(BMesh *bm, float cube_size, bool use_select, const float center[3]) +static void uvedit_unwrap_cube_project(BMesh *bm, float cube_size, bool use_select, const float center[3]) { BMFace *efa; BMLoop *l; @@ -2066,7 +2066,7 @@ static int cube_project_exec(bContext *C, wmOperator *op) } } - ED_uvedit_unwrap_cube_project(em->bm, cube_size, true, center); + uvedit_unwrap_cube_project(em->bm, cube_size, true, center); uv_map_clip_correct(scene, obedit, op); @@ -2095,3 +2095,36 @@ void UV_OT_cube_project(wmOperatorType *ot) RNA_def_float(ot->srna, "cube_size", 1.0f, 0.0f, FLT_MAX, "Cube Size", "Size of the cube to project on", 0.001f, 100.0f); uv_map_clip_correct_properties(ot); } + +/************************* Simple UVs for texture painting *****************/ + +void ED_uvedit_add_simple_uvs(Main *bmain, Scene *scene, Object *ob) +{ + Mesh *me = ob->data; + bool sync_selection = (scene->toolsettings->uv_flag & UV_SYNC_SELECTION) != 0; + + BMesh *bm = BM_mesh_create( + &bm_mesh_allocsize_default, + &((struct BMeshCreateParams){.use_toolflags = false,})); + + /* turn sync selection off, since we are not in edit mode we need to ensure only the uv flags are tested */ + scene->toolsettings->uv_flag &= ~UV_SYNC_SELECTION; + + ED_mesh_uv_texture_ensure(me, NULL); + + BM_mesh_bm_from_me( + bm, me, (&(struct BMeshFromMeshParams){ + .calc_face_normal = true, + })); + /* select all uv loops first - pack parameters needs this to make sure charts are registered */ + ED_uvedit_select_all(bm); + uvedit_unwrap_cube_project(bm, 1.0, false, NULL); + /* set the margin really quickly before the packing operation*/ + scene->toolsettings->uvcalc_margin = 0.001f; + uvedit_pack_islands(scene, ob, bm); + BM_mesh_bm_to_me(bmain, bm, me, (&(struct BMeshToMeshParams){0})); + BM_mesh_free(bm); + + if (sync_selection) + scene->toolsettings->uv_flag |= UV_SYNC_SELECTION; +} From c16a5e772b2e120ff59964c11ab4424488947234 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 21 Dec 2018 16:49:55 +0100 Subject: [PATCH 12/94] Cleanup: Indentation --- source/blender/blenkernel/intern/sound.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c index 44aa69e3c8e4..1f1ad4c4f210 100644 --- a/source/blender/blenkernel/intern/sound.c +++ b/source/blender/blenkernel/intern/sound.c @@ -545,8 +545,8 @@ void *BKE_sound_add_scene_sound(struct Scene *scene, struct Sequence *sequence, void *BKE_sound_add_scene_sound_defaults(struct Scene *scene, struct Sequence *sequence) { return BKE_sound_add_scene_sound(scene, sequence, - sequence->startdisp, sequence->enddisp, - sequence->startofs + sequence->anim_startofs); + sequence->startdisp, sequence->enddisp, + sequence->startofs + sequence->anim_startofs); } void BKE_sound_remove_scene_sound(struct Scene *scene, void *handle) From d086c01645e4f089a0dfb03b0267a7107affc490 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 21 Dec 2018 16:50:59 +0100 Subject: [PATCH 13/94] Fix T59691: Crash when deleting data-block video or audio in a video editor --- source/blender/blenkernel/intern/sound.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c index 1f1ad4c4f210..829f0e0ab897 100644 --- a/source/blender/blenkernel/intern/sound.c +++ b/source/blender/blenkernel/intern/sound.c @@ -532,6 +532,10 @@ void *BKE_sound_scene_add_scene_sound_defaults(struct Scene *scene, struct Seque void *BKE_sound_add_scene_sound(struct Scene *scene, struct Sequence *sequence, int startframe, int endframe, int frameskip) { + /* Happens when sequence's sound datablock was removed. */ + if (sequence->sound == NULL) { + return NULL; + } const double fps = FPS; void *handle = AUD_Sequence_add(scene->sound_scene, sequence->sound->playback_handle, startframe / fps, endframe / fps, frameskip / fps); From 2ca4f4f0cb8d5d7e0b759fdc5b5a5b7adf7a5817 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 21 Dec 2018 16:53:33 +0100 Subject: [PATCH 14/94] Fix T59708: decimate modifier does not show face count before decimation. --- source/blender/modifiers/intern/MOD_decimate.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 28b38dc638c8..fff94e0d8366 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -88,6 +88,16 @@ static DecimateModifierData *getOriginalModifierData( return (DecimateModifierData *)modifiers_findByName(ob_orig, dmd->modifier.name); } +static void updateFaceCount( + const ModifierEvalContext *ctx, const DecimateModifierData *dmd, int face_count) +{ + if (DEG_is_active(ctx->depsgraph)) { + /* update for display only */ + DecimateModifierData *dmd_orig = getOriginalModifierData(dmd, ctx); + dmd_orig->face_count = face_count; + } +} + static Mesh *applyModifier( ModifierData *md, const ModifierEvalContext *ctx, Mesh *meshData) @@ -103,7 +113,7 @@ static Mesh *applyModifier( #endif /* set up front so we dont show invalid info in the UI */ - dmd->face_count = mesh->totpoly; + updateFaceCount(ctx, dmd, mesh->totpoly); switch (dmd->mode) { case MOD_DECIM_MODE_COLLAPSE: @@ -196,11 +206,7 @@ static Mesh *applyModifier( MEM_freeN(vweights); } - if (DEG_is_active(ctx->depsgraph)) { - /* update for display only */ - DecimateModifierData *dmd_orig = getOriginalModifierData(dmd, ctx); - dmd_orig->face_count = bm->totface; - } + updateFaceCount(ctx, dmd, bm->totface); result = BKE_mesh_from_bmesh_for_eval_nomain(bm, 0); BLI_assert(bm->vtoolflagpool == NULL && From 4eeab96f105f12cfbecc305c3f46475b6724470c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 21 Dec 2018 17:02:04 +0100 Subject: [PATCH 15/94] Cleanup: fix ATTR_FALLTHROUGH warnings. Ref D3960. --- intern/cycles/util/util_defines.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/intern/cycles/util/util_defines.h b/intern/cycles/util/util_defines.h index 429cfe647efa..2cb42d9bd56e 100644 --- a/intern/cycles/util/util_defines.h +++ b/intern/cycles/util/util_defines.h @@ -69,10 +69,12 @@ # endif /* _WIN32 && !FREE_WINDOWS */ /* Use to suppress '-Wimplicit-fallthrough' (in place of 'break'). */ -# if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */ -# define ATTR_FALLTHROUGH __attribute__((fallthrough)) -# else -# define ATTR_FALLTHROUGH ((void) 0) +# ifndef ATTR_FALLTHROUGH +# if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */ +# define ATTR_FALLTHROUGH __attribute__((fallthrough)) +# else +# define ATTR_FALLTHROUGH ((void) 0) +# endif # endif #endif /* __KERNEL_GPU__ */ From c93fd8438c86f7df1b938a37b6034764caff0638 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 21 Dec 2018 17:23:49 +0100 Subject: [PATCH 16/94] Cleanup: fix more ATTR_FALLTHROUGH warnings. Ref D3960. --- source/blender/blenlib/BLI_compiler_attrs.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/blender/blenlib/BLI_compiler_attrs.h b/source/blender/blenlib/BLI_compiler_attrs.h index 2b6baa0d67b0..09c0426db924 100644 --- a/source/blender/blenlib/BLI_compiler_attrs.h +++ b/source/blender/blenlib/BLI_compiler_attrs.h @@ -93,10 +93,12 @@ #endif /* Use to suppress '-Wimplicit-fallthrough' (in place of 'break'). */ -#if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */ -# define ATTR_FALLTHROUGH __attribute__((fallthrough)) -#else -# define ATTR_FALLTHROUGH ((void)0) +#ifndef ATTR_FALLTHROUGH +# if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */ +# define ATTR_FALLTHROUGH __attribute__((fallthrough)) +# else +# define ATTR_FALLTHROUGH ((void)0) +# endif #endif /* Declare the memory alignment in Bytes. */ From 8e331c34312e2a9945da84d9601fce8aba53f2ee Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 21 Dec 2018 18:51:13 +0100 Subject: [PATCH 17/94] Fix T59565: NaN/crash with zero radius tip of hair curves. --- intern/cycles/kernel/geom/geom_curve_intersect.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/intern/cycles/kernel/geom/geom_curve_intersect.h b/intern/cycles/kernel/geom/geom_curve_intersect.h index b6b58b52a292..5cf8713e3a83 100644 --- a/intern/cycles/kernel/geom/geom_curve_intersect.h +++ b/intern/cycles/kernel/geom/geom_curve_intersect.h @@ -874,13 +874,15 @@ ccl_device_inline float3 curve_refine(KernelGlobals *kg, float gd = isect->v; /* direction from inside to surface of curve */ - sd->Ng = (dif - tg * sd->u * l) / (P_curve[0].w + sd->u * l * gd); + float denom = fmaxf(P_curve[0].w + sd->u * l * gd, 1e-8f); + sd->Ng = (dif - tg * sd->u * l) / denom; /* adjustment for changing radius */ if(gd != 0.0f) { sd->Ng = sd->Ng - gd * tg; - sd->Ng = normalize(sd->Ng); } + + sd->Ng = normalize(sd->Ng); } sd->N = sd->Ng; From e119868caaed07314df3a1372fbeec975e73c8b3 Mon Sep 17 00:00:00 2001 From: Charlie Jolly Date: Fri, 21 Dec 2018 18:47:51 +0000 Subject: [PATCH 18/94] GP: Primitive: Changes from gp branch F-key to change stroke brush size Fix random bias for jitter --- .../blender/editors/gpencil/gpencil_intern.h | 1 + .../editors/gpencil/gpencil_primitive.c | 71 +++++++++++++++++-- source/blender/editors/include/ED_gpencil.h | 2 +- 3 files changed, 67 insertions(+), 7 deletions(-) diff --git a/source/blender/editors/gpencil/gpencil_intern.h b/source/blender/editors/gpencil/gpencil_intern.h index 668fc076b2ea..3fb2464aaf36 100644 --- a/source/blender/editors/gpencil/gpencil_intern.h +++ b/source/blender/editors/gpencil/gpencil_intern.h @@ -157,6 +157,7 @@ typedef struct tGPDprimitive { int type; /* type of primitive */ int orign_type; /* original type of primitive */ bool curve; /* type of primitive is a curve */ + int brush_size; /* brush size */ short flip; /* flip option */ tGPspoint *points; /* array of data-points for stroke */ int point_count; /* number of edges allocated */ diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c index a6c6c31a9ad4..5c72827fb9b5 100644 --- a/source/blender/editors/gpencil/gpencil_primitive.c +++ b/source/blender/editors/gpencil/gpencil_primitive.c @@ -96,6 +96,7 @@ #define IN_PROGRESS 1 #define IN_CURVE_EDIT 2 #define IN_MOVE 3 +#define IN_BRUSH_SIZE 4 #define SELECT_NONE 0 #define SELECT_START 1 @@ -375,6 +376,10 @@ static void gpencil_primitive_add_segment(tGPDprimitive *tgpi) /* Helper: set control point */ static void gp_primitive_set_cp(tGPDprimitive *tgpi, float p[2], float color[4], int size) { + if (tgpi->flag == IN_PROGRESS) { + return; + } + bGPDcontrolpoint *cp_points = tgpi->gpd->runtime.cp_points; if (tgpi->gpd->runtime.tot_cp_points < MAX_CP) { @@ -786,9 +791,10 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi) tGPspoint *p2d = &points2D[i]; /* set rnd value for reuse */ - if (p2d->rnd_dirty != true) { + if ((brush->gpencil_settings->flag & GP_BRUSH_GROUP_RANDOM) && (p2d->rnd_dirty != true)) { p2d->rnd[0] = BLI_rng_get_float(tgpi->rng); p2d->rnd[1] = BLI_rng_get_float(tgpi->rng); + p2d->rnd[2] = BLI_rng_get_float(tgpi->rng); p2d->rnd_dirty = true; } @@ -842,7 +848,7 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi) svec[0] = -mvec[1]; svec[1] = mvec[0]; - if (p2d->rnd[0] > 0.5f) { + if (p2d->rnd[1] > 0.5f) { mul_v2_fl(svec, -fac); } else { @@ -856,10 +862,10 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi) (brush->gpencil_settings->draw_random_press > 0.0f)) { if (p2d->rnd[0] > 0.5f) { - pressure -= brush->gpencil_settings->draw_random_press * p2d->rnd[0]; + pressure -= brush->gpencil_settings->draw_random_press * p2d->rnd[1]; } else { - pressure += brush->gpencil_settings->draw_random_press * p2d->rnd[0]; + pressure += brush->gpencil_settings->draw_random_press * p2d->rnd[2]; } } @@ -876,8 +882,8 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi) if ((brush->gpencil_settings->flag & GP_BRUSH_GROUP_RANDOM) && (brush->gpencil_settings->draw_random_strength > 0.0f)) { - if (p2d->rnd[1] > 0.5f) { - strength -= strength * brush->gpencil_settings->draw_random_strength * p2d->rnd[1]; + if (p2d->rnd[2] > 0.5f) { + strength -= strength * brush->gpencil_settings->draw_random_strength * p2d->rnd[0]; } else { strength += strength * brush->gpencil_settings->draw_random_strength * p2d->rnd[1]; @@ -1323,6 +1329,28 @@ static void gpencil_primitive_edit_event_handling(bContext *C, wmOperator *op, w } } +/* brush size */ +static void gpencil_primitive_size(tGPDprimitive *tgpi, bool reset) +{ + Brush * brush = tgpi->brush; + if (brush) { + if (reset) { + brush->size = tgpi->brush_size; + tgpi->brush_size = 0; + } + else { + if (tgpi->brush_size == 0) { + tgpi->brush_size = brush->size; + } + float move[2]; + sub_v2_v2v2(move, tgpi->mval, tgpi->mvalo); + int adjust = (move[1] > 0.0f) ? 1 : -1; + brush->size += adjust * (int)fabsf(len_manhattan_v2(move)); + } + CLAMP_MIN(brush->size, 1); + } +} + /* move */ static void gpencil_primitive_move(tGPDprimitive *tgpi, bool reset) { @@ -1385,6 +1413,29 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e copy_v2_v2(tgpi->mvalo, tgpi->mval); return OPERATOR_RUNNING_MODAL; } + else if (tgpi->flag == IN_BRUSH_SIZE) { + switch (event->type) { + case MOUSEMOVE: + gpencil_primitive_size(tgpi, false); + gpencil_primitive_update(C, op, tgpi); + break; + case ESCKEY: + case MIDDLEMOUSE: + case LEFTMOUSE: + tgpi->brush_size = 0; + tgpi->flag = IN_CURVE_EDIT; + break; + case RIGHTMOUSE: + if (event->val == KM_RELEASE) { + tgpi->flag = IN_CURVE_EDIT; + gpencil_primitive_size(tgpi, true); + gpencil_primitive_update(C, op, tgpi); + } + break; + } + copy_v2_v2(tgpi->mvalo, tgpi->mval); + return OPERATOR_RUNNING_MODAL; + } else if (tgpi->flag != IDLE) { gpencil_primitive_edit_event_handling(C, op, win, event, tgpi); } @@ -1477,6 +1528,14 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e } break; } + case FKEY: /* brush thickness */ + { + if ((event->val == KM_PRESS)) { + tgpi->flag = IN_BRUSH_SIZE; + WM_cursor_modal_set(win, BC_NS_SCROLLCURSOR); + } + break; + } case CKEY: /* curve mode */ { if ((event->val == KM_PRESS) && diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h index 4b419263a37f..fb216a8c9a98 100644 --- a/source/blender/editors/include/ED_gpencil.h +++ b/source/blender/editors/include/ED_gpencil.h @@ -79,7 +79,7 @@ typedef struct tGPspoint { float time; /* Time relative to stroke start (used when converting to path) */ float uv_fac; /* factor of uv along the stroke */ float uv_rot; /* uv rotation for dor mode */ - float rnd[2]; /* rnd value */ + float rnd[3]; /* rnd value */ bool rnd_dirty; /* rnd flag */ } tGPspoint; From e6e2f655857b43326d74577c50755409d7beaf53 Mon Sep 17 00:00:00 2001 From: mano-wii Date: Fri, 21 Dec 2018 16:56:55 -0200 Subject: [PATCH 19/94] Fix T59686: snap to adaptive grid occurs with a "delay" In blender 2.8, when you zoom in, the adaptive subdivisions appear earlier than previous versions. The grid still appears a little before the snap, but since it is very small I see no advantage in snap for this case. --- .../editors/space_view3d/view3d_draw.c | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 9fee8f38533e..b6ded48d53f3 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -791,19 +791,18 @@ float ED_view3d_grid_view_scale( /* Decrease the distance between grid snap points depending on zoom. */ float grid_subdiv = v3d->gridsubdiv; if (grid_subdiv > 1) { + /* Allow 3 more subdivisions (see OBJECT_engine_init). */ + grid_scale /= powf(grid_subdiv, 3); + float grid_distance = rv3d->dist; float lvl = (logf(grid_distance / grid_scale) / logf(grid_subdiv)); - if (lvl < 0.0f) { - /* Negative values need an offset for correct casting. - * By convention, the minimum lvl is limited to -2 (see `objec_mode.c`) */ - if (lvl > -2.0f) { - lvl -= 1.0f; - } - else { - lvl = -2.0f; - } - } - grid_scale *= pow(grid_subdiv, (int)lvl - 1); + + /* 1.3f is a visually chosen offset for the + * subdivision to match the displayed grid. */ + lvl -= 1.3f; + CLAMP_MIN(lvl, 0.0f); + + grid_scale *= pow(grid_subdiv, (int)lvl); } } From c79b8490976554d448435ae9b61d0697ad40e79f Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Thu, 20 Dec 2018 13:00:32 +0100 Subject: [PATCH 20/94] Fix T58327: Quick Favorites "Remove from Favorites" missing for added Modifiers Since user menu entries from SPACE_BUTS/SPACE_TOPBAR are also shown in other Editors (SPACE_VIEW3D), also allow these entries to be removed from Quick Favorites from these Editors. Match and deduplicate logic from screen_user_menu_draw() and ui_popup_context_menu_for_button(). Reviewers: campbellbarton, brecht Maniphest Tasks: T58327 Differential Revision: https://developer.blender.org/D4112 --- source/blender/editors/include/ED_screen.h | 2 +- .../interface/interface_context_menu.c | 11 +++++++-- .../blender/editors/screen/screen_user_menu.c | 24 +++++++++++-------- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index ce0c9468d1e5..35f5000f4b7c 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -310,7 +310,7 @@ bool ED_operator_camera(struct bContext *C); /* screen_user_menu.c */ -struct bUserMenu *ED_screen_user_menu_find(struct bContext *C); +bUserMenu **ED_screen_user_menus_find(struct bContext *C, uint *r_len); struct bUserMenu *ED_screen_user_menu_ensure(struct bContext *C); diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.c index d9967625199a..fc7d3293333d 100644 --- a/source/blender/editors/interface/interface_context_menu.c +++ b/source/blender/editors/interface/interface_context_menu.c @@ -699,8 +699,13 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but) "Add to a user defined context menu (stored in the user preferences)"); UI_but_func_set(but2, popup_user_menu_add_or_replace_func, but, NULL); - bUserMenu *um = ED_screen_user_menu_find(C); - if (um) { + uint um_array_len; + bUserMenu **um_array = ED_screen_user_menus_find(C, &um_array_len); + for (int um_index = 0; um_index < um_array_len; um_index++) { + bUserMenu *um = um_array[um_index]; + if (um == NULL) { + continue; + } bUserMenuItem *umi = ui_but_user_menu_find(C, but, um); if (umi != NULL) { but2 = uiDefIconTextBut( @@ -710,6 +715,8 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but) UI_but_func_set(but2, popup_user_menu_remove_func, um, umi); } } + MEM_freeN(um_array); + uiItemS(layout); } diff --git a/source/blender/editors/screen/screen_user_menu.c b/source/blender/editors/screen/screen_user_menu.c index 45f82618d2e7..fe2b144611e5 100644 --- a/source/blender/editors/screen/screen_user_menu.c +++ b/source/blender/editors/screen/screen_user_menu.c @@ -62,11 +62,19 @@ /** \name Menu Type * \{ */ -bUserMenu *ED_screen_user_menu_find(bContext *C) +bUserMenu **ED_screen_user_menus_find(bContext *C, uint *r_len) { SpaceLink *sl = CTX_wm_space_data(C); const char *context = CTX_data_mode_string(C); - return BKE_blender_user_menu_find(&U.user_menus, sl->spacetype, context); + + uint array_len = 3; + bUserMenu **um_array = MEM_calloc_arrayN(array_len, sizeof(*um_array), __func__); + um_array[0] = BKE_blender_user_menu_find(&U.user_menus, sl->spacetype, context); + um_array[1] = (sl->spacetype != SPACE_TOPBAR) ? BKE_blender_user_menu_find(&U.user_menus, SPACE_TOPBAR, context) : NULL; + um_array[2] = (sl->spacetype == SPACE_VIEW3D) ? BKE_blender_user_menu_find(&U.user_menus, SPACE_BUTS, context) : NULL; + + *r_len = array_len; + return um_array; } bUserMenu *ED_screen_user_menu_ensure(bContext *C) @@ -182,15 +190,10 @@ void ED_screen_user_menu_item_remove(ListBase *lb, bUserMenuItem *umi) static void screen_user_menu_draw(const bContext *C, Menu *menu) { - SpaceLink *sl = CTX_wm_space_data(C); - const char *context = CTX_data_mode_string(C); - bUserMenu *um_array[] = { - BKE_blender_user_menu_find(&U.user_menus, sl->spacetype, context), - (sl->spacetype != SPACE_TOPBAR) ? BKE_blender_user_menu_find(&U.user_menus, SPACE_TOPBAR, context) : NULL, - (sl->spacetype == SPACE_VIEW3D) ? BKE_blender_user_menu_find(&U.user_menus, SPACE_BUTS, context) : NULL, - }; + uint um_array_len; + bUserMenu **um_array = ED_screen_user_menus_find(C, &um_array_len); bool is_empty = true; - for (int um_index = 0; um_index < ARRAY_SIZE(um_array); um_index++) { + for (int um_index = 0; um_index < um_array_len; um_index++) { bUserMenu *um = um_array[um_index]; if (um == NULL) { continue; @@ -258,6 +261,7 @@ static void screen_user_menu_draw(const bContext *C, Menu *menu) } } } + MEM_freeN(um_array); if (is_empty) { uiItemL(menu->layout, IFACE_("No menu items found."), ICON_NONE); From afa3aec45d95c225c0388615ad5d0549769df1fe Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Fri, 21 Dec 2018 22:35:19 +0300 Subject: [PATCH 21/94] Fix T59734: cyclic dependency with drivers on PoseBone.bbone_*. Allow more flexible use of drivers on B-Bone properties by connecting the dependencies to the actual operation node that uses the values, instead of the whole component. --- source/blender/depsgraph/intern/depsgraph.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/depsgraph/intern/depsgraph.cc b/source/blender/depsgraph/intern/depsgraph.cc index f3f4d788da2c..006e246e2875 100644 --- a/source/blender/depsgraph/intern/depsgraph.cc +++ b/source/blender/depsgraph/intern/depsgraph.cc @@ -150,6 +150,11 @@ static bool pointer_to_component_node_criteria( /* Bone - generally, we just want the bone component. */ *type = DEG_NODE_TYPE_BONE; *subdata = pchan->name; + /* But B-Bone properties should connect to the actual operation. */ + if (!ELEM(NULL, pchan->bone, prop) && pchan->bone->segments > 1 && + STRPREFIX(RNA_property_identifier(prop), "bbone_")) { + *operation_code = DEG_OPCODE_BONE_SEGMENTS; + } } return true; } From f1f8859ad52bd274f96c965457d4f5aa999366e9 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 22 Dec 2018 08:14:41 +1100 Subject: [PATCH 22/94] Cleanup: const cast --- source/blender/editors/include/ED_screen.h | 2 +- source/blender/editors/screen/screen_user_menu.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index 35f5000f4b7c..4adf040f1eaf 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -310,7 +310,7 @@ bool ED_operator_camera(struct bContext *C); /* screen_user_menu.c */ -bUserMenu **ED_screen_user_menus_find(struct bContext *C, uint *r_len); +bUserMenu **ED_screen_user_menus_find(const struct bContext *C, uint *r_len); struct bUserMenu *ED_screen_user_menu_ensure(struct bContext *C); diff --git a/source/blender/editors/screen/screen_user_menu.c b/source/blender/editors/screen/screen_user_menu.c index fe2b144611e5..399cbb1057dc 100644 --- a/source/blender/editors/screen/screen_user_menu.c +++ b/source/blender/editors/screen/screen_user_menu.c @@ -62,7 +62,7 @@ /** \name Menu Type * \{ */ -bUserMenu **ED_screen_user_menus_find(bContext *C, uint *r_len) +bUserMenu **ED_screen_user_menus_find(const bContext *C, uint *r_len) { SpaceLink *sl = CTX_wm_space_data(C); const char *context = CTX_data_mode_string(C); From a451d4abbc1c9e1158338da3806f30ae0d15fd7b Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Fri, 21 Dec 2018 16:27:08 -0800 Subject: [PATCH 23/94] Fix T59644: FPS meter not showing in VSE Issue caused probably by typo --- release/scripts/addons | 2 +- release/scripts/addons_contrib | 2 +- source/blender/editors/space_sequencer/space_sequencer.c | 2 +- source/tools | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/release/scripts/addons b/release/scripts/addons index 0457976a8720..e3c9be92624d 160000 --- a/release/scripts/addons +++ b/release/scripts/addons @@ -1 +1 @@ -Subproject commit 0457976a872000993202763abe7503c76b461122 +Subproject commit e3c9be92624d93ba3eb78731887455fbf41040d6 diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib index ceb054a0f923..4c5ddaeb2d19 160000 --- a/release/scripts/addons_contrib +++ b/release/scripts/addons_contrib @@ -1 +1 @@ -Subproject commit ceb054a0f923fa49cd9e8ef20322261a26160151 +Subproject commit 4c5ddaeb2d1953ea9db10b2fdde2f93e19b1d6d7 diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c index 4e10ed62366a..3444ad7823e8 100644 --- a/source/blender/editors/space_sequencer/space_sequencer.c +++ b/source/blender/editors/space_sequencer/space_sequencer.c @@ -654,7 +654,7 @@ static void sequencer_preview_region_draw(const bContext *C, ARegion *ar) rcti rect; ED_region_visible_rect(ar, &rect); int xoffset = rect.xmin + U.widget_unit; - int yoffset = rect.xmax; + int yoffset = rect.ymax; ED_scene_draw_fps(scene, xoffset, &yoffset); } } diff --git a/source/tools b/source/tools index 2278dd8d6aea..279c373280e5 160000 --- a/source/tools +++ b/source/tools @@ -1 +1 @@ -Subproject commit 2278dd8d6aea4d56632dee37196a5e341ce99283 +Subproject commit 279c373280e54388ede50abea9d11d5cdaa1d567 From dafaa6f22881419ac55f2f3fe3de9ac4023aa108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sat, 22 Dec 2018 01:52:37 +0100 Subject: [PATCH 24/94] Fix T59505: Knife tool cut preview line becomes black The root of the problem is that KnifeTool_OpData->colors was not init in some cases. But the reason is unknown as it seems to be random and the init function was always called. So instead on init the color only once, we query the colors each time we draw the knife points. The overhead of this approach is negligeable. --- source/blender/editors/mesh/editmesh_knife.c | 28 +++++++++----------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index b89a7dd91a17..c95755b8cb5b 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -213,8 +213,6 @@ typedef struct KnifeTool_OpData { /* vector along view z axis (object space, normalized) */ float proj_zaxis[3]; - KnifeColors colors; - /* run by the UI or not */ bool is_interactive; @@ -1041,8 +1039,10 @@ static void knife_init_colors(KnifeColors *colors) static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void *arg) { const KnifeTool_OpData *kcd = arg; - GPU_depth_test(false); + KnifeColors colors; + knife_init_colors(&colors); + GPU_depth_test(false); glPolygonOffset(1.0f, 1.0f); GPU_matrix_push(); @@ -1058,7 +1058,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR); if (kcd->mode == MODE_DRAGGING) { - immUniformColor3ubv(kcd->colors.line); + immUniformColor3ubv(colors.line); GPU_line_width(2.0); immBegin(GPU_PRIM_LINES, 2); @@ -1068,7 +1068,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->prev.vert) { - immUniformColor3ubv(kcd->colors.point); + immUniformColor3ubv(colors.point); GPU_point_size(11); immBegin(GPU_PRIM_POINTS, 1); @@ -1077,7 +1077,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->prev.bmface) { - immUniformColor3ubv(kcd->colors.curpoint); + immUniformColor3ubv(colors.curpoint); GPU_point_size(9); immBegin(GPU_PRIM_POINTS, 1); @@ -1086,7 +1086,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->curr.edge) { - immUniformColor3ubv(kcd->colors.edge); + immUniformColor3ubv(colors.edge); GPU_line_width(2.0); immBegin(GPU_PRIM_LINES, 2); @@ -1095,7 +1095,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void immEnd(); } else if (kcd->curr.vert) { - immUniformColor3ubv(kcd->colors.point); + immUniformColor3ubv(colors.point); GPU_point_size(11); immBegin(GPU_PRIM_POINTS, 1); @@ -1104,7 +1104,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->curr.bmface) { - immUniformColor3ubv(kcd->colors.curpoint); + immUniformColor3ubv(colors.curpoint); GPU_point_size(9); immBegin(GPU_PRIM_POINTS, 1); @@ -1137,14 +1137,14 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void GPU_batch_program_set_builtin(batch, GPU_SHADER_3D_UNIFORM_COLOR); /* draw any snapped verts first */ - rgba_uchar_to_float(fcol, kcd->colors.point_a); + rgba_uchar_to_float(fcol, colors.point_a); GPU_batch_uniform_4fv(batch, "color", fcol); GPU_matrix_bind(batch->interface); GPU_point_size(11); GPU_batch_draw_range_ex(batch, 0, v - 1, false); /* now draw the rest */ - rgba_uchar_to_float(fcol, kcd->colors.curpoint_a); + rgba_uchar_to_float(fcol, colors.curpoint_a); GPU_batch_uniform_4fv(batch, "color", fcol); GPU_point_size(7); GPU_batch_draw_range_ex(batch, vs + 1, kcd->totlinehit - (vs + 1), false); @@ -1159,7 +1159,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void BLI_mempool_iter iter; KnifeEdge *kfe; - immUniformColor3ubv(kcd->colors.line); + immUniformColor3ubv(colors.line); GPU_line_width(1.0); GPUBatch *batch = immBeginBatchAtMost(GPU_PRIM_LINES, BLI_mempool_len(kcd->kedges) * 2); @@ -1183,7 +1183,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void BLI_mempool_iter iter; KnifeVert *kfv; - immUniformColor3ubv(kcd->colors.point); + immUniformColor3ubv(colors.point); GPU_point_size(5.0); GPUBatch *batch = immBeginBatchAtMost(GPU_PRIM_POINTS, BLI_mempool_len(kcd->kverts)); @@ -2682,8 +2682,6 @@ static void knifetool_init(bContext *C, KnifeTool_OpData *kcd, if (is_interactive) { kcd->draw_handle = ED_region_draw_cb_activate(kcd->ar->type, knifetool_draw, kcd, REGION_DRAW_POST_VIEW); - - knife_init_colors(&kcd->colors); } } From 4c5e76025d8399afbb1f4e3e8c6327011aa2f64b Mon Sep 17 00:00:00 2001 From: Antonioya Date: Sat, 22 Dec 2018 10:56:04 +0100 Subject: [PATCH 25/94] GP: Update Suzanne 2D object Review of the "D Suzanne to reduce number of points and small changes in shapes and colors. Designed by Matias Mendiola and Daniel M. Lara --- .../editors/gpencil/gpencil_add_monkey.c | 1881 +++++------------ 1 file changed, 485 insertions(+), 1396 deletions(-) diff --git a/source/blender/editors/gpencil/gpencil_add_monkey.c b/source/blender/editors/gpencil/gpencil_add_monkey.c index 3d0f302d538d..ce5d765ada47 100644 --- a/source/blender/editors/gpencil/gpencil_add_monkey.c +++ b/source/blender/editors/gpencil/gpencil_add_monkey.c @@ -54,7 +54,8 @@ typedef struct ColorTemplate { } ColorTemplate; /* Add color an ensure duplications (matched by name) */ -static int gpencil_monkey_color(Main *bmain, Object *ob, const ColorTemplate *pct) +static int gpencil_monkey_color( + Main *bmain, Object *ob, const ColorTemplate *pct, bool stroke, bool fill) { short *totcol = give_totcolp(ob); Material *ma = NULL; @@ -73,1311 +74,423 @@ static int gpencil_monkey_color(Main *bmain, Object *ob, const ColorTemplate *pc copy_v4_v4(ma->gp_style->stroke_rgba, pct->line); copy_v4_v4(ma->gp_style->fill_rgba, pct->fill); + if (!stroke) { + ma->gp_style->flag &= ~GP_STYLE_STROKE_SHOW; + } + + if (!fill) { + ma->gp_style->flag &= ~GP_STYLE_FILL_SHOW; + } + return BKE_gpencil_get_material_index(ob, ma) - 1; } /* ***************************************************************** */ /* Monkey Geometry */ - -static const float data0[538 * GP_PRIM_DATABUF_SIZE] = { - -0.509f, 0.0f, -0.156f, 0.267f, 0.362f, -0.522f, 0.0f, -0.159f, 0.31f, 0.407f, -0.531f, 0.0f, -0.16f, 0.347f, 0.426f, -0.543f, -0.0f, -0.162f, 0.38f, 0.439f, - -0.554f, -0.0f, -0.163f, 0.409f, 0.448f, -0.566f, -0.0f, -0.165f, 0.433f, 0.458f, -0.578f, -0.0f, -0.167f, 0.454f, 0.478f, -0.591f, -0.0f, -0.168f, 0.471f, 0.5f, - -0.604f, -0.0f, -0.169f, 0.485f, 0.51f, -0.619f, -0.0f, -0.171f, 0.496f, 0.516f, -0.634f, -0.0f, -0.171f, 0.504f, 0.519f, -0.649f, -0.0f, -0.171f, 0.511f, 0.519f, - -0.665f, -0.0f, -0.17f, 0.516f, 0.521f, -0.681f, -0.0f, -0.17f, 0.521f, 0.53f, -0.697f, -0.0f, -0.169f, 0.524f, 0.533f, -0.713f, -0.0f, -0.167f, 0.527f, 0.533f, - -0.729f, 0.0f, -0.165f, 0.53f, 0.534f, -0.745f, 0.0f, -0.161f, 0.531f, 0.534f, -0.761f, 0.0f, -0.157f, 0.533f, 0.535f, -0.777f, 0.0f, -0.153f, 0.534f, 0.535f, - -0.792f, 0.0f, -0.148f, 0.535f, 0.536f, -0.808f, 0.0f, -0.144f, 0.535f, 0.535f, -0.822f, 0.0f, -0.139f, 0.536f, 0.537f, -0.837f, 0.0f, -0.133f, 0.536f, 0.537f, - -0.852f, 0.0f, -0.128f, 0.536f, 0.537f, -0.866f, 0.0f, -0.122f, 0.536f, 0.537f, -0.88f, 0.0f, -0.115f, 0.536f, 0.537f, -0.894f, 0.0f, -0.109f, 0.536f, 0.537f, - -0.908f, 0.0f, -0.101f, 0.535f, 0.535f, -0.922f, 0.0f, -0.092f, 0.535f, 0.535f, -0.936f, 0.0f, -0.082f, 0.534f, 0.534f, -0.949f, 0.0f, -0.072f, 0.534f, 0.534f, - -0.963f, 0.0f, -0.061f, 0.534f, 0.534f, -0.976f, 0.0f, -0.05f, 0.534f, 0.534f, -0.988f, 0.0f, -0.039f, 0.534f, 0.534f, -1.0f, 0.0f, -0.028f, 0.533f, 0.534f, - -1.011f, 0.0f, -0.017f, 0.533f, 0.533f, -1.022f, 0.0f, -0.007f, 0.533f, 0.534f, -1.033f, 0.0f, 0.004f, 0.533f, 0.533f, -1.043f, 0.0f, 0.014f, 0.532f, 0.532f, - -1.053f, 0.0f, 0.025f, 0.532f, 0.532f, -1.062f, 0.0f, 0.036f, 0.531f, 0.531f, -1.071f, 0.0f, 0.046f, 0.531f, 0.531f, -1.078f, 0.0f, 0.057f, 0.531f, 0.531f, - -1.085f, 0.0f, 0.068f, 0.531f, 0.531f, -1.092f, 0.0f, 0.08f, 0.532f, 0.532f, -1.098f, 0.0f, 0.091f, 0.533f, 0.533f, -1.104f, 0.0f, 0.105f, 0.535f, 0.535f, - -1.11f, 0.0f, 0.119f, 0.539f, 0.539f, -1.115f, 0.0f, 0.133f, 0.54f, 0.54f, -1.118f, 0.0f, 0.148f, 0.541f, 0.541f, -1.121f, 0.0f, 0.162f, 0.542f, 0.542f, - -1.123f, 0.0f, 0.177f, 0.542f, 0.542f, -1.125f, 0.0f, 0.193f, 0.543f, 0.543f, -1.125f, 0.0f, 0.208f, 0.543f, 0.543f, -1.125f, 0.0f, 0.225f, 0.543f, 0.543f, - -1.124f, 0.0f, 0.241f, 0.545f, 0.545f, -1.122f, 0.0f, 0.258f, 0.546f, 0.546f, -1.119f, 0.0f, 0.274f, 0.548f, 0.548f, -1.116f, 0.0f, 0.29f, 0.549f, 0.549f, - -1.111f, 0.0f, 0.305f, 0.549f, 0.549f, -1.106f, 0.0f, 0.318f, 0.549f, 0.549f, -1.1f, 0.0f, 0.33f, 0.549f, 0.549f, -1.094f, 0.0f, 0.34f, 0.549f, 0.549f, - -1.087f, 0.0f, 0.349f, 0.55f, 0.55f, -1.08f, 0.0f, 0.357f, 0.549f, 0.549f, -1.072f, 0.0f, 0.365f, 0.55f, 0.55f, -1.063f, 0.0f, 0.372f, 0.551f, 0.551f, - -1.054f, 0.0f, 0.379f, 0.552f, 0.552f, -1.044f, 0.0f, 0.385f, 0.553f, 0.553f, -1.034f, 0.0f, 0.391f, 0.553f, 0.553f, -1.024f, 0.0f, 0.396f, 0.554f, 0.554f, - -1.013f, 0.0f, 0.401f, 0.554f, 0.554f, -1.003f, 0.0f, 0.405f, 0.554f, 0.554f, -0.991f, 0.0f, 0.409f, 0.554f, 0.554f, -0.978f, 0.0f, 0.412f, 0.555f, 0.555f, - -0.964f, -0.0f, 0.414f, 0.555f, 0.555f, -0.949f, -0.0f, 0.414f, 0.556f, 0.556f, -0.934f, -0.0f, 0.413f, 0.556f, 0.556f, -0.919f, -0.0f, 0.412f, 0.557f, 0.557f, - -0.905f, -0.0f, 0.41f, 0.557f, 0.557f, -0.892f, -0.0f, 0.406f, 0.557f, 0.557f, -0.879f, -0.0f, 0.402f, 0.557f, 0.558f, -0.867f, -0.0f, 0.398f, 0.557f, 0.557f, - -0.855f, -0.0f, 0.394f, 0.557f, 0.557f, -0.843f, -0.0f, 0.388f, 0.557f, 0.557f, -0.831f, -0.0f, 0.381f, 0.558f, 0.557f, -0.82f, -0.0f, 0.375f, 0.558f, 0.557f, - -0.81f, -0.0f, 0.368f, 0.558f, 0.558f, -0.801f, -0.0f, 0.362f, 0.558f, 0.558f, -0.793f, -0.0f, 0.357f, 0.557f, 0.559f, -0.784f, 0.0f, 0.353f, 0.557f, 0.559f, - -0.776f, 0.0f, 0.35f, 0.556f, 0.559f, -0.768f, 0.0f, 0.348f, 0.556f, 0.559f, -0.76f, 0.0f, 0.346f, 0.555f, 0.559f, -0.752f, 0.0f, 0.346f, 0.554f, 0.559f, - -0.744f, 0.0f, 0.347f, 0.553f, 0.554f, -0.737f, 0.0f, 0.348f, 0.552f, 0.548f, -0.729f, 0.0f, 0.351f, 0.551f, 0.544f, -0.723f, 0.0f, 0.355f, 0.551f, 0.546f, - -0.716f, 0.0f, 0.36f, 0.55f, 0.546f, -0.709f, 0.0f, 0.366f, 0.55f, 0.547f, -0.702f, 0.0f, 0.372f, 0.549f, 0.547f, -0.696f, 0.0f, 0.379f, 0.549f, 0.547f, - -0.689f, 0.0f, 0.386f, 0.549f, 0.548f, -0.683f, 0.0f, 0.394f, 0.549f, 0.548f, -0.676f, 0.0f, 0.403f, 0.549f, 0.549f, -0.67f, 0.0f, 0.413f, 0.549f, 0.548f, - -0.664f, 0.0f, 0.422f, 0.549f, 0.549f, -0.658f, 0.0f, 0.432f, 0.55f, 0.549f, -0.652f, 0.0f, 0.441f, 0.551f, 0.548f, -0.646f, 0.0f, 0.451f, 0.552f, 0.548f, - -0.639f, 0.0f, 0.46f, 0.554f, 0.548f, -0.632f, 0.0f, 0.469f, 0.556f, 0.549f, -0.624f, 0.0f, 0.478f, 0.559f, 0.549f, -0.616f, 0.0f, 0.487f, 0.563f, 0.549f, - -0.609f, 0.0f, 0.497f, 0.567f, 0.549f, -0.6f, 0.0f, 0.507f, 0.572f, 0.558f, -0.592f, 0.0f, 0.518f, 0.577f, 0.574f, -0.584f, 0.0f, 0.528f, 0.582f, 0.587f, - -0.575f, 0.0f, 0.538f, 0.586f, 0.592f, -0.566f, 0.0f, 0.548f, 0.591f, 0.595f, -0.556f, 0.0f, 0.557f, 0.594f, 0.597f, -0.546f, 0.0f, 0.567f, 0.597f, 0.598f, - -0.536f, 0.0f, 0.577f, 0.6f, 0.6f, -0.525f, 0.0f, 0.586f, 0.602f, 0.603f, -0.514f, 0.0f, 0.596f, 0.604f, 0.605f, -0.503f, 0.0f, 0.606f, 0.605f, 0.606f, - -0.492f, 0.0f, 0.615f, 0.606f, 0.607f, -0.482f, 0.0f, 0.624f, 0.607f, 0.607f, -0.471f, 0.0f, 0.632f, 0.608f, 0.607f, -0.462f, 0.0f, 0.64f, 0.609f, 0.607f, - -0.453f, 0.0f, 0.647f, 0.61f, 0.61f, -0.444f, 0.0f, 0.654f, 0.612f, 0.611f, -0.435f, 0.0f, 0.66f, 0.614f, 0.613f, -0.427f, 0.0f, 0.666f, 0.616f, 0.615f, - -0.418f, 0.0f, 0.672f, 0.617f, 0.618f, -0.409f, 0.0f, 0.677f, 0.619f, 0.621f, -0.399f, 0.0f, 0.683f, 0.621f, 0.622f, -0.389f, 0.0f, 0.69f, 0.623f, 0.623f, - -0.379f, 0.0f, 0.696f, 0.624f, 0.624f, -0.368f, 0.0f, 0.702f, 0.626f, 0.626f, -0.356f, 0.0f, 0.708f, 0.628f, 0.628f, -0.345f, 0.0f, 0.713f, 0.63f, 0.63f, - -0.333f, 0.0f, 0.719f, 0.633f, 0.631f, -0.32f, 0.0f, 0.724f, 0.637f, 0.632f, -0.307f, 0.0f, 0.729f, 0.641f, 0.64f, -0.294f, 0.0f, 0.732f, 0.646f, 0.644f, - -0.281f, 0.0f, 0.736f, 0.65f, 0.655f, -0.268f, 0.0f, 0.739f, 0.654f, 0.657f, -0.255f, 0.0f, 0.742f, 0.657f, 0.658f, -0.243f, 0.0f, 0.745f, 0.659f, 0.661f, - -0.23f, 0.0f, 0.747f, 0.662f, 0.663f, -0.217f, 0.0f, 0.75f, 0.664f, 0.664f, -0.203f, 0.0f, 0.753f, 0.666f, 0.666f, -0.19f, 0.0f, 0.755f, 0.667f, 0.668f, - -0.177f, 0.0f, 0.757f, 0.669f, 0.67f, -0.163f, 0.0f, 0.76f, 0.671f, 0.671f, -0.15f, 0.0f, 0.762f, 0.673f, 0.672f, -0.136f, 0.0f, 0.764f, 0.674f, 0.674f, - -0.122f, 0.0f, 0.767f, 0.676f, 0.676f, -0.108f, 0.0f, 0.769f, 0.677f, 0.678f, -0.093f, 0.0f, 0.771f, 0.678f, 0.68f, -0.079f, 0.0f, 0.773f, 0.678f, 0.68f, - -0.064f, 0.0f, 0.774f, 0.679f, 0.679f, -0.049f, 0.0f, 0.775f, 0.68f, 0.68f, -0.033f, 0.0f, 0.775f, 0.68f, 0.68f, -0.018f, 0.0f, 0.776f, 0.68f, 0.68f, - -0.002f, 0.0f, 0.776f, 0.681f, 0.68f, 0.013f, 0.0f, 0.777f, 0.681f, 0.681f, 0.029f, 0.0f, 0.777f, 0.682f, 0.681f, 0.045f, 0.0f, 0.777f, 0.682f, 0.681f, - 0.061f, 0.0f, 0.777f, 0.683f, 0.683f, 0.077f, 0.0f, 0.776f, 0.683f, 0.683f, 0.094f, 0.0f, 0.775f, 0.684f, 0.684f, 0.11f, 0.0f, 0.774f, 0.685f, 0.683f, - 0.126f, 0.0f, 0.773f, 0.685f, 0.685f, 0.142f, 0.0f, 0.771f, 0.687f, 0.685f, 0.158f, 0.0f, 0.769f, 0.688f, 0.685f, 0.174f, 0.0f, 0.767f, 0.69f, 0.686f, - 0.19f, 0.0f, 0.765f, 0.691f, 0.692f, 0.206f, 0.0f, 0.762f, 0.693f, 0.694f, 0.222f, 0.0f, 0.757f, 0.695f, 0.696f, 0.238f, 0.0f, 0.752f, 0.697f, 0.697f, - 0.254f, 0.0f, 0.747f, 0.699f, 0.698f, 0.27f, 0.0f, 0.742f, 0.7f, 0.7f, 0.286f, 0.0f, 0.736f, 0.702f, 0.702f, 0.302f, 0.0f, 0.73f, 0.704f, 0.704f, - 0.318f, 0.0f, 0.724f, 0.705f, 0.71f, 0.335f, 0.0f, 0.717f, 0.707f, 0.71f, 0.351f, 0.0f, 0.709f, 0.708f, 0.71f, 0.367f, 0.0f, 0.701f, 0.709f, 0.711f, - 0.382f, 0.0f, 0.692f, 0.71f, 0.713f, 0.397f, 0.0f, 0.683f, 0.711f, 0.713f, 0.41f, 0.0f, 0.675f, 0.712f, 0.713f, 0.422f, 0.0f, 0.666f, 0.712f, 0.714f, - 0.434f, 0.0f, 0.658f, 0.713f, 0.714f, 0.446f, 0.0f, 0.649f, 0.714f, 0.714f, 0.458f, 0.0f, 0.641f, 0.714f, 0.714f, 0.47f, 0.0f, 0.632f, 0.715f, 0.715f, - 0.483f, 0.0f, 0.622f, 0.715f, 0.716f, 0.496f, 0.0f, 0.611f, 0.715f, 0.716f, 0.51f, 0.0f, 0.6f, 0.716f, 0.717f, 0.523f, 0.0f, 0.588f, 0.716f, 0.716f, - 0.536f, 0.0f, 0.576f, 0.717f, 0.717f, 0.55f, 0.0f, 0.563f, 0.717f, 0.717f, 0.564f, 0.0f, 0.549f, 0.717f, 0.717f, 0.577f, 0.0f, 0.536f, 0.718f, 0.717f, - 0.59f, 0.0f, 0.522f, 0.718f, 0.717f, 0.603f, 0.0f, 0.508f, 0.718f, 0.718f, 0.615f, 0.0f, 0.496f, 0.718f, 0.718f, 0.625f, 0.0f, 0.484f, 0.718f, 0.718f, - 0.635f, 0.0f, 0.473f, 0.719f, 0.718f, 0.645f, 0.0f, 0.461f, 0.719f, 0.718f, 0.654f, 0.0f, 0.45f, 0.719f, 0.718f, 0.662f, 0.0f, 0.44f, 0.719f, 0.719f, - 0.67f, 0.0f, 0.431f, 0.719f, 0.719f, 0.676f, 0.0f, 0.422f, 0.719f, 0.719f, 0.682f, 0.0f, 0.414f, 0.719f, 0.719f, 0.687f, 0.0f, 0.407f, 0.719f, 0.719f, - 0.692f, 0.0f, 0.4f, 0.719f, 0.719f, 0.697f, 0.0f, 0.394f, 0.719f, 0.719f, 0.701f, 0.0f, 0.388f, 0.718f, 0.718f, 0.705f, 0.0f, 0.383f, 0.718f, 0.717f, - 0.708f, 0.0f, 0.378f, 0.718f, 0.717f, 0.711f, 0.0f, 0.374f, 0.717f, 0.717f, 0.714f, 0.0f, 0.37f, 0.717f, 0.717f, 0.717f, 0.0f, 0.366f, 0.717f, 0.717f, - 0.719f, 0.0f, 0.362f, 0.718f, 0.717f, 0.722f, 0.0f, 0.359f, 0.718f, 0.718f, 0.724f, 0.0f, 0.356f, 0.718f, 0.717f, 0.727f, 0.0f, 0.352f, 0.717f, 0.719f, - 0.73f, 0.0f, 0.349f, 0.717f, 0.719f, 0.734f, 0.0f, 0.347f, 0.715f, 0.719f, 0.737f, 0.0f, 0.344f, 0.714f, 0.714f, 0.742f, 0.0f, 0.341f, 0.713f, 0.709f, - 0.746f, 0.0f, 0.339f, 0.714f, 0.707f, 0.751f, 0.0f, 0.336f, 0.718f, 0.704f, 0.757f, 0.0f, 0.334f, 0.724f, 0.705f, 0.763f, 0.0f, 0.332f, 0.732f, 0.705f, - 0.769f, -0.0f, 0.329f, 0.742f, 0.704f, 0.775f, -0.0f, 0.328f, 0.753f, 0.713f, 0.782f, -0.0f, 0.327f, 0.764f, 0.804f, 0.789f, -0.0f, 0.327f, 0.774f, 0.813f, - 0.797f, -0.0f, 0.327f, 0.783f, 0.815f, 0.805f, -0.0f, 0.328f, 0.791f, 0.815f, 0.814f, -0.0f, 0.329f, 0.797f, 0.816f, 0.823f, -0.0f, 0.331f, 0.802f, 0.815f, - 0.832f, 0.0f, 0.335f, 0.806f, 0.816f, 0.841f, 0.0f, 0.341f, 0.809f, 0.816f, 0.851f, 0.0f, 0.346f, 0.811f, 0.816f, 0.861f, 0.0f, 0.351f, 0.812f, 0.816f, - 0.871f, 0.0f, 0.356f, 0.813f, 0.815f, 0.881f, 0.0f, 0.361f, 0.814f, 0.816f, 0.893f, 0.0f, 0.365f, 0.814f, 0.816f, 0.906f, 0.0f, 0.368f, 0.814f, 0.817f, - 0.922f, 0.0f, 0.372f, 0.813f, 0.816f, 0.939f, 0.0f, 0.375f, 0.812f, 0.817f, 0.957f, 0.0f, 0.377f, 0.811f, 0.817f, 0.977f, 0.0f, 0.379f, 0.81f, 0.815f, - 0.995f, 0.0f, 0.38f, 0.808f, 0.813f, 1.012f, 0.0f, 0.379f, 0.806f, 0.807f, 1.028f, 0.0f, 0.377f, 0.803f, 0.803f, 1.042f, 0.0f, 0.374f, 0.8f, 0.801f, - 1.054f, 0.0f, 0.371f, 0.797f, 0.8f, 1.065f, 0.0f, 0.366f, 0.794f, 0.8f, 1.076f, 0.0f, 0.361f, 0.791f, 0.792f, 1.085f, 0.0f, 0.355f, 0.788f, 0.781f, - 1.093f, 0.0f, 0.348f, 0.785f, 0.781f, 1.1f, 0.0f, 0.34f, 0.783f, 0.78f, 1.106f, 0.0f, 0.33f, 0.782f, 0.78f, 1.113f, 0.0f, 0.321f, 0.781f, 0.778f, - 1.117f, 0.0f, 0.31f, 0.78f, 0.777f, 1.122f, -0.0f, 0.299f, 0.779f, 0.777f, 1.125f, -0.0f, 0.286f, 0.778f, 0.776f, 1.129f, -0.0f, 0.274f, 0.778f, 0.777f, - 1.131f, -0.0f, 0.262f, 0.778f, 0.777f, 1.132f, -0.0f, 0.249f, 0.777f, 0.777f, 1.134f, -0.0f, 0.237f, 0.777f, 0.778f, 1.134f, -0.0f, 0.225f, 0.777f, 0.778f, - 1.135f, -0.0f, 0.213f, 0.776f, 0.777f, 1.134f, -0.0f, 0.201f, 0.776f, 0.776f, 1.134f, -0.0f, 0.189f, 0.776f, 0.775f, 1.132f, -0.0f, 0.177f, 0.775f, 0.776f, - 1.13f, -0.0f, 0.164f, 0.775f, 0.775f, 1.129f, -0.0f, 0.152f, 0.774f, 0.774f, 1.126f, -0.0f, 0.141f, 0.774f, 0.773f, 1.122f, -0.0f, 0.13f, 0.774f, 0.772f, - 1.118f, -0.0f, 0.118f, 0.773f, 0.772f, 1.113f, -0.0f, 0.108f, 0.773f, 0.773f, 1.107f, -0.0f, 0.097f, 0.773f, 0.774f, 1.102f, -0.0f, 0.087f, 0.772f, 0.773f, - 1.095f, -0.0f, 0.077f, 0.772f, 0.773f, 1.088f, -0.0f, 0.067f, 0.771f, 0.772f, 1.081f, -0.0f, 0.057f, 0.771f, 0.773f, 1.073f, -0.0f, 0.048f, 0.77f, 0.772f, - 1.066f, -0.0f, 0.038f, 0.769f, 0.767f, 1.058f, -0.0f, 0.029f, 0.768f, 0.766f, 1.05f, -0.0f, 0.019f, 0.768f, 0.765f, 1.041f, -0.0f, 0.011f, 0.767f, 0.765f, - 1.032f, -0.0f, 0.003f, 0.767f, 0.766f, 1.023f, -0.0f, -0.004f, 0.766f, 0.765f, 1.013f, -0.0f, -0.011f, 0.766f, 0.765f, 1.003f, -0.0f, -0.019f, 0.765f, 0.766f, - 0.993f, -0.0f, -0.026f, 0.765f, 0.765f, 0.983f, -0.0f, -0.034f, 0.764f, 0.765f, 0.972f, -0.0f, -0.041f, 0.762f, 0.765f, 0.962f, -0.0f, -0.048f, 0.761f, 0.765f, - 0.951f, -0.0f, -0.055f, 0.759f, 0.762f, 0.94f, -0.0f, -0.063f, 0.756f, 0.761f, 0.929f, -0.0f, -0.07f, 0.754f, 0.755f, 0.918f, -0.0f, -0.078f, 0.751f, 0.751f, - 0.907f, -0.0f, -0.085f, 0.748f, 0.747f, 0.896f, -0.0f, -0.092f, 0.745f, 0.744f, 0.884f, -0.0f, -0.099f, 0.742f, 0.742f, 0.873f, -0.0f, -0.105f, 0.739f, 0.738f, - 0.861f, -0.0f, -0.11f, 0.736f, 0.737f, 0.849f, 0.0f, -0.115f, 0.733f, 0.731f, 0.836f, 0.0f, -0.119f, 0.73f, 0.73f, 0.823f, 0.0f, -0.124f, 0.728f, 0.727f, - 0.81f, 0.0f, -0.128f, 0.725f, 0.725f, 0.796f, 0.0f, -0.132f, 0.723f, 0.723f, 0.783f, 0.0f, -0.136f, 0.72f, 0.719f, 0.77f, 0.0f, -0.141f, 0.718f, 0.717f, - 0.756f, 0.0f, -0.145f, 0.715f, 0.712f, 0.742f, 0.0f, -0.15f, 0.713f, 0.708f, 0.728f, 0.0f, -0.152f, 0.711f, 0.707f, 0.713f, 0.0f, -0.155f, 0.709f, 0.706f, - 0.699f, 0.0f, -0.156f, 0.706f, 0.706f, 0.684f, 0.0f, -0.158f, 0.704f, 0.705f, 0.67f, 0.0f, -0.159f, 0.702f, 0.705f, 0.656f, 0.0f, -0.16f, 0.7f, 0.704f, - 0.642f, 0.0f, -0.161f, 0.698f, 0.702f, 0.628f, 0.0f, -0.161f, 0.695f, 0.698f, 0.614f, 0.0f, -0.162f, 0.693f, 0.695f, 0.6f, 0.0f, -0.162f, 0.691f, 0.691f, - 0.587f, 0.0f, -0.162f, 0.688f, 0.686f, 0.574f, 0.0f, -0.162f, 0.686f, 0.685f, 0.561f, 0.0f, -0.161f, 0.683f, 0.683f, 0.548f, 0.0f, -0.161f, 0.681f, 0.683f, - 0.535f, 0.0f, -0.161f, 0.678f, 0.678f, 0.523f, 0.0f, -0.16f, 0.676f, 0.676f, 0.512f, 0.0f, -0.16f, 0.673f, 0.674f, 0.501f, 0.0f, -0.16f, 0.671f, 0.67f, - 0.49f, 0.0f, -0.16f, 0.668f, 0.668f, 0.48f, 0.0f, -0.161f, 0.666f, 0.663f, 0.469f, 0.0f, -0.162f, 0.665f, 0.66f, 0.458f, 0.0f, -0.165f, 0.663f, 0.66f, - 0.447f, 0.0f, -0.167f, 0.662f, 0.659f, 0.437f, 0.0f, -0.171f, 0.661f, 0.659f, 0.426f, 0.0f, -0.175f, 0.66f, 0.659f, 0.415f, 0.0f, -0.18f, 0.66f, 0.659f, - 0.404f, 0.0f, -0.185f, 0.659f, 0.659f, 0.393f, 0.0f, -0.191f, 0.659f, 0.657f, 0.383f, 0.0f, -0.196f, 0.659f, 0.657f, 0.373f, 0.0f, -0.202f, 0.658f, 0.659f, - 0.363f, -0.0f, -0.208f, 0.658f, 0.658f, 0.353f, -0.0f, -0.215f, 0.658f, 0.659f, 0.344f, -0.0f, -0.223f, 0.658f, 0.659f, 0.336f, -0.0f, -0.23f, 0.658f, 0.659f, - 0.327f, -0.0f, -0.238f, 0.658f, 0.658f, 0.319f, -0.0f, -0.245f, 0.657f, 0.657f, 0.312f, -0.0f, -0.253f, 0.657f, 0.656f, 0.305f, -0.0f, -0.261f, 0.656f, 0.658f, - 0.299f, -0.0f, -0.269f, 0.655f, 0.658f, 0.293f, 0.0f, -0.278f, 0.653f, 0.657f, 0.288f, 0.0f, -0.287f, 0.65f, 0.657f, 0.283f, 0.0f, -0.295f, 0.646f, 0.656f, - 0.279f, 0.0f, -0.304f, 0.642f, 0.655f, 0.275f, 0.0f, -0.313f, 0.637f, 0.642f, 0.271f, 0.0f, -0.322f, 0.633f, 0.637f, 0.268f, 0.0f, -0.331f, 0.628f, 0.609f, - 0.265f, 0.0f, -0.341f, 0.624f, 0.607f, 0.263f, 0.0f, -0.35f, 0.62f, 0.608f, 0.261f, 0.0f, -0.359f, 0.617f, 0.608f, 0.259f, 0.0f, -0.369f, 0.614f, 0.607f, - 0.258f, 0.0f, -0.379f, 0.612f, 0.606f, 0.257f, 0.0f, -0.389f, 0.61f, 0.606f, 0.258f, 0.0f, -0.399f, 0.609f, 0.605f, 0.258f, 0.0f, -0.41f, 0.608f, 0.604f, - 0.26f, 0.0f, -0.421f, 0.608f, 0.606f, 0.263f, 0.0f, -0.431f, 0.607f, 0.606f, 0.266f, 0.0f, -0.441f, 0.607f, 0.606f, 0.27f, 0.0f, -0.452f, 0.606f, 0.607f, - 0.274f, 0.0f, -0.463f, 0.606f, 0.607f, 0.279f, 0.0f, -0.475f, 0.605f, 0.607f, 0.283f, 0.0f, -0.487f, 0.604f, 0.607f, 0.288f, 0.0f, -0.498f, 0.603f, 0.607f, - 0.293f, 0.0f, -0.511f, 0.601f, 0.607f, 0.297f, 0.0f, -0.523f, 0.598f, 0.606f, 0.301f, 0.0f, -0.536f, 0.595f, 0.605f, 0.305f, 0.0f, -0.549f, 0.591f, 0.602f, - 0.309f, 0.0f, -0.562f, 0.588f, 0.597f, 0.312f, 0.0f, -0.576f, 0.583f, 0.585f, 0.315f, 0.0f, -0.59f, 0.579f, 0.577f, 0.318f, 0.0f, -0.604f, 0.574f, 0.576f, - 0.321f, 0.0f, -0.618f, 0.569f, 0.57f, 0.323f, 0.0f, -0.633f, 0.564f, 0.564f, 0.326f, 0.0f, -0.647f, 0.559f, 0.554f, 0.328f, 0.0f, -0.663f, 0.555f, 0.549f, - 0.33f, 0.0f, -0.678f, 0.551f, 0.546f, 0.332f, 0.0f, -0.693f, 0.547f, 0.543f, 0.334f, 0.0f, -0.709f, 0.544f, 0.543f, 0.336f, 0.0f, -0.726f, 0.541f, 0.541f, - 0.338f, 0.0f, -0.742f, 0.538f, 0.54f, 0.338f, 0.0f, -0.758f, 0.536f, 0.538f, 0.338f, 0.0f, -0.773f, 0.534f, 0.53f, 0.337f, 0.0f, -0.787f, 0.532f, 0.528f, - 0.337f, 0.0f, -0.801f, 0.53f, 0.528f, 0.336f, 0.0f, -0.814f, 0.529f, 0.528f, 0.334f, 0.0f, -0.827f, 0.527f, 0.528f, 0.333f, 0.0f, -0.84f, 0.525f, 0.529f, - 0.331f, 0.0f, -0.853f, 0.523f, 0.529f, 0.328f, 0.0f, -0.866f, 0.521f, 0.528f, 0.324f, 0.0f, -0.877f, 0.519f, 0.516f, 0.32f, 0.0f, -0.889f, 0.516f, 0.515f, - 0.315f, 0.0f, -0.9f, 0.513f, 0.515f, 0.31f, 0.0f, -0.91f, 0.51f, 0.514f, 0.304f, 0.0f, -0.921f, 0.507f, 0.513f, 0.297f, 0.0f, -0.931f, 0.505f, 0.507f, - 0.289f, 0.0f, -0.94f, 0.502f, 0.498f, 0.281f, 0.0f, -0.948f, 0.499f, 0.494f, 0.272f, 0.0f, -0.956f, 0.497f, 0.491f, 0.262f, 0.0f, -0.963f, 0.495f, 0.49f, - 0.253f, 0.0f, -0.969f, 0.494f, 0.491f, 0.242f, 0.0f, -0.975f, 0.493f, 0.491f, 0.231f, 0.0f, -0.98f, 0.492f, 0.49f, 0.22f, 0.0f, -0.986f, 0.491f, 0.489f, - 0.208f, 0.0f, -0.99f, 0.491f, 0.49f, 0.195f, 0.0f, -0.994f, 0.491f, 0.491f, 0.181f, 0.0f, -0.998f, 0.491f, 0.491f, 0.168f, 0.0f, -1.001f, 0.491f, 0.492f, - 0.154f, 0.0f, -1.005f, 0.491f, 0.492f, 0.141f, 0.0f, -1.008f, 0.492f, 0.492f, 0.126f, 0.0f, -1.01f, 0.492f, 0.492f, 0.112f, 0.0f, -1.011f, 0.492f, 0.492f, - 0.097f, 0.0f, -1.013f, 0.492f, 0.492f, 0.081f, 0.0f, -1.013f, 0.492f, 0.492f, 0.066f, 0.0f, -1.014f, 0.493f, 0.493f, 0.05f, 0.0f, -1.014f, 0.493f, 0.494f, - 0.035f, 0.0f, -1.014f, 0.493f, 0.494f, 0.019f, 0.0f, -1.013f, 0.493f, 0.494f, 0.004f, 0.0f, -1.012f, 0.493f, 0.494f, -0.011f, 0.0f, -1.011f, 0.493f, 0.493f, - -0.026f, 0.0f, -1.01f, 0.492f, 0.493f, -0.041f, 0.0f, -1.008f, 0.492f, 0.492f, -0.056f, 0.0f, -1.006f, 0.492f, 0.492f, -0.07f, 0.0f, -1.004f, 0.491f, 0.492f, - -0.084f, 0.0f, -1.001f, 0.491f, 0.492f, -0.098f, 0.0f, -0.999f, 0.491f, 0.491f, -0.112f, 0.0f, -0.995f, 0.491f, 0.49f, -0.125f, 0.0f, -0.992f, 0.49f, 0.49f, - -0.138f, 0.0f, -0.987f, 0.49f, 0.491f, -0.15f, 0.0f, -0.983f, 0.49f, 0.49f, -0.162f, 0.0f, -0.978f, 0.49f, 0.49f, -0.174f, 0.0f, -0.973f, 0.489f, 0.489f, - -0.185f, 0.0f, -0.967f, 0.489f, 0.488f, -0.196f, 0.0f, -0.961f, 0.489f, 0.489f, -0.207f, 0.0f, -0.955f, 0.489f, 0.489f, -0.218f, 0.0f, -0.949f, 0.489f, 0.49f, - -0.229f, 0.0f, -0.943f, 0.489f, 0.489f, -0.24f, 0.0f, -0.936f, 0.489f, 0.489f, -0.25f, 0.0f, -0.929f, 0.489f, 0.489f, -0.261f, 0.0f, -0.922f, 0.489f, 0.489f, - -0.271f, 0.0f, -0.914f, 0.489f, 0.49f, -0.28f, 0.0f, -0.907f, 0.49f, 0.49f, -0.289f, 0.0f, -0.898f, 0.49f, 0.489f, -0.298f, 0.0f, -0.89f, 0.49f, 0.489f, - -0.306f, 0.0f, -0.882f, 0.49f, 0.49f, -0.314f, 0.0f, -0.875f, 0.491f, 0.489f, -0.322f, 0.0f, -0.866f, 0.492f, 0.489f, -0.328f, 0.0f, -0.857f, 0.492f, 0.489f, - -0.333f, 0.0f, -0.847f, 0.493f, 0.49f, -0.336f, 0.0f, -0.836f, 0.494f, 0.488f, -0.338f, 0.0f, -0.824f, 0.496f, 0.49f, -0.338f, 0.0f, -0.811f, 0.497f, 0.49f, - -0.338f, 0.0f, -0.798f, 0.499f, 0.491f, -0.337f, 0.0f, -0.785f, 0.501f, 0.497f, -0.337f, 0.0f, -0.772f, 0.503f, 0.5f, -0.337f, 0.0f, -0.759f, 0.505f, 0.504f, - -0.336f, -0.0f, -0.746f, 0.507f, 0.505f, -0.336f, -0.0f, -0.733f, 0.51f, 0.51f, -0.335f, -0.0f, -0.719f, 0.512f, 0.513f, -0.334f, -0.0f, -0.706f, 0.515f, 0.515f, - -0.333f, -0.0f, -0.692f, 0.518f, 0.516f, -0.332f, -0.0f, -0.678f, 0.52f, 0.522f, -0.331f, -0.0f, -0.665f, 0.523f, 0.523f, -0.329f, -0.0f, -0.651f, 0.525f, 0.528f, - -0.327f, -0.0f, -0.637f, 0.528f, 0.53f, -0.325f, -0.0f, -0.624f, 0.53f, 0.532f, -0.322f, -0.0f, -0.61f, 0.532f, 0.534f, -0.319f, -0.0f, -0.597f, 0.535f, 0.535f, - -0.316f, -0.0f, -0.584f, 0.537f, 0.538f, -0.313f, -0.0f, -0.57f, 0.539f, 0.54f, -0.31f, -0.0f, -0.557f, 0.541f, 0.542f, -0.307f, -0.0f, -0.544f, 0.542f, 0.545f, - -0.303f, -0.0f, -0.531f, 0.544f, 0.546f, -0.3f, -0.0f, -0.519f, 0.546f, 0.549f, -0.298f, -0.0f, -0.506f, 0.547f, 0.549f, -0.295f, -0.0f, -0.494f, 0.548f, 0.549f, - -0.292f, -0.0f, -0.482f, 0.549f, 0.55f, -0.29f, -0.0f, -0.47f, 0.55f, 0.552f, -0.287f, -0.0f, -0.459f, 0.551f, 0.552f, -0.285f, -0.0f, -0.447f, 0.551f, 0.552f, - -0.284f, -0.0f, -0.436f, 0.552f, 0.552f, -0.282f, -0.0f, -0.425f, 0.552f, 0.553f, -0.281f, -0.0f, -0.413f, 0.553f, 0.553f, -0.28f, -0.0f, -0.402f, 0.553f, 0.553f, - -0.28f, -0.0f, -0.392f, 0.553f, 0.553f, -0.281f, -0.0f, -0.381f, 0.554f, 0.553f, -0.283f, -0.0f, -0.369f, 0.554f, 0.554f, -0.286f, -0.0f, -0.359f, 0.554f, 0.554f, - -0.289f, -0.0f, -0.348f, 0.555f, 0.554f, -0.294f, -0.0f, -0.337f, 0.555f, 0.555f, -0.299f, -0.0f, -0.327f, 0.555f, 0.554f, -0.305f, -0.0f, -0.317f, 0.556f, 0.555f, - -0.312f, -0.0f, -0.307f, 0.556f, 0.555f, -0.319f, -0.0f, -0.297f, 0.556f, 0.557f, -0.326f, 0.0f, -0.287f, 0.557f, 0.558f, -0.334f, 0.0f, -0.278f, 0.557f, 0.557f, - -0.341f, 0.0f, -0.268f, 0.557f, 0.558f, -0.349f, 0.0f, -0.259f, 0.558f, 0.558f, -0.359f, 0.0f, -0.251f, 0.558f, 0.558f, -0.368f, 0.0f, -0.243f, 0.558f, 0.558f, - -0.378f, 0.0f, -0.235f, 0.558f, 0.559f, -0.388f, 0.0f, -0.228f, 0.558f, 0.558f, -0.398f, 0.0f, -0.221f, 0.559f, 0.559f, -0.408f, 0.0f, -0.214f, 0.559f, 0.559f, - -0.418f, 0.0f, -0.208f, 0.559f, 0.559f, -0.427f, 0.0f, -0.202f, 0.559f, 0.558f, -0.436f, 0.0f, -0.196f, 0.559f, 0.559f, -0.445f, 0.0f, -0.191f, 0.559f, 0.559f, - -0.453f, 0.0f, -0.187f, 0.558f, 0.559f, -0.462f, 0.0f, -0.183f, 0.558f, 0.558f, -0.469f, 0.0f, -0.18f, 0.558f, 0.558f, -0.477f, 0.0f, -0.176f, 0.558f, 0.558f, - -0.484f, 0.0f, -0.174f, 0.557f, 0.558f, -0.493f, 0.0f, -0.17f, 0.555f, 0.559f, -}; - - -static const float data1[136 * GP_PRIM_DATABUF_SIZE] = { - -0.369f, 0.0f, -0.048f, 0.065f, 0.065f, -0.378f, 0.0f, -0.046f, 0.239f, 0.293f, -0.383f, 0.0f, -0.044f, 0.316f, 0.339f, -0.39f, 0.0f, -0.041f, 0.348f, 0.355f, - -0.398f, 0.0f, -0.038f, 0.364f, 0.368f, -0.405f, 0.0f, -0.035f, 0.373f, 0.374f, -0.413f, 0.0f, -0.031f, 0.381f, 0.381f, -0.421f, 0.0f, -0.026f, 0.388f, 0.391f, - -0.429f, 0.0f, -0.02f, 0.392f, 0.394f, -0.437f, 0.0f, -0.014f, 0.395f, 0.396f, -0.445f, 0.0f, -0.008f, 0.397f, 0.397f, -0.453f, 0.0f, -0.001f, 0.399f, 0.4f, - -0.461f, 0.0f, 0.007f, 0.401f, 0.401f, -0.468f, -0.0f, 0.016f, 0.404f, 0.404f, -0.474f, 0.0f, 0.023f, 0.406f, 0.407f, -0.479f, 0.0f, 0.03f, 0.409f, 0.409f, - -0.485f, 0.0f, 0.039f, 0.412f, 0.412f, -0.49f, 0.0f, 0.048f, 0.415f, 0.415f, -0.495f, 0.0f, 0.057f, 0.417f, 0.417f, -0.499f, 0.0f, 0.068f, 0.42f, 0.421f, - -0.503f, 0.0f, 0.079f, 0.421f, 0.421f, -0.507f, -0.0f, 0.091f, 0.423f, 0.423f, -0.51f, -0.0f, 0.102f, 0.424f, 0.424f, -0.513f, -0.0f, 0.112f, 0.424f, 0.425f, - -0.515f, -0.0f, 0.123f, 0.425f, 0.425f, -0.517f, -0.0f, 0.135f, 0.425f, 0.425f, -0.518f, -0.0f, 0.146f, 0.426f, 0.425f, -0.519f, -0.0f, 0.158f, 0.426f, 0.425f, - -0.52f, -0.0f, 0.169f, 0.426f, 0.426f, -0.52f, -0.0f, 0.181f, 0.427f, 0.427f, -0.519f, -0.0f, 0.192f, 0.427f, 0.427f, -0.518f, -0.0f, 0.203f, 0.427f, 0.427f, - -0.517f, -0.0f, 0.213f, 0.427f, 0.428f, -0.515f, -0.0f, 0.222f, 0.428f, 0.427f, -0.513f, -0.0f, 0.232f, 0.428f, 0.427f, -0.51f, -0.0f, 0.241f, 0.429f, 0.427f, - -0.508f, -0.0f, 0.25f, 0.43f, 0.428f, -0.505f, -0.0f, 0.259f, 0.431f, 0.431f, -0.501f, -0.0f, 0.267f, 0.431f, 0.432f, -0.497f, -0.0f, 0.276f, 0.432f, 0.433f, - -0.493f, -0.0f, 0.284f, 0.433f, 0.433f, -0.488f, -0.0f, 0.293f, 0.434f, 0.434f, -0.484f, -0.0f, 0.301f, 0.434f, 0.435f, -0.479f, -0.0f, 0.308f, 0.435f, 0.436f, - -0.474f, -0.0f, 0.316f, 0.435f, 0.435f, -0.468f, -0.0f, 0.322f, 0.436f, 0.436f, -0.463f, -0.0f, 0.329f, 0.436f, 0.436f, -0.457f, -0.0f, 0.335f, 0.436f, 0.436f, - -0.451f, -0.0f, 0.341f, 0.437f, 0.436f, -0.445f, -0.0f, 0.347f, 0.438f, 0.437f, -0.438f, -0.0f, 0.352f, 0.44f, 0.437f, -0.432f, -0.0f, 0.357f, 0.442f, 0.441f, - -0.426f, 0.0f, 0.362f, 0.444f, 0.446f, -0.419f, 0.0f, 0.366f, 0.445f, 0.447f, -0.413f, 0.0f, 0.369f, 0.446f, 0.447f, -0.407f, 0.0f, 0.373f, 0.446f, 0.447f, - -0.401f, 0.0f, 0.376f, 0.447f, 0.447f, -0.395f, 0.0f, 0.378f, 0.447f, 0.448f, -0.388f, 0.0f, 0.381f, 0.447f, 0.448f, -0.382f, 0.0f, 0.383f, 0.448f, 0.448f, - -0.375f, 0.0f, 0.384f, 0.448f, 0.448f, -0.369f, 0.0f, 0.386f, 0.448f, 0.448f, -0.362f, 0.0f, 0.387f, 0.448f, 0.448f, -0.355f, 0.0f, 0.388f, 0.448f, 0.448f, - -0.348f, 0.0f, 0.388f, 0.448f, 0.448f, -0.341f, 0.0f, 0.387f, 0.448f, 0.449f, -0.334f, 0.0f, 0.387f, 0.448f, 0.448f, -0.327f, 0.0f, 0.386f, 0.448f, 0.449f, - -0.32f, 0.0f, 0.384f, 0.449f, 0.449f, -0.313f, 0.0f, 0.382f, 0.449f, 0.449f, -0.307f, 0.0f, 0.38f, 0.449f, 0.449f, -0.3f, 0.0f, 0.377f, 0.449f, 0.45f, - -0.294f, 0.0f, 0.375f, 0.45f, 0.45f, -0.288f, -0.0f, 0.372f, 0.45f, 0.45f, -0.282f, -0.0f, 0.368f, 0.45f, 0.451f, -0.276f, -0.0f, 0.365f, 0.45f, 0.451f, - -0.27f, -0.0f, 0.361f, 0.45f, 0.451f, -0.264f, -0.0f, 0.357f, 0.45f, 0.451f, -0.258f, -0.0f, 0.352f, 0.45f, 0.45f, -0.251f, -0.0f, 0.347f, 0.45f, 0.451f, - -0.245f, -0.0f, 0.341f, 0.451f, 0.451f, -0.24f, -0.0f, 0.335f, 0.451f, 0.451f, -0.234f, -0.0f, 0.329f, 0.451f, 0.451f, -0.228f, -0.0f, 0.323f, 0.452f, 0.452f, - -0.223f, -0.0f, 0.316f, 0.452f, 0.453f, -0.218f, -0.0f, 0.309f, 0.452f, 0.453f, -0.213f, -0.0f, 0.301f, 0.453f, 0.453f, -0.208f, -0.0f, 0.294f, 0.453f, 0.453f, - -0.204f, -0.0f, 0.286f, 0.453f, 0.453f, -0.2f, -0.0f, 0.277f, 0.453f, 0.454f, -0.196f, -0.0f, 0.269f, 0.453f, 0.454f, -0.192f, -0.0f, 0.26f, 0.454f, 0.454f, - -0.189f, -0.0f, 0.25f, 0.454f, 0.454f, -0.186f, -0.0f, 0.241f, 0.454f, 0.455f, -0.183f, -0.0f, 0.231f, 0.454f, 0.455f, -0.181f, -0.0f, 0.221f, 0.454f, 0.455f, - -0.179f, -0.0f, 0.209f, 0.455f, 0.455f, -0.177f, -0.0f, 0.197f, 0.455f, 0.455f, -0.176f, -0.0f, 0.184f, 0.455f, 0.455f, -0.176f, -0.0f, 0.171f, 0.455f, 0.456f, - -0.176f, -0.0f, 0.158f, 0.455f, 0.456f, -0.177f, -0.0f, 0.145f, 0.455f, 0.456f, -0.178f, -0.0f, 0.132f, 0.455f, 0.456f, -0.18f, -0.0f, 0.12f, 0.456f, 0.456f, - -0.182f, -0.0f, 0.108f, 0.456f, 0.456f, -0.185f, -0.0f, 0.097f, 0.456f, 0.456f, -0.188f, -0.0f, 0.086f, 0.456f, 0.457f, -0.191f, -0.0f, 0.076f, 0.456f, 0.457f, - -0.194f, -0.0f, 0.067f, 0.457f, 0.457f, -0.198f, -0.0f, 0.058f, 0.457f, 0.457f, -0.202f, -0.0f, 0.05f, 0.457f, 0.457f, -0.206f, -0.0f, 0.042f, 0.457f, 0.457f, - -0.21f, -0.0f, 0.034f, 0.458f, 0.457f, -0.215f, -0.0f, 0.027f, 0.458f, 0.457f, -0.22f, -0.0f, 0.02f, 0.458f, 0.458f, -0.225f, -0.0f, 0.014f, 0.458f, 0.458f, - -0.23f, -0.0f, 0.007f, 0.458f, 0.458f, -0.235f, -0.0f, 0.002f, 0.459f, 0.458f, -0.24f, -0.0f, -0.004f, 0.459f, 0.458f, -0.246f, -0.0f, -0.009f, 0.46f, 0.459f, - -0.251f, 0.0f, -0.013f, 0.464f, 0.463f, -0.257f, 0.0f, -0.018f, 0.467f, 0.468f, -0.262f, 0.0f, -0.022f, 0.469f, 0.469f, -0.268f, 0.0f, -0.026f, 0.471f, 0.47f, - -0.274f, 0.0f, -0.029f, 0.477f, 0.478f, -0.28f, 0.0f, -0.033f, 0.478f, 0.478f, -0.286f, 0.0f, -0.036f, 0.478f, 0.478f, -0.292f, 0.0f, -0.038f, 0.479f, 0.479f, - -0.298f, 0.0f, -0.041f, 0.48f, 0.48f, -0.305f, 0.0f, -0.043f, 0.48f, 0.48f, -0.311f, 0.0f, -0.045f, 0.482f, 0.482f, -0.318f, 0.0f, -0.047f, 0.482f, 0.482f, - -0.324f, 0.0f, -0.048f, 0.482f, 0.482f, -0.331f, 0.0f, -0.049f, 0.48f, 0.482f, -0.336f, 0.0f, -0.05f, 0.457f, 0.485f, -0.344f, 0.0f, -0.05f, 0.32f, 0.32f, -}; - -static const float data2[2 * GP_PRIM_DATABUF_SIZE] = { - -0.512f, 0.0f, -0.168f, 0.545f, 0.557f, -0.521f, 0.0f, -0.167f, 0.535f, 0.558f, -}; - -static const float data3[1 * GP_PRIM_DATABUF_SIZE] = { - -1.014f, 0.0f, 0.186f, 0.0f, 0.003f, -}; - -static const float data4[1 * GP_PRIM_DATABUF_SIZE] = { - -1.014f, 0.0f, 0.186f, 0.02f, 0.02f, -}; - -static const float data5[48 * GP_PRIM_DATABUF_SIZE] = { - -1.014f, 0.0f, 0.187f, 0.066f, 0.066f, -1.013f, 0.0f, 0.2f, 0.222f, 0.356f, -1.01f, 0.0f, 0.208f, 0.295f, 0.404f, -1.006f, 0.0f, 0.218f, 0.354f, 0.431f, - -1.001f, 0.0f, 0.226f, 0.392f, 0.445f, -0.994f, 0.0f, 0.233f, 0.418f, 0.453f, -0.987f, 0.0f, 0.238f, 0.437f, 0.457f, -0.979f, 0.0f, 0.242f, 0.45f, 0.47f, - -0.97f, 0.0f, 0.245f, 0.459f, 0.473f, -0.96f, -0.0f, 0.246f, 0.465f, 0.474f, -0.951f, -0.0f, 0.245f, 0.469f, 0.475f, -0.942f, 0.0f, 0.242f, 0.471f, 0.473f, - -0.932f, 0.0f, 0.239f, 0.472f, 0.474f, -0.924f, 0.0f, 0.234f, 0.471f, 0.474f, -0.915f, 0.0f, 0.228f, 0.469f, 0.474f, -0.906f, 0.0f, 0.22f, 0.464f, 0.47f, - -0.898f, 0.0f, 0.212f, 0.458f, 0.46f, -0.89f, 0.0f, 0.203f, 0.451f, 0.453f, -0.882f, 0.0f, 0.193f, 0.443f, 0.443f, -0.875f, 0.0f, 0.182f, 0.435f, 0.437f, - -0.869f, 0.0f, 0.172f, 0.426f, 0.428f, -0.863f, 0.0f, 0.161f, 0.417f, 0.415f, -0.858f, 0.0f, 0.148f, 0.409f, 0.41f, -0.854f, 0.0f, 0.137f, 0.399f, 0.399f, - -0.85f, 0.0f, 0.126f, 0.39f, 0.392f, -0.847f, 0.0f, 0.116f, 0.379f, 0.386f, -0.846f, 0.0f, 0.109f, 0.369f, 0.371f, -0.846f, 0.0f, 0.104f, 0.361f, 0.357f, - -0.847f, 0.0f, 0.101f, 0.355f, 0.339f, -0.849f, 0.0f, 0.101f, 0.353f, 0.334f, -0.853f, 0.0f, 0.103f, 0.354f, 0.345f, -0.859f, 0.0f, 0.108f, 0.357f, 0.35f, - -0.865f, 0.0f, 0.116f, 0.363f, 0.365f, -0.873f, 0.0f, 0.126f, 0.369f, 0.375f, -0.881f, 0.0f, 0.137f, 0.375f, 0.379f, -0.89f, 0.0f, 0.149f, 0.381f, 0.38f, - -0.899f, 0.0f, 0.159f, 0.387f, 0.385f, -0.908f, 0.0f, 0.168f, 0.394f, 0.394f, -0.919f, 0.0f, 0.177f, 0.401f, 0.398f, -0.932f, 0.0f, 0.184f, 0.409f, 0.404f, - -0.945f, 0.0f, 0.191f, 0.418f, 0.415f, -0.958f, 0.0f, 0.195f, 0.427f, 0.431f, -0.969f, 0.0f, 0.197f, 0.434f, 0.443f, -0.979f, 0.0f, 0.197f, 0.436f, 0.445f, - -0.987f, 0.0f, 0.195f, 0.428f, 0.463f, -0.995f, 0.0f, 0.192f, 0.398f, 0.46f, -1.001f, 0.0f, 0.189f, 0.345f, 0.465f, -1.01f, 0.0f, 0.183f, 0.236f, 0.236f, -}; - -static const float data6[47 * GP_PRIM_DATABUF_SIZE] = { - 0.022f, 0.0f, -0.353f, 0.125f, 0.125f, 0.012f, 0.0f, -0.352f, 0.175f, 0.288f, 0.004f, 0.0f, -0.352f, 0.206f, 0.313f, -0.006f, 0.0f, -0.352f, 0.241f, 0.323f, - -0.017f, 0.0f, -0.352f, 0.27f, 0.33f, -0.029f, 0.0f, -0.351f, 0.295f, 0.334f, -0.041f, 0.0f, -0.349f, 0.314f, 0.337f, -0.052f, 0.0f, -0.344f, 0.327f, 0.341f, - -0.063f, 0.0f, -0.337f, 0.336f, 0.344f, -0.072f, 0.0f, -0.329f, 0.341f, 0.345f, -0.081f, 0.0f, -0.32f, 0.345f, 0.345f, -0.088f, 0.0f, -0.311f, 0.348f, 0.345f, - -0.093f, 0.0f, -0.303f, 0.352f, 0.347f, -0.098f, 0.0f, -0.295f, 0.356f, 0.352f, -0.101f, 0.0f, -0.287f, 0.361f, 0.357f, -0.102f, 0.0f, -0.279f, 0.367f, 0.364f, - -0.103f, 0.0f, -0.271f, 0.373f, 0.378f, -0.102f, 0.0f, -0.263f, 0.379f, 0.382f, -0.1f, 0.0f, -0.255f, 0.383f, 0.389f, -0.098f, 0.0f, -0.247f, 0.387f, 0.391f, - -0.094f, 0.0f, -0.24f, 0.389f, 0.393f, -0.09f, 0.0f, -0.233f, 0.391f, 0.393f, -0.086f, 0.0f, -0.227f, 0.392f, 0.393f, -0.082f, 0.0f, -0.222f, 0.393f, 0.393f, - -0.078f, 0.0f, -0.219f, 0.394f, 0.393f, -0.075f, 0.0f, -0.217f, 0.397f, 0.393f, -0.072f, 0.0f, -0.217f, 0.4f, 0.393f, -0.07f, 0.0f, -0.219f, 0.402f, 0.408f, - -0.069f, 0.0f, -0.222f, 0.404f, 0.408f, -0.069f, 0.0f, -0.228f, 0.406f, 0.409f, -0.069f, 0.0f, -0.234f, 0.407f, 0.409f, -0.07f, 0.0f, -0.241f, 0.408f, 0.409f, - -0.07f, 0.0f, -0.248f, 0.408f, 0.409f, -0.07f, 0.0f, -0.256f, 0.409f, 0.409f, -0.07f, 0.0f, -0.263f, 0.409f, 0.41f, -0.069f, 0.0f, -0.271f, 0.41f, 0.411f, - -0.068f, 0.0f, -0.279f, 0.41f, 0.411f, -0.065f, 0.0f, -0.287f, 0.41f, 0.411f, -0.062f, 0.0f, -0.295f, 0.409f, 0.411f, -0.057f, 0.0f, -0.303f, 0.409f, 0.409f, - -0.052f, 0.0f, -0.31f, 0.408f, 0.409f, -0.047f, 0.0f, -0.318f, 0.407f, 0.408f, -0.041f, 0.0f, -0.324f, 0.406f, 0.407f, -0.035f, 0.0f, -0.329f, 0.403f, 0.407f, - -0.027f, 0.0f, -0.333f, 0.4f, 0.408f, -0.021f, 0.0f, -0.336f, 0.398f, 0.403f, -0.012f, 0.0f, -0.339f, 0.393f, 0.393f, -}; - -static const float data7[162 * GP_PRIM_DATABUF_SIZE] = { - -0.291f, 0.0f, -0.34f, 0.093f, 0.093f, -0.289f, -0.0f, -0.35f, 0.149f, 0.176f, -0.287f, -0.0f, -0.357f, 0.182f, 0.242f, -0.284f, -0.0f, -0.365f, 0.215f, 0.257f, - -0.281f, -0.0f, -0.374f, 0.242f, 0.266f, -0.278f, -0.0f, -0.384f, 0.266f, 0.287f, -0.275f, -0.0f, -0.394f, 0.285f, 0.304f, -0.271f, 0.0f, -0.405f, 0.302f, 0.316f, - -0.267f, 0.0f, -0.417f, 0.317f, 0.326f, -0.263f, 0.0f, -0.429f, 0.33f, 0.337f, -0.259f, 0.0f, -0.442f, 0.342f, 0.346f, -0.256f, 0.0f, -0.454f, 0.354f, 0.351f, - -0.253f, 0.0f, -0.467f, 0.365f, 0.362f, -0.251f, 0.0f, -0.48f, 0.376f, 0.38f, -0.249f, -0.0f, -0.493f, 0.386f, 0.391f, -0.247f, -0.0f, -0.505f, 0.394f, 0.396f, - -0.246f, -0.0f, -0.518f, 0.401f, 0.405f, -0.245f, 0.0f, -0.53f, 0.408f, 0.409f, -0.245f, 0.0f, -0.542f, 0.415f, 0.413f, -0.245f, 0.0f, -0.554f, 0.421f, 0.42f, - -0.245f, 0.0f, -0.565f, 0.426f, 0.43f, -0.246f, 0.0f, -0.575f, 0.43f, 0.433f, -0.246f, -0.0f, -0.585f, 0.432f, 0.435f, -0.247f, -0.0f, -0.594f, 0.434f, 0.436f, - -0.247f, -0.0f, -0.603f, 0.435f, 0.436f, -0.248f, -0.0f, -0.612f, 0.436f, 0.436f, -0.25f, -0.0f, -0.621f, 0.437f, 0.438f, -0.252f, -0.0f, -0.631f, 0.437f, 0.438f, - -0.254f, -0.0f, -0.642f, 0.438f, 0.438f, -0.255f, 0.0f, -0.653f, 0.438f, 0.438f, -0.258f, 0.0f, -0.664f, 0.438f, 0.439f, -0.26f, 0.0f, -0.674f, 0.439f, 0.439f, - -0.261f, 0.0f, -0.685f, 0.439f, 0.439f, -0.262f, 0.0f, -0.696f, 0.439f, 0.439f, -0.264f, 0.0f, -0.706f, 0.439f, 0.439f, -0.265f, 0.0f, -0.717f, 0.439f, 0.439f, - -0.265f, 0.0f, -0.727f, 0.438f, 0.439f, -0.266f, 0.0f, -0.738f, 0.437f, 0.439f, -0.266f, 0.0f, -0.749f, 0.435f, 0.438f, -0.266f, 0.0f, -0.76f, 0.433f, 0.433f, - -0.265f, 0.0f, -0.771f, 0.431f, 0.428f, -0.265f, 0.0f, -0.781f, 0.43f, 0.428f, -0.263f, 0.0f, -0.792f, 0.429f, 0.428f, -0.26f, 0.0f, -0.802f, 0.428f, 0.429f, - -0.257f, 0.0f, -0.812f, 0.426f, 0.427f, -0.254f, 0.0f, -0.821f, 0.423f, 0.426f, -0.25f, 0.0f, -0.829f, 0.421f, 0.42f, -0.247f, 0.0f, -0.837f, 0.418f, 0.416f, - -0.242f, 0.0f, -0.844f, 0.417f, 0.415f, -0.238f, 0.0f, -0.85f, 0.415f, 0.413f, -0.234f, 0.0f, -0.857f, 0.415f, 0.413f, -0.229f, 0.0f, -0.864f, 0.414f, 0.413f, - -0.224f, 0.0f, -0.87f, 0.414f, 0.413f, -0.219f, 0.0f, -0.877f, 0.414f, 0.414f, -0.214f, 0.0f, -0.883f, 0.414f, 0.413f, -0.208f, 0.0f, -0.89f, 0.413f, 0.413f, - -0.203f, 0.0f, -0.897f, 0.413f, 0.413f, -0.197f, 0.0f, -0.903f, 0.413f, 0.413f, -0.191f, 0.0f, -0.909f, 0.413f, 0.413f, -0.186f, 0.0f, -0.914f, 0.413f, 0.413f, - -0.181f, 0.0f, -0.92f, 0.413f, 0.413f, -0.175f, -0.0f, -0.925f, 0.413f, 0.413f, -0.17f, -0.0f, -0.931f, 0.413f, 0.413f, -0.164f, -0.0f, -0.936f, 0.413f, 0.413f, - -0.159f, -0.0f, -0.942f, 0.413f, 0.413f, -0.152f, -0.0f, -0.948f, 0.413f, 0.413f, -0.145f, -0.0f, -0.955f, 0.413f, 0.413f, -0.137f, -0.0f, -0.961f, 0.414f, 0.413f, - -0.13f, -0.0f, -0.967f, 0.414f, 0.413f, -0.122f, -0.0f, -0.974f, 0.414f, 0.414f, -0.114f, -0.0f, -0.979f, 0.414f, 0.413f, -0.106f, -0.0f, -0.985f, 0.414f, 0.413f, - -0.098f, -0.0f, -0.989f, 0.414f, 0.414f, -0.091f, -0.0f, -0.993f, 0.414f, 0.413f, -0.083f, -0.0f, -0.997f, 0.414f, 0.414f, -0.075f, -0.0f, -0.999f, 0.414f, 0.414f, - -0.066f, -0.0f, -1.001f, 0.414f, 0.414f, -0.057f, -0.0f, -1.003f, 0.414f, 0.413f, -0.046f, -0.0f, -1.006f, 0.414f, 0.413f, -0.038f, -0.0f, -1.008f, 0.414f, 0.413f, - -0.031f, -0.0f, -1.009f, 0.421f, 0.413f, -0.036f, -0.0f, -1.008f, 0.423f, 0.424f, -0.045f, -0.0f, -1.006f, 0.425f, 0.425f, -0.054f, -0.0f, -1.005f, 0.425f, 0.425f, - -0.064f, -0.0f, -1.005f, 0.425f, 0.425f, -0.073f, -0.0f, -1.004f, 0.425f, 0.425f, -0.084f, -0.0f, -1.003f, 0.425f, 0.425f, -0.095f, -0.0f, -1.001f, 0.424f, 0.424f, - -0.105f, -0.0f, -0.997f, 0.423f, 0.424f, -0.116f, -0.0f, -0.994f, 0.422f, 0.422f, -0.127f, -0.0f, -0.991f, 0.421f, 0.419f, -0.137f, -0.0f, -0.987f, 0.42f, 0.419f, - -0.148f, -0.0f, -0.983f, 0.42f, 0.419f, -0.158f, -0.0f, -0.98f, 0.42f, 0.419f, -0.167f, -0.0f, -0.976f, 0.419f, 0.419f, -0.176f, -0.0f, -0.973f, 0.419f, 0.419f, - -0.184f, -0.0f, -0.969f, 0.419f, 0.419f, -0.192f, -0.0f, -0.966f, 0.419f, 0.418f, -0.2f, 0.0f, -0.962f, 0.419f, 0.418f, -0.207f, 0.0f, -0.957f, 0.419f, 0.419f, - -0.215f, 0.0f, -0.953f, 0.419f, 0.418f, -0.223f, 0.0f, -0.948f, 0.419f, 0.419f, -0.231f, 0.0f, -0.944f, 0.419f, 0.419f, -0.239f, 0.0f, -0.939f, 0.419f, 0.419f, - -0.247f, 0.0f, -0.934f, 0.419f, 0.419f, -0.255f, 0.0f, -0.929f, 0.419f, 0.419f, -0.262f, 0.0f, -0.924f, 0.419f, 0.419f, -0.269f, 0.0f, -0.919f, 0.419f, 0.418f, - -0.275f, 0.0f, -0.914f, 0.419f, 0.419f, -0.281f, 0.0f, -0.909f, 0.419f, 0.418f, -0.287f, 0.0f, -0.904f, 0.419f, 0.418f, -0.293f, 0.0f, -0.899f, 0.419f, 0.418f, - -0.299f, 0.0f, -0.894f, 0.42f, 0.419f, -0.304f, 0.0f, -0.888f, 0.421f, 0.42f, -0.311f, 0.0f, -0.882f, 0.423f, 0.422f, -0.317f, 0.0f, -0.876f, 0.424f, 0.424f, - -0.322f, 0.0f, -0.869f, 0.426f, 0.426f, -0.328f, 0.0f, -0.861f, 0.427f, 0.427f, -0.332f, 0.0f, -0.853f, 0.429f, 0.429f, -0.336f, 0.0f, -0.843f, 0.43f, 0.429f, - -0.339f, 0.0f, -0.834f, 0.432f, 0.431f, -0.341f, 0.0f, -0.821f, 0.435f, 0.434f, -0.342f, 0.0f, -0.809f, 0.438f, 0.439f, -0.343f, 0.0f, -0.796f, 0.44f, 0.44f, - -0.343f, 0.0f, -0.783f, 0.442f, 0.442f, -0.343f, 0.0f, -0.772f, 0.446f, 0.445f, -0.342f, 0.0f, -0.76f, 0.45f, 0.45f, -0.342f, 0.0f, -0.748f, 0.454f, 0.455f, - -0.34f, 0.0f, -0.735f, 0.457f, 0.457f, -0.339f, 0.0f, -0.723f, 0.46f, 0.46f, -0.338f, 0.0f, -0.711f, 0.463f, 0.464f, -0.336f, 0.0f, -0.7f, 0.465f, 0.465f, - -0.335f, 0.0f, -0.688f, 0.466f, 0.466f, -0.332f, 0.0f, -0.676f, 0.467f, 0.467f, -0.331f, 0.0f, -0.664f, 0.467f, 0.467f, -0.33f, 0.0f, -0.651f, 0.467f, 0.467f, - -0.328f, 0.0f, -0.638f, 0.467f, 0.467f, -0.325f, 0.0f, -0.625f, 0.467f, 0.467f, -0.323f, 0.0f, -0.614f, 0.467f, 0.467f, -0.321f, 0.0f, -0.603f, 0.467f, 0.466f, - -0.318f, 0.0f, -0.592f, 0.467f, 0.466f, -0.315f, 0.0f, -0.581f, 0.467f, 0.466f, -0.313f, 0.0f, -0.569f, 0.467f, 0.467f, -0.311f, -0.0f, -0.557f, 0.467f, 0.467f, - -0.309f, -0.0f, -0.543f, 0.467f, 0.467f, -0.306f, -0.0f, -0.531f, 0.467f, 0.467f, -0.303f, -0.0f, -0.519f, 0.467f, 0.467f, -0.301f, -0.0f, -0.507f, 0.467f, 0.468f, - -0.299f, -0.0f, -0.497f, 0.467f, 0.467f, -0.297f, -0.0f, -0.487f, 0.467f, 0.467f, -0.295f, 0.0f, -0.476f, 0.465f, 0.467f, -0.293f, 0.0f, -0.466f, 0.463f, 0.467f, - -0.292f, 0.0f, -0.456f, 0.46f, 0.466f, -0.291f, 0.0f, -0.445f, 0.455f, 0.459f, -0.29f, 0.0f, -0.435f, 0.449f, 0.457f, -0.29f, 0.0f, -0.424f, 0.44f, 0.448f, - -0.29f, 0.0f, -0.413f, 0.43f, 0.44f, -0.29f, 0.0f, -0.403f, 0.418f, 0.437f, -0.29f, -0.0f, -0.393f, 0.404f, 0.415f, -0.291f, -0.0f, -0.384f, 0.388f, 0.393f, - -0.29f, -0.0f, -0.376f, 0.374f, 0.379f, -0.29f, -0.0f, -0.365f, 0.352f, 0.352f, -}; - -static const float data8[55 * GP_PRIM_DATABUF_SIZE] = { - 0.781f, 0.0f, 0.098f, 0.109f, 0.109f, 0.784f, 0.0f, 0.105f, 0.202f, 0.338f, 0.785f, 0.0f, 0.108f, 0.254f, 0.369f, 0.787f, 0.0f, 0.113f, 0.306f, 0.382f, - 0.787f, 0.0f, 0.118f, 0.344f, 0.392f, 0.789f, 0.0f, 0.123f, 0.372f, 0.401f, 0.79f, 0.0f, 0.128f, 0.392f, 0.41f, 0.792f, 0.0f, 0.135f, 0.406f, 0.42f, - 0.794f, 0.0f, 0.142f, 0.416f, 0.424f, 0.797f, 0.0f, 0.152f, 0.424f, 0.428f, 0.801f, 0.0f, 0.161f, 0.429f, 0.431f, 0.807f, 0.0f, 0.172f, 0.432f, 0.435f, - 0.814f, 0.0f, 0.182f, 0.435f, 0.438f, 0.821f, 0.0f, 0.19f, 0.437f, 0.439f, 0.828f, 0.0f, 0.197f, 0.439f, 0.44f, 0.836f, 0.0f, 0.204f, 0.44f, 0.441f, - 0.845f, -0.0f, 0.211f, 0.44f, 0.441f, 0.853f, -0.0f, 0.215f, 0.441f, 0.441f, 0.861f, -0.0f, 0.219f, 0.441f, 0.441f, 0.87f, -0.0f, 0.222f, 0.441f, 0.442f, - 0.878f, -0.0f, 0.224f, 0.441f, 0.442f, 0.886f, -0.0f, 0.226f, 0.441f, 0.442f, 0.895f, -0.0f, 0.227f, 0.44f, 0.442f, 0.903f, 0.0f, 0.226f, 0.439f, 0.441f, - 0.911f, 0.0f, 0.225f, 0.436f, 0.441f, 0.919f, 0.0f, 0.224f, 0.432f, 0.441f, 0.927f, 0.0f, 0.221f, 0.425f, 0.436f, 0.934f, 0.0f, 0.218f, 0.415f, 0.429f, - 0.94f, 0.0f, 0.215f, 0.404f, 0.406f, 0.944f, 0.0f, 0.211f, 0.393f, 0.389f, 0.947f, 0.0f, 0.208f, 0.384f, 0.378f, 0.948f, 0.0f, 0.204f, 0.376f, 0.371f, - 0.946f, 0.0f, 0.2f, 0.369f, 0.364f, 0.943f, 0.0f, 0.196f, 0.365f, 0.358f, 0.937f, 0.0f, 0.193f, 0.364f, 0.354f, 0.931f, 0.0f, 0.189f, 0.366f, 0.359f, - 0.925f, 0.0f, 0.186f, 0.37f, 0.367f, 0.917f, 0.0f, 0.182f, 0.374f, 0.375f, 0.908f, 0.0f, 0.177f, 0.378f, 0.382f, 0.899f, 0.0f, 0.172f, 0.381f, 0.384f, - 0.889f, 0.0f, 0.167f, 0.384f, 0.385f, 0.876f, 0.0f, 0.163f, 0.387f, 0.387f, 0.864f, 0.0f, 0.156f, 0.39f, 0.388f, 0.852f, 0.0f, 0.15f, 0.393f, 0.39f, - 0.841f, 0.0f, 0.144f, 0.396f, 0.396f, 0.832f, 0.0f, 0.138f, 0.399f, 0.401f, 0.826f, 0.0f, 0.133f, 0.401f, 0.404f, 0.82f, 0.0f, 0.127f, 0.403f, 0.405f, - 0.816f, 0.0f, 0.122f, 0.403f, 0.407f, 0.812f, 0.0f, 0.119f, 0.399f, 0.406f, 0.808f, 0.0f, 0.115f, 0.39f, 0.405f, 0.805f, 0.0f, 0.113f, 0.371f, 0.407f, - 0.801f, 0.0f, 0.111f, 0.341f, 0.407f, 0.799f, 0.0f, 0.109f, 0.309f, 0.405f, 0.795f, 0.0f, 0.106f, 0.255f, 0.255f, +static const float data0[270 * GP_PRIM_DATABUF_SIZE] = { +-0.4911f, 0.0f, -0.1781f, 0.267f, 0.362f,-0.5168f, 0.0f, -0.1806f, 0.31f, 0.407f,-0.5361f, 0.0f, -0.1817f, 0.38f, 0.439f,-0.5618f, 0.0f, -0.1829f, 0.433f, 0.458f, +-0.5892f, 0.0f, -0.1827f, 0.471f, 0.5f,-0.6193f, 0.0f, -0.1814f, 0.496f, 0.516f,-0.6499f, 0.0f, -0.1782f, 0.511f, 0.519f,-0.6808f, 0.0f, -0.1729f, 0.521f, 0.53f, +-0.7107f, 0.0f, -0.1651f, 0.527f, 0.533f,-0.7404f, 0.0f, -0.1555f, 0.531f, 0.534f,-0.7698f, 0.0f, -0.1447f, 0.534f, 0.535f,-0.7993f, 0.0f, -0.1332f, 0.535f, 0.535f, +-0.8289f, -0.0f, -0.1209f, 0.536f, 0.537f,-0.8586f, -0.0f, -0.109f, 0.536f, 0.537f,-0.8871f, -0.0f, -0.0973f, 0.536f, 0.537f,-0.9125f, 0.0f, -0.0838f, 0.535f, 0.535f, +-0.9353f, 0.0f, -0.0688f, 0.534f, 0.534f,-0.9561f, 0.0f, -0.0525f, 0.534f, 0.534f,-0.9752f, 0.0f, -0.0346f, 0.533f, 0.534f,-0.9944f, 0.0f, -0.016f, 0.533f, 0.534f, +-1.0148f, 0.0f, 0.0028f, 0.532f, 0.532f,-1.0348f, 0.0f, 0.0215f, 0.531f, 0.531f,-1.05f, 0.0f, 0.0407f, 0.531f, 0.531f,-1.0639f, 0.0f, 0.0613f, 0.532f, 0.532f, +-1.0752f, 0.0f, 0.0838f, 0.535f, 0.535f,-1.0848f, 0.0f, 0.1082f, 0.54f, 0.54f,-1.0936f, 0.0f, 0.1346f, 0.542f, 0.542f,-1.1024f, 0.0f, 0.1639f, 0.543f, 0.543f, +-1.1102f, 0.0f, 0.1953f, 0.543f, 0.543f,-1.1128f, 0.0f, 0.2277f, 0.546f, 0.546f,-1.1091f, 0.0f, 0.2579f, 0.549f, 0.549f,-1.1023f, 0.0f, 0.2849f, 0.549f, 0.549f, +-1.0934f, 0.0f, 0.3086f, 0.549f, 0.549f,-1.0831f, 0.0f, 0.3285f, 0.549f, 0.549f,-1.0724f, 0.0f, 0.3451f, 0.551f, 0.551f,-1.0607f, 0.0f, 0.3594f, 0.553f, 0.553f, +-1.0474f, 0.0f, 0.3713f, 0.554f, 0.554f,-1.031f, 0.0f, 0.3804f, 0.554f, 0.554f,-1.0108f, 0.0f, 0.3874f, 0.555f, 0.555f,-0.9862f, 0.0f, 0.3922f, 0.556f, 0.556f, +-0.9568f, 0.0f, 0.3941f, 0.557f, 0.557f,-0.9243f, 0.0f, 0.3934f, 0.557f, 0.557f,-0.8897f, 0.0f, 0.3861f, 0.557f, 0.557f,-0.8556f, 0.0f, 0.3754f, 0.557f, 0.557f, +-0.8237f, 0.0f, 0.3608f, 0.558f, 0.557f,-0.7982f, 0.0f, 0.344f, 0.558f, 0.558f,-0.7786f, 0.0f, 0.329f, 0.557f, 0.559f,-0.7633f, 0.0f, 0.3183f, 0.556f, 0.559f, +-0.7498f, 0.0f, 0.3135f, 0.554f, 0.559f,-0.7374f, 0.0f, 0.3134f, 0.552f, 0.548f,-0.7261f, 0.0f, 0.3179f, 0.551f, 0.546f,-0.7146f, 0.0f, 0.3262f, 0.55f, 0.547f, +-0.703f, 0.0f, 0.3395f, 0.549f, 0.547f,-0.692f, 0.0f, 0.3576f, 0.549f, 0.548f,-0.6831f, 0.0f, 0.3806f, 0.549f, 0.548f,-0.6748f, 0.0f, 0.4052f, 0.55f, 0.549f, +-0.6648f, 0.0f, 0.4305f, 0.552f, 0.548f,-0.6527f, 0.0f, 0.4549f, 0.556f, 0.549f,-0.6375f, 0.0f, 0.4783f, 0.563f, 0.549f,-0.6195f, 0.0f, 0.5021f, 0.572f, 0.558f, +-0.5985f, 0.0f, 0.5256f, 0.582f, 0.587f,-0.5775f, -0.0f, 0.5488f, 0.591f, 0.595f,-0.556f, -0.0f, 0.5715f, 0.597f, 0.598f,-0.5339f, -0.0f, 0.593f, 0.602f, 0.603f, +-0.5119f, -0.0f, 0.613f, 0.605f, 0.606f,-0.4905f, -0.0f, 0.6312f, 0.607f, 0.607f,-0.4697f, -0.0f, 0.6474f, 0.609f, 0.607f,-0.4499f, -0.0f, 0.6613f, 0.612f, 0.611f, +-0.4306f, -0.0f, 0.6734f, 0.616f, 0.615f,-0.4116f, -0.0f, 0.6845f, 0.619f, 0.621f,-0.3918f, -0.0f, 0.6954f, 0.623f, 0.623f,-0.3709f, -0.0f, 0.7059f, 0.626f, 0.626f, +-0.3486f, -0.0f, 0.7157f, 0.63f, 0.63f,-0.3251f, -0.0f, 0.7249f, 0.637f, 0.632f,-0.3006f, -0.0f, 0.7333f, 0.646f, 0.644f,-0.2755f, -0.0f, 0.7414f, 0.654f, 0.657f, +-0.25f, -0.0f, 0.7489f, 0.659f, 0.661f,-0.2242f, -0.0f, 0.7562f, 0.664f, 0.664f,-0.1979f, -0.0f, 0.7631f, 0.667f, 0.668f,-0.171f, -0.0f, 0.7695f, 0.671f, 0.671f, +-0.1434f, -0.0f, 0.7752f, 0.674f, 0.674f,-0.1151f, -0.0f, 0.7801f, 0.677f, 0.678f,-0.0861f, -0.0f, 0.7841f, 0.678f, 0.68f,-0.0563f, -0.0f, 0.7869f, 0.68f, 0.68f, +-0.026f, -0.0f, 0.7889f, 0.68f, 0.68f,0.0049f, -0.0f, 0.7899f, 0.681f, 0.681f,0.0362f, -0.0f, 0.7898f, 0.682f, 0.681f,0.0679f, -0.0f, 0.7881f, 0.683f, 0.683f, +0.0996f, -0.0f, 0.7853f, 0.685f, 0.683f,0.1313f, -0.0f, 0.7812f, 0.687f, 0.685f,0.1632f, -0.0f, 0.7756f, 0.69f, 0.686f,0.1953f, -0.0f, 0.7687f, 0.693f, 0.694f, +0.2277f, -0.0f, 0.7608f, 0.697f, 0.697f,0.2606f, -0.0f, 0.7513f, 0.7f, 0.7f,0.2934f, -0.0f, 0.7404f, 0.704f, 0.704f,0.3258f, -0.0f, 0.7276f, 0.707f, 0.71f, +0.357f, -0.0f, 0.7135f, 0.709f, 0.711f,0.387f, -0.0f, 0.6983f, 0.711f, 0.713f,0.4157f, -0.0f, 0.6819f, 0.712f, 0.714f,0.444f, -0.0f, 0.6645f, 0.714f, 0.714f, +0.4719f, -0.0f, 0.6459f, 0.715f, 0.715f,0.4994f, -0.0f, 0.6261f, 0.715f, 0.716f,0.526f, -0.0f, 0.6046f, 0.716f, 0.716f,0.552f, -0.0f, 0.5816f, 0.717f, 0.717f, +0.577f, -0.0f, 0.5575f, 0.718f, 0.717f,0.6008f, -0.0f, 0.5328f, 0.718f, 0.718f,0.6231f, -0.0f, 0.5077f, 0.718f, 0.718f,0.6423f, -0.0f, 0.4829f, 0.719f, 0.718f, +0.658f, -0.0f, 0.4617f, 0.719f, 0.719f,0.6713f, -0.0f, 0.4432f, 0.719f, 0.719f,0.6828f, -0.0f, 0.4266f, 0.719f, 0.719f,0.6928f, -0.0f, 0.4118f, 0.719f, 0.719f, +0.7016f, -0.0f, 0.3987f, 0.718f, 0.717f,0.7094f, -0.0f, 0.3871f, 0.717f, 0.717f,0.7165f, -0.0f, 0.3769f, 0.717f, 0.717f,0.7233f, -0.0f, 0.3679f, 0.718f, 0.718f, +0.7301f, -0.0f, 0.3598f, 0.717f, 0.719f,0.7373f, -0.0f, 0.3524f, 0.715f, 0.719f,0.7454f, -0.0f, 0.3458f, 0.713f, 0.709f,0.7545f, -0.0f, 0.3398f, 0.718f, 0.704f, +0.7651f, -0.0f, 0.3351f, 0.732f, 0.705f,0.777f, -0.0f, 0.3317f, 0.753f, 0.713f,0.7909f, -0.0f, 0.3311f, 0.774f, 0.813f,0.8068f, -0.0f, 0.334f, 0.791f, 0.815f, +0.8246f, -0.0f, 0.3398f, 0.802f, 0.815f,0.8438f, -0.0f, 0.3486f, 0.809f, 0.816f,0.8651f, -0.0f, 0.3575f, 0.812f, 0.816f,0.8893f, -0.0f, 0.3665f, 0.814f, 0.816f, +0.9166f, -0.0f, 0.374f, 0.814f, 0.817f,0.9459f, -0.0f, 0.3791f, 0.812f, 0.817f,0.9751f, -0.0f, 0.3811f, 0.81f, 0.815f,1.0029f, -0.0f, 0.38f, 0.806f, 0.807f, +1.0288f, -0.0f, 0.3754f, 0.8f, 0.801f,1.052f, -0.0f, 0.3673f, 0.794f, 0.8f,1.0722f, -0.0f, 0.3556f, 0.788f, 0.781f,1.0888f, -0.0f, 0.3403f, 0.783f, 0.78f, +1.1027f, -0.0f, 0.322f, 0.781f, 0.778f,1.1133f, -0.0f, 0.301f, 0.779f, 0.777f,1.1215f, -0.0f, 0.278f, 0.778f, 0.777f,1.1269f, -0.0f, 0.2534f, 0.777f, 0.777f, +1.1296f, -0.0f, 0.2284f, 0.777f, 0.778f,1.1292f, -0.0f, 0.2031f, 0.776f, 0.776f,1.1254f, -0.0f, 0.1778f, 0.775f, 0.776f,1.1178f, 0.0f, 0.153f, 0.774f, 0.774f, +1.1076f, 0.0f, 0.1299f, 0.774f, 0.772f,1.0955f, 0.0f, 0.1079f, 0.773f, 0.773f,1.0817f, 0.0f, 0.087f, 0.772f, 0.773f,1.0668f, 0.0f, 0.0677f, 0.771f, 0.772f, +1.0508f, 0.0f, 0.0491f, 0.77f, 0.772f,1.0339f, 0.0f, 0.0313f, 0.768f, 0.766f,1.0157f, 0.0f, 0.0144f, 0.767f, 0.765f,0.9969f, -0.0f, -0.0015f, 0.766f, 0.765f, +0.9784f, -0.0f, -0.017f, 0.765f, 0.766f,0.96f, -0.0f, -0.0321f, 0.764f, 0.765f,0.9413f, -0.0f, -0.0468f, 0.761f, 0.765f,0.9216f, -0.0f, -0.0611f, 0.756f, 0.761f, +0.9009f, -0.0f, -0.0751f, 0.751f, 0.751f,0.8787f, 0.0f, -0.0893f, 0.745f, 0.744f,0.8556f, 0.0f, -0.1027f, 0.739f, 0.738f,0.8312f, 0.0f, -0.1152f, 0.733f, 0.731f, +0.8058f, 0.0f, -0.1268f, 0.728f, 0.727f,0.7788f, 0.0f, -0.1372f, 0.723f, 0.723f,0.7505f, 0.0f, -0.1467f, 0.718f, 0.717f,0.7214f, 0.0f, -0.1549f, 0.713f, 0.708f, +0.6929f, 0.0f, -0.1617f, 0.709f, 0.706f,0.6652f, 0.0f, -0.1665f, 0.704f, 0.705f,0.6388f, 0.0f, -0.1691f, 0.7f, 0.704f,0.6131f, 0.0f, -0.1701f, 0.695f, 0.698f, +0.5883f, 0.0f, -0.1699f, 0.691f, 0.691f,0.5644f, 0.0f, -0.1691f, 0.686f, 0.685f,0.5416f, 0.0f, -0.1683f, 0.681f, 0.683f,0.5195f, 0.0f, -0.168f, 0.676f, 0.676f, +0.4975f, 0.0f, -0.1687f, 0.671f, 0.67f,0.4754f, 0.0f, -0.1705f, 0.666f, 0.663f,0.4527f, 0.0f, -0.1741f, 0.663f, 0.66f,0.4293f, 0.0f, -0.1797f, 0.661f, 0.659f, +0.4054f, 0.0f, -0.1881f, 0.66f, 0.659f,0.3813f, 0.0f, -0.1992f, 0.659f, 0.657f,0.3585f, 0.0f, -0.212f, 0.658f, 0.659f,0.3368f, 0.0f, -0.2266f, 0.658f, 0.659f, +0.3174f, 0.0f, -0.2426f, 0.658f, 0.659f,0.2996f, 0.0f, -0.2594f, 0.657f, 0.657f,0.284f, 0.0f, -0.2768f, 0.656f, 0.658f,0.2702f, 0.0f, -0.2946f, 0.653f, 0.657f, +0.2585f, 0.0f, -0.3127f, 0.646f, 0.656f,0.25f, 0.0f, -0.3308f, 0.637f, 0.642f,0.2447f, 0.0f, -0.3489f, 0.628f, 0.609f,0.2418f, 0.0f, -0.3672f, 0.62f, 0.608f, +0.2412f, 0.0f, -0.386f, 0.614f, 0.607f,0.2425f, 0.0f, -0.4051f, 0.61f, 0.606f,0.2456f, 0.0f, -0.4246f, 0.608f, 0.604f,0.2509f, 0.0f, -0.4447f, 0.607f, 0.606f, +0.2576f, 0.0f, -0.4652f, 0.606f, 0.607f,0.2666f, 0.0f, -0.4867f, 0.605f, 0.607f,0.2766f, 0.0f, -0.5091f, 0.603f, 0.607f,0.2871f, 0.0f, -0.5326f, 0.598f, 0.606f, +0.2973f, 0.0f, -0.5569f, 0.591f, 0.602f,0.306f, 0.0f, -0.5826f, 0.583f, 0.585f,0.3131f, 0.0f, -0.61f, 0.574f, 0.576f,0.3197f, 0.0f, -0.6384f, 0.564f, 0.564f, +0.326f, 0.0f, -0.6681f, 0.555f, 0.549f,0.3315f, 0.0f, -0.6984f, 0.547f, 0.543f,0.336f, 0.0f, -0.7291f, 0.541f, 0.541f,0.3391f, 0.0f, -0.7593f, 0.536f, 0.538f, +0.3399f, 0.0f, -0.7884f, 0.532f, 0.528f,0.3382f, 0.0f, -0.8158f, 0.529f, 0.528f,0.334f, 0.0f, -0.8417f, 0.525f, 0.529f,0.3273f, 0.0f, -0.8657f, 0.521f, 0.528f, +0.3185f, 0.0f, -0.8881f, 0.516f, 0.515f,0.3073f, 0.0f, -0.9088f, 0.51f, 0.514f,0.2941f, 0.0f, -0.9278f, 0.505f, 0.507f,0.2786f, 0.0f, -0.9449f, 0.499f, 0.494f, +0.261f, 0.0f, -0.96f, 0.495f, 0.49f,0.2413f, 0.0f, -0.9733f, 0.493f, 0.491f,0.2193f, 0.0f, -0.9845f, 0.491f, 0.489f,0.1953f, 0.0f, -0.9935f, 0.491f, 0.491f, +0.1693f, 0.0f, -1.0004f, 0.491f, 0.492f,0.1421f, 0.0f, -1.0051f, 0.492f, 0.492f,0.1136f, -0.0f, -1.0072f, 0.492f, 0.492f,0.0842f, -0.0f, -1.0073f, 0.492f, 0.492f, +0.0548f, -0.0f, -1.0059f, 0.493f, 0.494f,0.0258f, -0.0f, -1.0037f, 0.493f, 0.494f,-0.0027f, -0.0f, -1.0003f, 0.493f, 0.493f,-0.0309f, -0.0f, -0.9959f, 0.492f, 0.492f, +-0.0584f, -0.0f, -0.9904f, 0.491f, 0.492f,-0.0858f, -0.0f, -0.9848f, 0.491f, 0.491f,-0.1127f, -0.0f, -0.9783f, 0.49f, 0.49f,-0.1386f, -0.0f, -0.9703f, 0.49f, 0.49f, +-0.1649f, -0.0f, -0.9604f, 0.489f, 0.489f,-0.191f, -0.0f, -0.9479f, 0.489f, 0.489f,-0.2165f, -0.0f, -0.9345f, 0.489f, 0.49f,-0.2414f, -0.0f, -0.9205f, 0.489f, 0.489f, +-0.2654f, -0.0f, -0.9055f, 0.489f, 0.489f,-0.2877f, -0.0f, -0.8898f, 0.49f, 0.49f,-0.3076f, -0.0f, -0.8723f, 0.49f, 0.489f,-0.324f, -0.0f, -0.8532f, 0.491f, 0.489f, +-0.3367f, -0.0f, -0.8316f, 0.492f, 0.489f,-0.3451f, -0.0f, -0.8077f, 0.494f, 0.488f,-0.3505f, -0.0f, -0.7829f, 0.497f, 0.49f,-0.3531f, -0.0f, -0.7584f, 0.501f, 0.497f, +-0.3528f, -0.0f, -0.7349f, 0.505f, 0.504f,-0.3503f, -0.0f, -0.7115f, 0.51f, 0.51f,-0.346f, -0.0f, -0.688f, 0.515f, 0.515f,-0.3411f, -0.0f, -0.6643f, 0.52f, 0.522f, +-0.3361f, -0.0f, -0.6403f, 0.525f, 0.528f,-0.3304f, -0.0f, -0.6164f, 0.53f, 0.532f,-0.3244f, -0.0f, -0.5925f, 0.535f, 0.535f,-0.318f, -0.0f, -0.5687f, 0.539f, 0.54f, +-0.3124f, -0.0f, -0.5441f, 0.542f, 0.545f,-0.3051f, -0.0f, -0.5191f, 0.546f, 0.549f,-0.2959f, -0.0f, -0.4917f, 0.548f, 0.549f,-0.2882f, -0.0f, -0.4639f, 0.55f, 0.552f, +-0.2814f, -0.0f, -0.4363f, 0.551f, 0.552f,-0.2759f, -0.0f, -0.4084f, 0.552f, 0.553f,-0.2707f, -0.0f, -0.3827f, 0.553f, 0.553f,-0.2703f, -0.0f, -0.3586f, 0.554f, 0.553f, +-0.2772f, -0.0f, -0.3375f, 0.554f, 0.554f,-0.2871f, -0.0f, -0.3178f, 0.555f, 0.555f,-0.2995f, -0.0f, -0.2996f, 0.556f, 0.555f,-0.3145f, -0.0f, -0.283f, 0.556f, 0.557f, +-0.332f, -0.0f, -0.2672f, 0.557f, 0.557f,-0.3488f, -0.0f, -0.2531f, 0.558f, 0.558f,-0.3639f, -0.0f, -0.2407f, 0.558f, 0.558f,-0.3778f, -0.0f, -0.2292f, 0.558f, 0.558f, +-0.3909f, -0.0f, -0.2191f, 0.559f, 0.559f,-0.4032f, -0.0f, -0.2102f, 0.559f, 0.558f,-0.4146f, -0.0f, -0.2027f, 0.559f, 0.559f,-0.426f, 0.0f, -0.1968f, 0.558f, 0.558f, +-0.4348f, 0.0f, -0.1931f, 0.558f, 0.558f,-0.4479f, 0.0f, -0.1886f, 0.555f, 0.559f +}; + +static const float data1[33 * GP_PRIM_DATABUF_SIZE] = { +0.5292f, -0.0f, 0.1742f, 0.1f, 1.0f,0.5291f, -0.0f, 0.1621f, 0.2199f, 1.0f,0.5274f, -0.0f, 0.1386f, 0.4615f, 1.0f,0.5239f, -0.0f, 0.116f, 0.6019f, 1.0f, +0.5185f, -0.0f, 0.0945f, 0.6981f, 1.0f,0.5115f, -0.0f, 0.0741f, 0.7689f, 1.0f,0.503f, -0.0f, 0.0548f, 0.8236f, 1.0f,0.4931f, -0.0f, 0.0368f, 0.866f, 1.0f, +0.482f, -0.0f, 0.02f, 0.9003f, 1.0f,0.4697f, -0.0f, 0.0046f, 0.9272f, 1.0f,0.4565f, 0.0f, -0.0094f, 0.9485f, 1.0f,0.4424f, 0.0f, -0.0219f, 0.9653f, 1.0f, +0.4275f, 0.0f, -0.033f, 0.9781f, 1.0f,0.4121f, 0.0f, -0.0424f, 0.9876f, 1.0f,0.3961f, 0.0f, -0.0501f, 0.9942f, 1.0f,0.3799f, 0.0f, -0.0562f, 0.9983f, 1.0f, +0.3634f, 0.0f, -0.0605f, 0.9997f, 1.0f,0.3468f, 0.0f, -0.0629f, 0.999f, 1.0f,0.3303f, 0.0f, -0.0634f, 0.9963f, 1.0f,0.3139f, 0.0f, -0.062f, 0.9912f, 1.0f, +0.2979f, 0.0f, -0.0585f, 0.9834f, 1.0f,0.2823f, 0.0f, -0.0529f, 0.9724f, 1.0f,0.2672f, 0.0f, -0.0452f, 0.9576f, 1.0f,0.2529f, 0.0f, -0.0352f, 0.9385f, 1.0f, +0.2393f, 0.0f, -0.023f, 0.9143f, 1.0f,0.2267f, 0.0f, -0.0085f, 0.8841f, 1.0f,0.2153f, -0.0f, 0.0085f, 0.8461f, 1.0f,0.205f, -0.0f, 0.0279f, 0.7979f, 1.0f, +0.196f, -0.0f, 0.0499f, 0.7359f, 1.0f,0.1886f, -0.0f, 0.0745f, 0.6541f, 1.0f,0.1827f, -0.0f, 0.1017f, 0.5396f, 1.0f,0.1786f, -0.0f, 0.1316f, 0.36f, 1.0f, +0.1763f, -0.0f, 0.1643f, 0.1f, 1.0f +}; + +static const float data2[18 * GP_PRIM_DATABUF_SIZE] = { +-0.0844f, 0.0f, -0.301f, 0.1f, 1.0f,-0.0825f, 0.0f, -0.3034f, 0.2199f, 1.0f,-0.0751f, 0.0f, -0.3128f, 0.6019f, 1.0f,-0.0677f, 0.0f, -0.3216f, 0.7689f, 1.0f, +-0.06f, 0.0f, -0.3298f, 0.866f, 1.0f,-0.0522f, 0.0f, -0.3372f, 0.9272f, 1.0f,-0.044f, 0.0f, -0.3437f, 0.9653f, 1.0f,-0.0354f, 0.0f, -0.3491f, 0.9876f, 1.0f, +-0.0264f, 0.0f, -0.3535f, 0.9983f, 1.0f,-0.0168f, 0.0f, -0.3566f, 0.999f, 1.0f,-0.0065f, 0.0f, -0.3583f, 0.9912f, 1.0f,0.0045f, 0.0f, -0.3585f, 0.9724f, 1.0f, +0.0163f, 0.0f, -0.3571f, 0.9385f, 1.0f,0.029f, 0.0f, -0.354f, 0.8841f, 1.0f,0.0427f, 0.0f, -0.3491f, 0.7979f, 1.0f,0.0574f, 0.0f, -0.3421f, 0.6541f, 1.0f, +0.0732f, 0.0f, -0.3331f, 0.36f, 1.0f,0.0816f, 0.0f, -0.3278f, 0.1f, 1.0f +}; + +static const float data3[64 * GP_PRIM_DATABUF_SIZE] = { +-0.6551f, -0.0f, 0.4448f, 0.1f, 1.0f,-0.6353f, -0.0f, 0.4689f, 0.2199f, 1.0f,-0.6211f, -0.0f, 0.4845f, 0.36f, 1.0f,-0.6033f, -0.0f, 0.5034f, 0.4615f, 1.0f, +-0.5856f, -0.0f, 0.5211f, 0.5396f, 1.0f,-0.5672f, -0.0f, 0.5387f, 0.6019f, 1.0f,-0.5485f, -0.0f, 0.5555f, 0.6541f, 1.0f,-0.5295f, -0.0f, 0.5718f, 0.6981f, 1.0f, +-0.5103f, -0.0f, 0.5875f, 0.7359f, 1.0f,-0.4909f, -0.0f, 0.6028f, 0.7689f, 1.0f,-0.4712f, -0.0f, 0.6174f, 0.7979f, 1.0f,-0.4512f, -0.0f, 0.6313f, 0.8236f, 1.0f, +-0.4307f, -0.0f, 0.6444f, 0.8461f, 1.0f,-0.4099f, -0.0f, 0.6568f, 0.866f, 1.0f,-0.3884f, -0.0f, 0.6684f, 0.8841f, 1.0f,-0.3665f, -0.0f, 0.6793f, 0.9003f, 1.0f, +-0.3439f, -0.0f, 0.6893f, 0.9143f, 1.0f,-0.3207f, -0.0f, 0.6984f, 0.9272f, 1.0f,-0.2971f, -0.0f, 0.7069f, 0.9385f, 1.0f,-0.2731f, -0.0f, 0.7148f, 0.9485f, 1.0f, +-0.249f, -0.0f, 0.7222f, 0.9576f, 1.0f,-0.2247f, -0.0f, 0.7292f, 0.9653f, 1.0f,-0.2003f, -0.0f, 0.7356f, 0.9724f, 1.0f,-0.1759f, -0.0f, 0.7416f, 0.9781f, 1.0f, +-0.1515f, -0.0f, 0.7471f, 0.9834f, 1.0f,-0.1272f, -0.0f, 0.7518f, 0.9876f, 1.0f,-0.1028f, -0.0f, 0.7556f, 0.9912f, 1.0f,-0.0785f, -0.0f, 0.7586f, 0.9942f, 1.0f, +-0.0543f, -0.0f, 0.7607f, 0.9963f, 1.0f,-0.0302f, -0.0f, 0.7621f, 0.9983f, 1.0f,-0.0062f, -0.0f, 0.7627f, 0.999f, 1.0f,0.0177f, -0.0f, 0.7625f, 0.9997f, 1.0f, +0.0415f, -0.0f, 0.7616f, 0.9997f, 1.0f,0.0652f, -0.0f, 0.7602f, 0.999f, 1.0f,0.0887f, -0.0f, 0.7583f, 0.9983f, 1.0f,0.1122f, -0.0f, 0.7559f, 0.9963f, 1.0f, +0.1355f, -0.0f, 0.7529f, 0.9942f, 1.0f,0.1585f, -0.0f, 0.7493f, 0.9912f, 1.0f,0.1814f, -0.0f, 0.7451f, 0.9876f, 1.0f,0.2041f, -0.0f, 0.7404f, 0.9834f, 1.0f, +0.2266f, -0.0f, 0.7352f, 0.9781f, 1.0f,0.2488f, -0.0f, 0.729f, 0.9724f, 1.0f,0.2706f, -0.0f, 0.7216f, 0.9653f, 1.0f,0.2921f, -0.0f, 0.7131f, 0.9576f, 1.0f, +0.3135f, -0.0f, 0.7041f, 0.9485f, 1.0f,0.3348f, -0.0f, 0.6945f, 0.9385f, 1.0f,0.3559f, -0.0f, 0.6845f, 0.9272f, 1.0f,0.3769f, -0.0f, 0.6739f, 0.9143f, 1.0f, +0.3978f, -0.0f, 0.6628f, 0.9003f, 1.0f,0.4185f, -0.0f, 0.651f, 0.8841f, 1.0f,0.439f, -0.0f, 0.6383f, 0.866f, 1.0f,0.4594f, -0.0f, 0.6249f, 0.8461f, 1.0f, +0.4795f, -0.0f, 0.6106f, 0.8236f, 1.0f,0.4995f, -0.0f, 0.5956f, 0.7979f, 1.0f,0.5193f, -0.0f, 0.5801f, 0.7689f, 1.0f,0.539f, -0.0f, 0.5642f, 0.7359f, 1.0f, +0.5586f, -0.0f, 0.5479f, 0.6981f, 1.0f,0.578f, -0.0f, 0.5312f, 0.6541f, 1.0f,0.597f, -0.0f, 0.5141f, 0.6019f, 1.0f,0.6153f, -0.0f, 0.4966f, 0.5396f, 1.0f, +0.6324f, -0.0f, 0.4797f, 0.4615f, 1.0f,0.6498f, -0.0f, 0.462f, 0.36f, 1.0f,0.6638f, -0.0f, 0.4477f, 0.2199f, 1.0f,0.6843f, -0.0f, 0.4263f, 0.1f, 1.0f +}; + +static const float data4[33 * GP_PRIM_DATABUF_SIZE] = { +-0.7765f, -0.0f, 0.3255f, 0.1f, 1.0f,-0.7908f, -0.0f, 0.3335f, 0.2199f, 1.0f,-0.8048f, -0.0f, 0.3402f, 0.4615f, 1.0f,-0.8225f, -0.0f, 0.3467f, 0.6019f, 1.0f, +-0.8426f, -0.0f, 0.3529f, 0.6981f, 1.0f,-0.8651f, -0.0f, 0.3587f, 0.7689f, 1.0f,-0.8878f, -0.0f, 0.3633f, 0.8236f, 1.0f,-0.9105f, -0.0f, 0.367f, 0.866f, 1.0f, +-0.9323f, -0.0f, 0.3693f, 0.9003f, 1.0f,-0.9529f, -0.0f, 0.3701f, 0.9272f, 1.0f,-0.972f, -0.0f, 0.3695f, 0.9485f, 1.0f,-0.9896f, -0.0f, 0.3675f, 0.9653f, 1.0f, +-1.0057f, -0.0f, 0.364f, 0.9781f, 1.0f,-1.0203f, -0.0f, 0.3592f, 0.9876f, 1.0f,-1.0333f, -0.0f, 0.3528f, 0.9942f, 1.0f,-1.0447f, -0.0f, 0.3452f, 0.9983f, 1.0f, +-1.0546f, -0.0f, 0.3362f, 0.9997f, 1.0f,-1.0633f, -0.0f, 0.3261f, 0.999f, 1.0f,-1.0708f, -0.0f, 0.315f, 0.9963f, 1.0f,-1.0767f, -0.0f, 0.3027f, 0.9912f, 1.0f, +-1.0818f, -0.0f, 0.2894f, 0.9834f, 1.0f,-1.0861f, -0.0f, 0.2752f, 0.9724f, 1.0f,-1.0897f, -0.0f, 0.2604f, 0.9576f, 1.0f,-1.0922f, -0.0f, 0.2446f, 0.9385f, 1.0f, +-1.0938f, -0.0f, 0.2277f, 0.9143f, 1.0f,-1.0944f, -0.0f, 0.2098f, 0.8841f, 1.0f,-1.0939f, -0.0f, 0.191f, 0.8461f, 1.0f,-1.0924f, -0.0f, 0.1714f, 0.7979f, 1.0f, +-1.0897f, -0.0f, 0.1511f, 0.7359f, 1.0f,-1.0855f, -0.0f, 0.1303f, 0.6541f, 1.0f,-1.0798f, -0.0f, 0.1095f, 0.5396f, 1.0f,-1.0723f, -0.0f, 0.089f, 0.36f, 1.0f, +-1.0642f, -0.0f, 0.0702f, 0.1f, 1.0f +}; + +static const float data5[64 * GP_PRIM_DATABUF_SIZE] = { +0.8135f, -0.0f, 0.3341f, 0.1f, 1.0f,0.8191f, -0.0f, 0.3376f, 0.2199f, 1.0f,0.8246f, -0.0f, 0.3408f, 0.36f, 1.0f,0.8304f, -0.0f, 0.3438f, 0.4615f, 1.0f, +0.8368f, -0.0f, 0.3465f, 0.5396f, 1.0f,0.843f, -0.0f, 0.3491f, 0.6019f, 1.0f,0.8494f, -0.0f, 0.3515f, 0.6541f, 1.0f,0.8558f, -0.0f, 0.3536f, 0.6981f, 1.0f, +0.8623f, -0.0f, 0.3557f, 0.7359f, 1.0f,0.8688f, -0.0f, 0.3575f, 0.7689f, 1.0f,0.8752f, -0.0f, 0.3593f, 0.7979f, 1.0f,0.8813f, -0.0f, 0.3609f, 0.8236f, 1.0f, +0.8872f, -0.0f, 0.3625f, 0.8461f, 1.0f,0.8929f, -0.0f, 0.364f, 0.866f, 1.0f,0.8984f, -0.0f, 0.3653f, 0.8841f, 1.0f,0.9039f, -0.0f, 0.3665f, 0.9003f, 1.0f, +0.9093f, -0.0f, 0.3675f, 0.9143f, 1.0f,0.9146f, -0.0f, 0.3684f, 0.9272f, 1.0f,0.9199f, -0.0f, 0.3692f, 0.9385f, 1.0f,0.9253f, -0.0f, 0.3698f, 0.9485f, 1.0f, +0.9305f, -0.0f, 0.3703f, 0.9576f, 1.0f,0.9358f, -0.0f, 0.3706f, 0.9653f, 1.0f,0.941f, -0.0f, 0.3709f, 0.9724f, 1.0f,0.9462f, -0.0f, 0.371f, 0.9781f, 1.0f, +0.9514f, -0.0f, 0.371f, 0.9834f, 1.0f,0.9566f, -0.0f, 0.3708f, 0.9876f, 1.0f,0.9617f, -0.0f, 0.3706f, 0.9912f, 1.0f,0.9668f, -0.0f, 0.3702f, 0.9942f, 1.0f, +0.9718f, -0.0f, 0.3697f, 0.9963f, 1.0f,0.9768f, -0.0f, 0.3692f, 0.9983f, 1.0f,0.9818f, -0.0f, 0.3685f, 0.999f, 1.0f,0.9867f, -0.0f, 0.3677f, 0.9997f, 1.0f, +0.9916f, -0.0f, 0.3667f, 0.9997f, 1.0f,0.9964f, -0.0f, 0.3657f, 0.999f, 1.0f,1.0012f, -0.0f, 0.3646f, 0.9983f, 1.0f,1.006f, -0.0f, 0.3634f, 0.9963f, 1.0f, +1.0107f, -0.0f, 0.3621f, 0.9942f, 1.0f,1.0154f, -0.0f, 0.3607f, 0.9912f, 1.0f,1.02f, -0.0f, 0.3593f, 0.9876f, 1.0f,1.0245f, -0.0f, 0.3577f, 0.9834f, 1.0f, +1.029f, -0.0f, 0.3561f, 0.9781f, 1.0f,1.0335f, -0.0f, 0.3543f, 0.9724f, 1.0f,1.0379f, -0.0f, 0.3525f, 0.9653f, 1.0f,1.0422f, -0.0f, 0.3507f, 0.9576f, 1.0f, +1.0465f, -0.0f, 0.3487f, 0.9485f, 1.0f,1.0507f, -0.0f, 0.3468f, 0.9385f, 1.0f,1.0549f, -0.0f, 0.3447f, 0.9272f, 1.0f,1.0591f, -0.0f, 0.3427f, 0.9143f, 1.0f, +1.0633f, -0.0f, 0.3404f, 0.9003f, 1.0f,1.0675f, -0.0f, 0.338f, 0.8841f, 1.0f,1.0717f, -0.0f, 0.3351f, 0.866f, 1.0f,1.0761f, -0.0f, 0.3318f, 0.8461f, 1.0f, +1.0805f, -0.0f, 0.3279f, 0.8236f, 1.0f,1.0849f, -0.0f, 0.3235f, 0.7979f, 1.0f,1.0893f, -0.0f, 0.3186f, 0.7689f, 1.0f,1.0936f, -0.0f, 0.3134f, 0.7359f, 1.0f, +1.0979f, -0.0f, 0.3076f, 0.6981f, 1.0f,1.102f, -0.0f, 0.3017f, 0.6541f, 1.0f,1.106f, -0.0f, 0.2953f, 0.6019f, 1.0f,1.1097f, -0.0f, 0.289f, 0.5396f, 1.0f, +1.1132f, -0.0f, 0.2826f, 0.4615f, 1.0f,1.1164f, -0.0f, 0.2766f, 0.36f, 1.0f,1.1193f, -0.0f, 0.2708f, 0.2199f, 1.0f,1.1221f, -0.0f, 0.2652f, 0.1f, 1.0f +}; + +static const float data6[33 * GP_PRIM_DATABUF_SIZE] = { +-0.2677f, 0.0f, -0.3496f, 0.1f, 1.0f,-0.2658f, 0.0f, -0.3919f, 0.2199f, 1.0f,-0.2657f, 0.0f, -0.4295f, 0.4615f, 1.0f,-0.2691f, 0.0f, -0.4621f, 0.6019f, 1.0f, +-0.275f, 0.0f, -0.4949f, 0.6981f, 1.0f,-0.2828f, 0.0f, -0.527f, 0.7689f, 1.0f,-0.2911f, 0.0f, -0.5578f, 0.8236f, 1.0f,-0.2971f, 0.0f, -0.5884f, 0.866f, 1.0f, +-0.303f, 0.0f, -0.6181f, 0.9003f, 1.0f,-0.3089f, 0.0f, -0.6467f, 0.9272f, 1.0f,-0.3148f, 0.0f, -0.6738f, 0.9485f, 1.0f,-0.3196f, 0.0f, -0.7f, 0.9653f, 1.0f, +-0.323f, 0.0f, -0.7253f, 0.9781f, 1.0f,-0.3234f, 0.0f, -0.7496f, 0.9876f, 1.0f,-0.3219f, 0.0f, -0.7728f, 0.9942f, 1.0f,-0.3184f, 0.0f, -0.7949f, 0.9983f, 1.0f, +-0.3103f, 0.0f, -0.8138f, 0.9997f, 1.0f,-0.3004f, 0.0f, -0.8307f, 0.999f, 1.0f,-0.2892f, 0.0f, -0.8464f, 0.9963f, 1.0f,-0.2766f, 0.0f, -0.8611f, 0.9912f, 1.0f, +-0.2618f, 0.0f, -0.8735f, 0.9834f, 1.0f,-0.2469f, 0.0f, -0.8853f, 0.9724f, 1.0f,-0.2315f, 0.0f, -0.8964f, 0.9576f, 1.0f,-0.2158f, 0.0f, -0.9068f, 0.9385f, 1.0f, +-0.1997f, 0.0f, -0.9167f, 0.9143f, 1.0f,-0.1833f, 0.0f, -0.9262f, 0.8841f, 1.0f,-0.1663f, 0.0f, -0.9355f, 0.8461f, 1.0f,-0.1481f, 0.0f, -0.9445f, 0.7979f, 1.0f, +-0.1282f, 0.0f, -0.9534f, 0.7359f, 1.0f,-0.1077f, 0.0f, -0.9625f, 0.6541f, 1.0f,-0.0854f, 0.0f, -0.9718f, 0.5396f, 1.0f,-0.0616f, 0.0f, -0.9813f, 0.36f, 1.0f, +-0.0248f, 0.0f, -0.992f, 0.1f, 1.0f +}; + +static const float data7[18 * GP_PRIM_DATABUF_SIZE] = { +-0.0618f, 0.0f, -0.1922f, 0.1f, 1.0f,-0.0703f, 0.0f, -0.2021f, 0.2199f, 1.0f,-0.0758f, 0.0f, -0.2103f, 0.6019f, 1.0f,-0.0803f, 0.0f, -0.2206f, 0.7689f, 1.0f, +-0.083f, 0.0f, -0.2307f, 0.866f, 1.0f,-0.0851f, 0.0f, -0.2405f, 0.9272f, 1.0f,-0.0865f, 0.0f, -0.2499f, 0.9653f, 1.0f,-0.0872f, 0.0f, -0.2588f, 0.9876f, 1.0f, +-0.0869f, 0.0f, -0.2673f, 0.9983f, 1.0f,-0.0858f, 0.0f, -0.2754f, 0.999f, 1.0f,-0.0831f, 0.0f, -0.2829f, 0.9912f, 1.0f,-0.0791f, 0.0f, -0.2898f, 0.9724f, 1.0f, +-0.074f, 0.0f, -0.2966f, 0.9385f, 1.0f,-0.0674f, 0.0f, -0.303f, 0.8841f, 1.0f,-0.0591f, 0.0f, -0.3084f, 0.7979f, 1.0f,-0.0465f, 0.0f, -0.3134f, 0.6541f, 1.0f, +-0.0331f, 0.0f, -0.3165f, 0.36f, 1.0f,-0.015f, 0.0f, -0.318f, 0.1f, 1.0f +}; + +static const float data8[49 * GP_PRIM_DATABUF_SIZE] = { +0.5311f, -0.0f, 0.1661f, 1.0f, 1.0f,0.5307f, -0.0f, 0.1794f, 1.0f, 1.0f,0.5277f, -0.0f, 0.2057f, 1.0f, 1.0f,0.5218f, -0.0f, 0.2314f, 1.0f, 1.0f, +0.513f, -0.0f, 0.256f, 1.0f, 1.0f,0.5014f, -0.0f, 0.279f, 1.0f, 1.0f,0.4874f, -0.0f, 0.3001f, 1.0f, 1.0f,0.4711f, -0.0f, 0.3189f, 1.0f, 1.0f, +0.4529f, -0.0f, 0.3351f, 1.0f, 1.0f,0.4329f, -0.0f, 0.3483f, 1.0f, 1.0f,0.4117f, -0.0f, 0.3585f, 1.0f, 1.0f,0.3894f, -0.0f, 0.3654f, 1.0f, 1.0f, +0.3666f, -0.0f, 0.3689f, 1.0f, 1.0f,0.3435f, -0.0f, 0.3689f, 1.0f, 1.0f,0.3207f, -0.0f, 0.3654f, 1.0f, 1.0f,0.2985f, -0.0f, 0.3585f, 1.0f, 1.0f, +0.2772f, -0.0f, 0.3483f, 1.0f, 1.0f,0.2573f, -0.0f, 0.3351f, 1.0f, 1.0f,0.239f, -0.0f, 0.3189f, 1.0f, 1.0f,0.2227f, -0.0f, 0.3001f, 1.0f, 1.0f, +0.2087f, -0.0f, 0.279f, 1.0f, 1.0f,0.1972f, -0.0f, 0.256f, 1.0f, 1.0f,0.1884f, -0.0f, 0.2314f, 1.0f, 1.0f,0.1824f, -0.0f, 0.2057f, 1.0f, 1.0f, +0.1794f, -0.0f, 0.1794f, 1.0f, 1.0f,0.1794f, -0.0f, 0.1528f, 1.0f, 1.0f,0.1824f, -0.0f, 0.1264f, 1.0f, 1.0f,0.1884f, -0.0f, 0.1007f, 1.0f, 1.0f, +0.1972f, -0.0f, 0.0762f, 1.0f, 1.0f,0.2087f, -0.0f, 0.0531f, 1.0f, 1.0f,0.2227f, -0.0f, 0.032f, 1.0f, 1.0f,0.239f, -0.0f, 0.0132f, 1.0f, 1.0f, +0.2573f, 0.0f, -0.0029f, 1.0f, 1.0f,0.2772f, 0.0f, -0.0162f, 1.0f, 1.0f,0.2985f, 0.0f, -0.0264f, 1.0f, 1.0f,0.3207f, 0.0f, -0.0333f, 1.0f, 1.0f, +0.3435f, 0.0f, -0.0368f, 1.0f, 1.0f,0.3666f, 0.0f, -0.0368f, 1.0f, 1.0f,0.3894f, 0.0f, -0.0333f, 1.0f, 1.0f,0.4117f, 0.0f, -0.0264f, 1.0f, 1.0f, +0.4329f, 0.0f, -0.0162f, 1.0f, 1.0f,0.4529f, 0.0f, -0.0029f, 1.0f, 1.0f,0.4711f, -0.0f, 0.0132f, 1.0f, 1.0f,0.4874f, -0.0f, 0.032f, 1.0f, 1.0f, +0.5014f, -0.0f, 0.0531f, 1.0f, 1.0f,0.513f, -0.0f, 0.0762f, 1.0f, 1.0f,0.5218f, -0.0f, 0.1007f, 1.0f, 1.0f,0.5277f, -0.0f, 0.1264f, 1.0f, 1.0f, +0.5307f, -0.0f, 0.1528f, 1.0f, 1.0f +}; + +static const float data9[33 * GP_PRIM_DATABUF_SIZE] = { +-0.5271f, -0.0f, 0.1742f, 0.1f, 1.0f,-0.527f, -0.0f, 0.1621f, 0.2199f, 1.0f,-0.5253f, -0.0f, 0.1386f, 0.4615f, 1.0f,-0.5217f, -0.0f, 0.116f, 0.6019f, 1.0f, +-0.5164f, -0.0f, 0.0945f, 0.6981f, 1.0f,-0.5094f, -0.0f, 0.0741f, 0.7689f, 1.0f,-0.5009f, -0.0f, 0.0548f, 0.8236f, 1.0f,-0.491f, -0.0f, 0.0368f, 0.866f, 1.0f, +-0.4799f, -0.0f, 0.02f, 0.9003f, 1.0f,-0.4676f, -0.0f, 0.0046f, 0.9272f, 1.0f,-0.4544f, 0.0f, -0.0094f, 0.9485f, 1.0f,-0.4402f, 0.0f, -0.0219f, 0.9653f, 1.0f, +-0.4254f, 0.0f, -0.033f, 0.9781f, 1.0f,-0.4099f, 0.0f, -0.0424f, 0.9876f, 1.0f,-0.394f, 0.0f, -0.0501f, 0.9942f, 1.0f,-0.3777f, 0.0f, -0.0562f, 0.9983f, 1.0f, +-0.3612f, 0.0f, -0.0605f, 0.9997f, 1.0f,-0.3447f, 0.0f, -0.0629f, 0.999f, 1.0f,-0.3281f, 0.0f, -0.0634f, 0.9963f, 1.0f,-0.3118f, 0.0f, -0.062f, 0.9912f, 1.0f, +-0.2957f, 0.0f, -0.0585f, 0.9834f, 1.0f,-0.2801f, 0.0f, -0.0529f, 0.9724f, 1.0f,-0.2651f, 0.0f, -0.0452f, 0.9576f, 1.0f,-0.2507f, 0.0f, -0.0352f, 0.9385f, 1.0f, +-0.2372f, 0.0f, -0.023f, 0.9143f, 1.0f,-0.2246f, 0.0f, -0.0085f, 0.8841f, 1.0f,-0.2131f, -0.0f, 0.0085f, 0.8461f, 1.0f,-0.2028f, -0.0f, 0.0279f, 0.7979f, 1.0f, +-0.1939f, -0.0f, 0.0499f, 0.7359f, 1.0f,-0.1864f, -0.0f, 0.0745f, 0.6541f, 1.0f,-0.1806f, -0.0f, 0.1017f, 0.5396f, 1.0f,-0.1765f, -0.0f, 0.1316f, 0.36f, 1.0f, +-0.1742f, -0.0f, 0.1643f, 0.1f, 1.0f +}; + +static const float data10[49 * GP_PRIM_DATABUF_SIZE] = { +-0.174f, -0.0f, 0.1661f, 1.0f, 1.0f,-0.1744f, -0.0f, 0.1794f, 1.0f, 1.0f,-0.1774f, -0.0f, 0.2057f, 1.0f, 1.0f,-0.1833f, -0.0f, 0.2314f, 1.0f, 1.0f, +-0.1922f, -0.0f, 0.256f, 1.0f, 1.0f,-0.2037f, -0.0f, 0.279f, 1.0f, 1.0f,-0.2177f, -0.0f, 0.3001f, 1.0f, 1.0f,-0.234f, -0.0f, 0.3189f, 1.0f, 1.0f, +-0.2522f, -0.0f, 0.3351f, 1.0f, 1.0f,-0.2722f, -0.0f, 0.3483f, 1.0f, 1.0f,-0.2935f, -0.0f, 0.3585f, 1.0f, 1.0f,-0.3157f, -0.0f, 0.3654f, 1.0f, 1.0f, +-0.3385f, -0.0f, 0.3689f, 1.0f, 1.0f,-0.3616f, -0.0f, 0.3689f, 1.0f, 1.0f,-0.3844f, -0.0f, 0.3654f, 1.0f, 1.0f,-0.4066f, -0.0f, 0.3585f, 1.0f, 1.0f, +-0.4279f, -0.0f, 0.3483f, 1.0f, 1.0f,-0.4479f, -0.0f, 0.3351f, 1.0f, 1.0f,-0.4661f, -0.0f, 0.3189f, 1.0f, 1.0f,-0.4824f, -0.0f, 0.3001f, 1.0f, 1.0f, +-0.4964f, -0.0f, 0.279f, 1.0f, 1.0f,-0.508f, -0.0f, 0.256f, 1.0f, 1.0f,-0.5168f, -0.0f, 0.2314f, 1.0f, 1.0f,-0.5227f, -0.0f, 0.2057f, 1.0f, 1.0f, +-0.5257f, -0.0f, 0.1794f, 1.0f, 1.0f,-0.5257f, -0.0f, 0.1528f, 1.0f, 1.0f,-0.5227f, -0.0f, 0.1264f, 1.0f, 1.0f,-0.5168f, -0.0f, 0.1007f, 1.0f, 1.0f, +-0.508f, -0.0f, 0.0762f, 1.0f, 1.0f,-0.4964f, -0.0f, 0.0531f, 1.0f, 1.0f,-0.4824f, -0.0f, 0.032f, 1.0f, 1.0f,-0.4661f, -0.0f, 0.0132f, 1.0f, 1.0f, +-0.4479f, 0.0f, -0.0029f, 1.0f, 1.0f,-0.4279f, 0.0f, -0.0162f, 1.0f, 1.0f,-0.4066f, 0.0f, -0.0264f, 1.0f, 1.0f,-0.3844f, 0.0f, -0.0333f, 1.0f, 1.0f, +-0.3616f, 0.0f, -0.0368f, 1.0f, 1.0f,-0.3385f, 0.0f, -0.0368f, 1.0f, 1.0f,-0.3157f, 0.0f, -0.0333f, 1.0f, 1.0f,-0.2935f, 0.0f, -0.0264f, 1.0f, 1.0f, +-0.2722f, 0.0f, -0.0162f, 1.0f, 1.0f,-0.2522f, 0.0f, -0.0029f, 1.0f, 1.0f,-0.234f, -0.0f, 0.0132f, 1.0f, 1.0f,-0.2177f, -0.0f, 0.032f, 1.0f, 1.0f, +-0.2037f, -0.0f, 0.0531f, 1.0f, 1.0f,-0.1922f, -0.0f, 0.0762f, 1.0f, 1.0f,-0.1833f, -0.0f, 0.1007f, 1.0f, 1.0f,-0.1774f, -0.0f, 0.1264f, 1.0f, 1.0f, +-0.1744f, -0.0f, 0.1528f, 1.0f, 1.0f +}; + +static const float data11[18 * GP_PRIM_DATABUF_SIZE] = { +0.963f, -0.0f, 0.1753f, 0.1f, 1.0f,0.9555f, -0.0f, 0.1761f, 0.2199f, 1.0f,0.9367f, -0.0f, 0.1758f, 0.6019f, 1.0f,0.9202f, -0.0f, 0.1741f, 0.7689f, 1.0f, +0.9036f, -0.0f, 0.1714f, 0.866f, 1.0f,0.8885f, -0.0f, 0.1668f, 0.9272f, 1.0f,0.8746f, -0.0f, 0.1607f, 0.9653f, 1.0f,0.8621f, -0.0f, 0.1531f, 0.9876f, 1.0f, +0.8503f, -0.0f, 0.1447f, 0.9983f, 1.0f,0.8389f, -0.0f, 0.1352f, 0.999f, 1.0f,0.8279f, -0.0f, 0.1244f, 0.9912f, 1.0f,0.8174f, -0.0f, 0.1125f, 0.9724f, 1.0f, +0.8079f, -0.0f, 0.099f, 0.9385f, 1.0f,0.7999f, -0.0f, 0.0839f, 0.8841f, 1.0f,0.7935f, -0.0f, 0.0669f, 0.7979f, 1.0f,0.7892f, -0.0f, 0.0488f, 0.6541f, 1.0f, +0.787f, -0.0f, 0.0305f, 0.36f, 1.0f,0.7847f, -0.0f, 0.0139f, 0.1f, 1.0f +}; + +static const float data12[18 * GP_PRIM_DATABUF_SIZE] = { +-1.0227f, -0.0f, 0.1753f, 0.1f, 1.0f,-1.0153f, -0.0f, 0.1761f, 0.2199f, 1.0f,-0.9964f, -0.0f, 0.1758f, 0.6019f, 1.0f,-0.9799f, -0.0f, 0.1741f, 0.7689f, 1.0f, +-0.9634f, -0.0f, 0.1714f, 0.866f, 1.0f,-0.9483f, -0.0f, 0.1668f, 0.9272f, 1.0f,-0.9344f, -0.0f, 0.1607f, 0.9653f, 1.0f,-0.9219f, -0.0f, 0.1531f, 0.9876f, 1.0f, +-0.9101f, -0.0f, 0.1447f, 0.9983f, 1.0f,-0.8986f, -0.0f, 0.1352f, 0.999f, 1.0f,-0.8876f, -0.0f, 0.1244f, 0.9912f, 1.0f,-0.8772f, -0.0f, 0.1125f, 0.9724f, 1.0f, +-0.8677f, -0.0f, 0.099f, 0.9385f, 1.0f,-0.8597f, -0.0f, 0.0839f, 0.8841f, 1.0f,-0.8533f, -0.0f, 0.0669f, 0.7979f, 1.0f,-0.849f, -0.0f, 0.0488f, 0.6541f, 1.0f, +-0.8467f, -0.0f, 0.0305f, 0.36f, 1.0f,-0.8444f, -0.0f, 0.0139f, 0.1f, 1.0f +}; + +static const float data13[33 * GP_PRIM_DATABUF_SIZE] = { +-0.6794f, -0.0f, 0.3908f, 0.1f, 1.0f,-0.6711f, -0.0f, 0.4112f, 0.2199f, 1.0f,-0.6513f, -0.0f, 0.4509f, 0.4615f, 1.0f,-0.6276f, -0.0f, 0.489f, 0.6019f, 1.0f, +-0.6001f, -0.0f, 0.5253f, 0.6981f, 1.0f,-0.5692f, -0.0f, 0.5598f, 0.7689f, 1.0f,-0.535f, -0.0f, 0.5924f, 0.8236f, 1.0f,-0.4979f, -0.0f, 0.6228f, 0.866f, 1.0f, +-0.4579f, -0.0f, 0.651f, 0.9003f, 1.0f,-0.4155f, -0.0f, 0.677f, 0.9272f, 1.0f,-0.3707f, -0.0f, 0.7005f, 0.9485f, 1.0f,-0.3239f, -0.0f, 0.7215f, 0.9653f, 1.0f, +-0.2753f, -0.0f, 0.7399f, 0.9781f, 1.0f,-0.2251f, -0.0f, 0.7555f, 0.9876f, 1.0f,-0.1736f, -0.0f, 0.7683f, 0.9942f, 1.0f,-0.121f, -0.0f, 0.778f, 0.9983f, 1.0f, +-0.0675f, -0.0f, 0.7847f, 0.9997f, 1.0f,-0.0134f, -0.0f, 0.7882f, 0.999f, 1.0f,0.0411f, -0.0f, 0.7884f, 0.9963f, 1.0f,0.0957f, -0.0f, 0.7851f, 0.9912f, 1.0f, +0.1503f, -0.0f, 0.7783f, 0.9834f, 1.0f,0.2045f, -0.0f, 0.7678f, 0.9724f, 1.0f,0.2581f, -0.0f, 0.7536f, 0.9576f, 1.0f,0.311f, -0.0f, 0.7355f, 0.9385f, 1.0f, +0.3628f, -0.0f, 0.7134f, 0.9143f, 1.0f,0.4133f, -0.0f, 0.6873f, 0.8841f, 1.0f,0.4622f, -0.0f, 0.6569f, 0.8461f, 1.0f,0.5095f, -0.0f, 0.6221f, 0.7979f, 1.0f, +0.5547f, -0.0f, 0.583f, 0.7359f, 1.0f,0.5977f, -0.0f, 0.5393f, 0.6541f, 1.0f,0.6382f, -0.0f, 0.4909f, 0.5396f, 1.0f,0.676f, -0.0f, 0.4377f, 0.36f, 1.0f, +0.7109f, -0.0f, 0.3797f, 0.1f, 1.0f +}; + +static const float data14[33 * GP_PRIM_DATABUF_SIZE] = { +-0.7544f, -0.0f, 0.1799f, 0.1f, 1.0f,-0.7495f, -0.0f, 0.162f, 0.2199f, 1.0f,-0.7392f, -0.0f, 0.1283f, 0.4615f, 1.0f,-0.7281f, -0.0f, 0.0975f, 0.6019f, 1.0f, +-0.7161f, -0.0f, 0.0693f, 0.6981f, 1.0f,-0.7033f, -0.0f, 0.0435f, 0.7689f, 1.0f,-0.6898f, -0.0f, 0.02f, 0.8236f, 1.0f,-0.6757f, 0.0f, -0.0014f, 0.866f, 1.0f, +-0.6609f, 0.0f, -0.0208f, 0.9003f, 1.0f,-0.6455f, 0.0f, -0.0386f, 0.9272f, 1.0f,-0.6297f, 0.0f, -0.0547f, 0.9485f, 1.0f,-0.6133f, 0.0f, -0.0695f, 0.9653f, 1.0f, +-0.5966f, 0.0f, -0.083f, 0.9781f, 1.0f,-0.5795f, 0.0f, -0.0955f, 0.9876f, 1.0f,-0.5621f, 0.0f, -0.1071f, 0.9942f, 1.0f,-0.5444f, 0.0f, -0.118f, 0.9983f, 1.0f, +-0.5265f, 0.0f, -0.1284f, 0.9997f, 1.0f,-0.5084f, 0.0f, -0.1384f, 0.999f, 1.0f,-0.4902f, 0.0f, -0.1483f, 0.9963f, 1.0f,-0.4719f, 0.0f, -0.1582f, 0.9912f, 1.0f, +-0.4537f, 0.0f, -0.1682f, 0.9834f, 1.0f,-0.4355f, 0.0f, -0.1787f, 0.9724f, 1.0f,-0.4173f, 0.0f, -0.1896f, 0.9576f, 1.0f,-0.3993f, 0.0f, -0.2013f, 0.9385f, 1.0f, +-0.3815f, 0.0f, -0.2138f, 0.9143f, 1.0f,-0.364f, 0.0f, -0.2274f, 0.8841f, 1.0f,-0.3467f, 0.0f, -0.2422f, 0.8461f, 1.0f,-0.3298f, 0.0f, -0.2584f, 0.7979f, 1.0f, +-0.3133f, 0.0f, -0.2762f, 0.7359f, 1.0f,-0.2972f, 0.0f, -0.2958f, 0.6541f, 1.0f,-0.2816f, 0.0f, -0.3173f, 0.5396f, 1.0f,-0.2665f, 0.0f, -0.3409f, 0.36f, 1.0f, +-0.2521f, 0.0f, -0.3668f, 0.1f, 1.0f +}; + +static const float data15[65 * GP_PRIM_DATABUF_SIZE] = { +-0.2854f, 0.0f, -0.4528f, 0.1f, 1.0f,-0.2866f, 0.0f, -0.4623f, 0.1288f, 1.0f,-0.2899f, 0.0f, -0.4814f, 0.2962f, 1.0f,-0.2943f, 0.0f, -0.5008f, 0.4147f, 1.0f, +-0.2995f, 0.0f, -0.5203f, 0.5028f, 1.0f,-0.3054f, 0.0f, -0.54f, 0.5723f, 1.0f,-0.3117f, 0.0f, -0.5598f, 0.6291f, 1.0f,-0.3182f, 0.0f, -0.5797f, 0.6768f, 1.0f, +-0.3249f, 0.0f, -0.5996f, 0.7177f, 1.0f,-0.3314f, 0.0f, -0.6196f, 0.753f, 1.0f,-0.3376f, 0.0f, -0.6395f, 0.7838f, 1.0f,-0.3432f, 0.0f, -0.6594f, 0.8109f, 1.0f, +-0.3482f, 0.0f, -0.6792f, 0.8349f, 1.0f,-0.3523f, 0.0f, -0.6989f, 0.8564f, 1.0f,-0.3552f, 0.0f, -0.7185f, 0.8756f, 1.0f,-0.3569f, 0.0f, -0.7379f, 0.8922f, 1.0f, +-0.357f, 0.0f, -0.7571f, 0.9074f, 1.0f,-0.3555f, 0.0f, -0.7761f, 0.9211f, 1.0f,-0.3522f, 0.0f, -0.7948f, 0.9329f, 1.0f,-0.3467f, 0.0f, -0.8132f, 0.944f, 1.0f, +-0.339f, 0.0f, -0.8313f, 0.9531f, 1.0f,-0.3289f, 0.0f, -0.849f, 0.9617f, 1.0f,-0.316f, 0.0f, -0.8663f, 0.9688f, 1.0f,-0.3004f, 0.0f, -0.8831f, 0.9755f, 1.0f, +-0.2817f, 0.0f, -0.8996f, 0.9808f, 1.0f,-0.2598f, 0.0f, -0.9155f, 0.9858f, 1.0f,-0.2344f, 0.0f, -0.9309f, 0.9894f, 1.0f,-0.2051f, 0.0f, -0.9457f, 0.993f, 1.0f, +-0.1716f, 0.0f, -0.9599f, 0.9952f, 1.0f,-0.1341f, 0.0f, -0.9733f, 0.9973f, 1.0f,-0.0928f, 0.0f, -0.9857f, 0.9987f, 1.0f,-0.05f, 0.0f, -0.9962f, 0.9993f, 1.0f, +-0.0087f, 0.0f, -1.0041f, 1.0f, 1.0f,0.0287f, 0.0f, -1.0087f, 0.9993f, 1.0f,0.062f, 0.0f, -1.0104f, 0.9987f, 1.0f,0.0924f, 0.0f, -1.0102f, 0.9973f, 1.0f, +0.1205f, 0.0f, -1.0086f, 0.9952f, 1.0f,0.1465f, 0.0f, -1.0057f, 0.993f, 1.0f,0.1706f, 0.0f, -1.0017f, 0.9894f, 1.0f,0.1928f, 0.0f, -0.9964f, 0.9858f, 1.0f, +0.2132f, 0.0f, -0.99f, 0.9808f, 1.0f,0.2318f, 0.0f, -0.9824f, 0.9755f, 1.0f,0.2487f, 0.0f, -0.9738f, 0.9688f, 1.0f,0.2641f, 0.0f, -0.9641f, 0.9617f, 1.0f, +0.2778f, 0.0f, -0.9533f, 0.9531f, 1.0f,0.2901f, 0.0f, -0.9415f, 0.944f, 1.0f,0.3009f, 0.0f, -0.9287f, 0.9329f, 1.0f,0.3103f, 0.0f, -0.9148f, 0.9211f, 1.0f, +0.3183f, 0.0f, -0.8999f, 0.9074f, 1.0f,0.325f, 0.0f, -0.8841f, 0.8922f, 1.0f,0.3304f, 0.0f, -0.8672f, 0.8756f, 1.0f,0.3345f, 0.0f, -0.8493f, 0.8564f, 1.0f, +0.3374f, 0.0f, -0.8305f, 0.8349f, 1.0f,0.3391f, 0.0f, -0.8107f, 0.8109f, 1.0f,0.3397f, 0.0f, -0.7899f, 0.7838f, 1.0f,0.3392f, 0.0f, -0.7682f, 0.753f, 1.0f, +0.3377f, 0.0f, -0.7456f, 0.7177f, 1.0f,0.3352f, 0.0f, -0.7221f, 0.6768f, 1.0f,0.3317f, 0.0f, -0.6976f, 0.6291f, 1.0f,0.3273f, 0.0f, -0.6722f, 0.5723f, 1.0f, +0.322f, 0.0f, -0.646f, 0.5028f, 1.0f,0.316f, 0.0f, -0.6188f, 0.4147f, 1.0f,0.3091f, 0.0f, -0.5908f, 0.2962f, 1.0f,0.3015f, 0.0f, -0.5619f, 0.1288f, 1.0f, +0.2974f, 0.0f, -0.5472f, 0.1f, 1.0f +}; + +static const float data16[34 * GP_PRIM_DATABUF_SIZE] = { +-0.4408f, -0.0f, 0.5073f, 0.1f, 1.0f,-0.4312f, -0.0f, 0.5132f, 0.1288f, 1.0f,-0.3945f, -0.0f, 0.5319f, 0.4147f, 1.0f,-0.3605f, -0.0f, 0.5438f, 0.5723f, 1.0f, +-0.3288f, -0.0f, 0.5496f, 0.6768f, 1.0f,-0.2992f, -0.0f, 0.5501f, 0.753f, 1.0f,-0.2712f, -0.0f, 0.546f, 0.8109f, 1.0f,-0.2446f, -0.0f, 0.5381f, 0.8564f, 1.0f, +-0.2191f, -0.0f, 0.5272f, 0.8922f, 1.0f,-0.1943f, -0.0f, 0.5139f, 0.9211f, 1.0f,-0.1699f, -0.0f, 0.4992f, 0.944f, 1.0f,-0.1456f, -0.0f, 0.4837f, 0.9617f, 1.0f, +-0.1211f, -0.0f, 0.4682f, 0.9755f, 1.0f,-0.096f, -0.0f, 0.4535f, 0.9858f, 1.0f,-0.07f, -0.0f, 0.4404f, 0.993f, 1.0f,-0.0428f, -0.0f, 0.4301f, 0.9973f, 1.0f, +-0.016f, -0.0f, 0.4235f, 0.9993f, 1.0f,0.0076f, -0.0f, 0.4216f, 0.9993f, 1.0f,0.0283f, -0.0f, 0.4237f, 0.9973f, 1.0f,0.0477f, -0.0f, 0.4291f, 0.993f, 1.0f, +0.067f, -0.0f, 0.4369f, 0.9858f, 1.0f,0.0866f, -0.0f, 0.4465f, 0.9755f, 1.0f,0.1068f, -0.0f, 0.4576f, 0.9617f, 1.0f,0.1278f, -0.0f, 0.4695f, 0.944f, 1.0f, +0.1498f, -0.0f, 0.4819f, 0.9211f, 1.0f,0.173f, -0.0f, 0.4941f, 0.8922f, 1.0f,0.1977f, -0.0f, 0.5056f, 0.8564f, 1.0f,0.2241f, -0.0f, 0.5159f, 0.8109f, 1.0f, +0.2523f, -0.0f, 0.5244f, 0.753f, 1.0f,0.2825f, -0.0f, 0.5307f, 0.6768f, 1.0f,0.315f, -0.0f, 0.5342f, 0.5723f, 1.0f,0.3499f, -0.0f, 0.5345f, 0.4147f, 1.0f, +0.3875f, -0.0f, 0.5311f, 0.1288f, 1.0f,0.3973f, -0.0f, 0.5295f, 0.1f, 1.0f +}; + +static const float data17[33 * GP_PRIM_DATABUF_SIZE] = { +0.724f, -0.0f, 0.1799f, 0.1f, 1.0f,0.7192f, -0.0f, 0.162f, 0.2199f, 1.0f,0.7089f, -0.0f, 0.1283f, 0.4615f, 1.0f,0.6977f, -0.0f, 0.0975f, 0.6019f, 1.0f, +0.6858f, -0.0f, 0.0693f, 0.6981f, 1.0f,0.673f, -0.0f, 0.0435f, 0.7689f, 1.0f,0.6595f, -0.0f, 0.02f, 0.8236f, 1.0f,0.6453f, 0.0f, -0.0014f, 0.866f, 1.0f, +0.6306f, 0.0f, -0.0208f, 0.9003f, 1.0f,0.6152f, 0.0f, -0.0386f, 0.9272f, 1.0f,0.5994f, 0.0f, -0.0547f, 0.9485f, 1.0f,0.583f, 0.0f, -0.0695f, 0.9653f, 1.0f, +0.5663f, 0.0f, -0.083f, 0.9781f, 1.0f,0.5492f, 0.0f, -0.0955f, 0.9876f, 1.0f,0.5317f, 0.0f, -0.1071f, 0.9942f, 1.0f,0.514f, 0.0f, -0.118f, 0.9983f, 1.0f, +0.4961f, 0.0f, -0.1284f, 0.9997f, 1.0f,0.4781f, 0.0f, -0.1384f, 0.999f, 1.0f,0.4599f, 0.0f, -0.1483f, 0.9963f, 1.0f,0.4416f, 0.0f, -0.1582f, 0.9912f, 1.0f, +0.4234f, 0.0f, -0.1682f, 0.9834f, 1.0f,0.4051f, 0.0f, -0.1787f, 0.9724f, 1.0f,0.387f, 0.0f, -0.1896f, 0.9576f, 1.0f,0.369f, 0.0f, -0.2013f, 0.9385f, 1.0f, +0.3512f, 0.0f, -0.2138f, 0.9143f, 1.0f,0.3337f, 0.0f, -0.2274f, 0.8841f, 1.0f,0.3164f, 0.0f, -0.2422f, 0.8461f, 1.0f,0.2995f, 0.0f, -0.2584f, 0.7979f, 1.0f, +0.2829f, 0.0f, -0.2762f, 0.7359f, 1.0f,0.2669f, 0.0f, -0.2958f, 0.6541f, 1.0f,0.2513f, 0.0f, -0.3173f, 0.5396f, 1.0f,0.2362f, 0.0f, -0.3409f, 0.36f, 1.0f, +0.2218f, 0.0f, -0.3668f, 0.1f, 1.0f +}; + +static const float data18[33 * GP_PRIM_DATABUF_SIZE] = { +-0.1119f, 0.0f, -0.7868f, 0.1f, 1.0f,-0.1087f, 0.0f, -0.7905f, 0.2199f, 1.0f,-0.1022f, 0.0f, -0.7974f, 0.4615f, 1.0f,-0.0955f, 0.0f, -0.8038f, 0.6019f, 1.0f, +-0.0886f, 0.0f, -0.8097f, 0.6981f, 1.0f,-0.0816f, 0.0f, -0.8152f, 0.7689f, 1.0f,-0.0744f, 0.0f, -0.8201f, 0.8236f, 1.0f,-0.0671f, 0.0f, -0.8246f, 0.866f, 1.0f, +-0.0597f, 0.0f, -0.8286f, 0.9003f, 1.0f,-0.0522f, 0.0f, -0.8321f, 0.9272f, 1.0f,-0.0446f, 0.0f, -0.8351f, 0.9485f, 1.0f,-0.0369f, 0.0f, -0.8376f, 0.9653f, 1.0f, +-0.0292f, 0.0f, -0.8397f, 0.9781f, 1.0f,-0.0214f, 0.0f, -0.8413f, 0.9876f, 1.0f,-0.0136f, 0.0f, -0.8424f, 0.9942f, 1.0f,-0.0057f, 0.0f, -0.843f, 0.9983f, 1.0f, +0.0022f, 0.0f, -0.8431f, 0.9997f, 1.0f,0.01f, 0.0f, -0.8428f, 0.999f, 1.0f,0.0178f, 0.0f, -0.8419f, 0.9963f, 1.0f,0.0257f, 0.0f, -0.8407f, 0.9912f, 1.0f, +0.0334f, 0.0f, -0.8389f, 0.9834f, 1.0f,0.0411f, 0.0f, -0.8366f, 0.9724f, 1.0f,0.0488f, 0.0f, -0.8339f, 0.9576f, 1.0f,0.0564f, 0.0f, -0.8308f, 0.9385f, 1.0f, +0.0638f, 0.0f, -0.8271f, 0.9143f, 1.0f,0.0712f, 0.0f, -0.823f, 0.8841f, 1.0f,0.0785f, 0.0f, -0.8184f, 0.8461f, 1.0f,0.0856f, 0.0f, -0.8134f, 0.7979f, 1.0f, +0.0925f, 0.0f, -0.8079f, 0.7359f, 1.0f,0.0994f, 0.0f, -0.8019f, 0.6541f, 1.0f,0.106f, 0.0f, -0.7954f, 0.5396f, 1.0f,0.1125f, 0.0f, -0.7885f, 0.36f, 1.0f, +0.1187f, 0.0f, -0.7812f, 0.1f, 1.0f +}; + +static const float data19[34 * GP_PRIM_DATABUF_SIZE] = { +-0.1119f, 0.0f, -0.2655f, 0.1f, 1.0f,-0.1101f, 0.0f, -0.2605f, 0.1288f, 1.0f,-0.1032f, 0.0f, -0.2424f, 0.4147f, 1.0f,-0.0965f, 0.0f, -0.2276f, 0.5723f, 1.0f, +-0.0901f, 0.0f, -0.2158f, 0.6768f, 1.0f,-0.0837f, 0.0f, -0.2069f, 0.753f, 1.0f,-0.0775f, 0.0f, -0.2006f, 0.8109f, 1.0f,-0.0712f, 0.0f, -0.1967f, 0.8564f, 1.0f, +-0.065f, 0.0f, -0.1949f, 0.8922f, 1.0f,-0.0587f, 0.0f, -0.195f, 0.9211f, 1.0f,-0.0522f, 0.0f, -0.1968f, 0.944f, 1.0f,-0.0455f, 0.0f, -0.2001f, 0.9617f, 1.0f, +-0.0386f, 0.0f, -0.2046f, 0.9755f, 1.0f,-0.0315f, 0.0f, -0.21f, 0.9858f, 1.0f,-0.0239f, 0.0f, -0.2163f, 0.993f, 1.0f,-0.016f, 0.0f, -0.223f, 0.9973f, 1.0f, +-0.0075f, 0.0f, -0.2301f, 0.9993f, 1.0f,-0.0002f, 0.0f, -0.2342f, 0.9993f, 1.0f,0.0054f, 0.0f, -0.234f, 0.9973f, 1.0f,0.0106f, 0.0f, -0.2324f, 0.993f, 1.0f, +0.0155f, 0.0f, -0.2297f, 0.9858f, 1.0f,0.0202f, 0.0f, -0.2261f, 0.9755f, 1.0f,0.0249f, 0.0f, -0.2219f, 0.9617f, 1.0f,0.0296f, 0.0f, -0.2174f, 0.944f, 1.0f, +0.0344f, 0.0f, -0.2128f, 0.9211f, 1.0f,0.0394f, 0.0f, -0.2084f, 0.8922f, 1.0f,0.0448f, 0.0f, -0.2044f, 0.8564f, 1.0f,0.0506f, 0.0f, -0.2012f, 0.8109f, 1.0f, +0.057f, 0.0f, -0.1988f, 0.753f, 1.0f,0.064f, 0.0f, -0.1977f, 0.6768f, 1.0f,0.0717f, 0.0f, -0.198f, 0.5723f, 1.0f,0.0804f, 0.0f, -0.2001f, 0.4147f, 1.0f, +0.0899f, 0.0f, -0.2042f, 0.1288f, 1.0f,0.0925f, 0.0f, -0.2055f, 0.1f, 1.0f +}; + +static const float data20[33 * GP_PRIM_DATABUF_SIZE] = { +0.7993f, -0.0f, 0.3242f, 0.1f, 1.0f,0.8169f, -0.0f, 0.3354f, 0.2199f, 1.0f,0.8512f, -0.0f, 0.3542f, 0.4615f, 1.0f,0.884f, -0.0f, 0.3686f, 0.6019f, 1.0f, +0.9153f, -0.0f, 0.3787f, 0.6981f, 1.0f,0.945f, -0.0f, 0.3848f, 0.7689f, 1.0f,0.9729f, -0.0f, 0.3871f, 0.8236f, 1.0f,0.9989f, -0.0f, 0.3857f, 0.866f, 1.0f, +1.0229f, -0.0f, 0.3811f, 0.9003f, 1.0f,1.0447f, -0.0f, 0.3732f, 0.9272f, 1.0f,1.0643f, -0.0f, 0.3624f, 0.9485f, 1.0f,1.0814f, -0.0f, 0.349f, 0.9653f, 1.0f, +1.096f, -0.0f, 0.333f, 0.9781f, 1.0f,1.108f, -0.0f, 0.3147f, 0.9876f, 1.0f,1.1172f, -0.0f, 0.2944f, 0.9942f, 1.0f,1.1235f, -0.0f, 0.2723f, 0.9983f, 1.0f, +1.1267f, -0.0f, 0.2485f, 0.9997f, 1.0f,1.1269f, -0.0f, 0.2233f, 0.999f, 1.0f,1.1237f, -0.0f, 0.197f, 0.9963f, 1.0f,1.1172f, -0.0f, 0.1697f, 0.9912f, 1.0f, +1.1071f, -0.0f, 0.1417f, 0.9834f, 1.0f,1.0934f, -0.0f, 0.1131f, 0.9724f, 1.0f,1.0759f, -0.0f, 0.0842f, 0.9576f, 1.0f,1.0545f, -0.0f, 0.0553f, 0.9385f, 1.0f, +1.0291f, -0.0f, 0.0265f, 0.9143f, 1.0f,0.9995f, 0.0f, -0.0019f, 0.8841f, 1.0f,0.9657f, 0.0f, -0.0298f, 0.8461f, 1.0f,0.9275f, 0.0f, -0.0569f, 0.7979f, 1.0f, +0.8847f, 0.0f, -0.0829f, 0.7359f, 1.0f,0.8373f, 0.0f, -0.1077f, 0.6541f, 1.0f,0.7852f, 0.0f, -0.1311f, 0.5396f, 1.0f,0.7281f, 0.0f, -0.1528f, 0.36f, 1.0f, +0.6661f, 0.0f, -0.1725f, 0.1f, 1.0f +}; + +static const float data21[64 * GP_PRIM_DATABUF_SIZE] = { +-0.7428f, -0.0f, 0.2977f, 0.1f, 1.0f,-0.7608f, -0.0f, 0.3138f, 0.2199f, 1.0f,-0.7786f, -0.0f, 0.3284f, 0.36f, 1.0f,-0.7962f, -0.0f, 0.3414f, 0.4615f, 1.0f, +-0.8135f, -0.0f, 0.3531f, 0.5396f, 1.0f,-0.8306f, -0.0f, 0.3633f, 0.6019f, 1.0f,-0.8473f, -0.0f, 0.3722f, 0.6541f, 1.0f,-0.8637f, -0.0f, 0.3798f, 0.6981f, 1.0f, +-0.8798f, -0.0f, 0.386f, 0.7359f, 1.0f,-0.8956f, -0.0f, 0.3911f, 0.7689f, 1.0f,-0.9109f, -0.0f, 0.3949f, 0.7979f, 1.0f,-0.9259f, -0.0f, 0.3975f, 0.8236f, 1.0f, +-0.9405f, -0.0f, 0.3989f, 0.8461f, 1.0f,-0.9546f, -0.0f, 0.3993f, 0.866f, 1.0f,-0.9682f, -0.0f, 0.3986f, 0.8841f, 1.0f,-0.9814f, -0.0f, 0.3969f, 0.9003f, 1.0f, +-0.994f, -0.0f, 0.3941f, 0.9143f, 1.0f,-1.0062f, -0.0f, 0.3904f, 0.9272f, 1.0f,-1.0178f, -0.0f, 0.3858f, 0.9385f, 1.0f,-1.0288f, -0.0f, 0.3803f, 0.9485f, 1.0f, +-1.0393f, -0.0f, 0.3739f, 0.9576f, 1.0f,-1.0492f, -0.0f, 0.3668f, 0.9653f, 1.0f,-1.0584f, -0.0f, 0.3588f, 0.9724f, 1.0f,-1.067f, -0.0f, 0.3501f, 0.9781f, 1.0f, +-1.075f, -0.0f, 0.3407f, 0.9834f, 1.0f,-1.0822f, -0.0f, 0.3307f, 0.9876f, 1.0f,-1.0888f, -0.0f, 0.32f, 0.9912f, 1.0f,-1.0946f, -0.0f, 0.3087f, 0.9942f, 1.0f, +-1.0997f, -0.0f, 0.2969f, 0.9963f, 1.0f,-1.104f, -0.0f, 0.2845f, 0.9983f, 1.0f,-1.1075f, -0.0f, 0.2717f, 0.999f, 1.0f,-1.1103f, -0.0f, 0.2584f, 0.9997f, 1.0f, +-1.1122f, -0.0f, 0.2447f, 0.9997f, 1.0f,-1.1132f, -0.0f, 0.2306f, 0.999f, 1.0f,-1.1134f, -0.0f, 0.2162f, 0.9983f, 1.0f,-1.1128f, -0.0f, 0.2015f, 0.9963f, 1.0f, +-1.1112f, -0.0f, 0.1865f, 0.9942f, 1.0f,-1.1086f, -0.0f, 0.1713f, 0.9912f, 1.0f,-1.1052f, -0.0f, 0.1559f, 0.9876f, 1.0f,-1.1007f, -0.0f, 0.1404f, 0.9834f, 1.0f, +-1.0953f, -0.0f, 0.1247f, 0.9781f, 1.0f,-1.0889f, -0.0f, 0.109f, 0.9724f, 1.0f,-1.0814f, -0.0f, 0.0932f, 0.9653f, 1.0f,-1.0729f, -0.0f, 0.0774f, 0.9576f, 1.0f, +-1.0633f, -0.0f, 0.0617f, 0.9485f, 1.0f,-1.0527f, -0.0f, 0.046f, 0.9385f, 1.0f,-1.0409f, -0.0f, 0.0304f, 0.9272f, 1.0f,-1.028f, -0.0f, 0.015f, 0.9143f, 1.0f, +-1.0139f, 0.0f, -0.0003f, 0.9003f, 1.0f,-0.9987f, 0.0f, -0.0154f, 0.8841f, 1.0f,-0.9823f, 0.0f, -0.0302f, 0.866f, 1.0f,-0.9646f, 0.0f, -0.0447f, 0.8461f, 1.0f, +-0.9458f, 0.0f, -0.0589f, 0.8236f, 1.0f,-0.9257f, 0.0f, -0.0727f, 0.7979f, 1.0f,-0.9043f, 0.0f, -0.0862f, 0.7689f, 1.0f,-0.8816f, 0.0f, -0.0992f, 0.7359f, 1.0f, +-0.8576f, 0.0f, -0.1117f, 0.6981f, 1.0f,-0.8323f, 0.0f, -0.1237f, 0.6541f, 1.0f,-0.8056f, 0.0f, -0.1352f, 0.6019f, 1.0f,-0.7775f, 0.0f, -0.1461f, 0.5396f, 1.0f, +-0.7481f, 0.0f, -0.1564f, 0.4615f, 1.0f,-0.7172f, 0.0f, -0.166f, 0.36f, 1.0f,-0.6849f, 0.0f, -0.175f, 0.2199f, 1.0f,-0.6512f, 0.0f, -0.1832f, 0.1f, 1.0f +}; + +static const float data22[26 * GP_PRIM_DATABUF_SIZE] = { +0.2721f, -0.0f, 0.2084f, 1.0f, 1.0f,0.2721f, -0.0f, 0.2112f, 1.0f, 1.0f,0.2739f, -0.0f, 0.2223f, 1.0f, 1.0f,0.2778f, -0.0f, 0.2324f, 1.0f, 1.0f, +0.2836f, -0.0f, 0.2409f, 1.0f, 1.0f,0.291f, -0.0f, 0.2471f, 1.0f, 1.0f,0.2994f, -0.0f, 0.2507f, 1.0f, 1.0f,0.3082f, -0.0f, 0.2515f, 1.0f, 1.0f, +0.3169f, -0.0f, 0.2493f, 1.0f, 1.0f,0.3248f, -0.0f, 0.2443f, 1.0f, 1.0f,0.3315f, -0.0f, 0.2369f, 1.0f, 1.0f,0.3364f, -0.0f, 0.2275f, 1.0f, 1.0f, +0.3392f, -0.0f, 0.2168f, 1.0f, 1.0f,0.3398f, -0.0f, 0.2056f, 1.0f, 1.0f,0.3381f, -0.0f, 0.1945f, 1.0f, 1.0f,0.3342f, -0.0f, 0.1844f, 1.0f, 1.0f, +0.3283f, -0.0f, 0.176f, 1.0f, 1.0f,0.321f, -0.0f, 0.1697f, 1.0f, 1.0f,0.3126f, -0.0f, 0.1661f, 1.0f, 1.0f,0.3038f, -0.0f, 0.1653f, 1.0f, 1.0f, +0.2951f, -0.0f, 0.1675f, 1.0f, 1.0f,0.2871f, -0.0f, 0.1725f, 1.0f, 1.0f,0.2805f, -0.0f, 0.1799f, 1.0f, 1.0f,0.2756f, -0.0f, 0.1893f, 1.0f, 1.0f, +0.2727f, -0.0f, 0.2f, 1.0f, 1.0f,0.2721f, -0.0f, 0.2056f, 1.0f, 1.0f +}; + +static const float data23[26 * GP_PRIM_DATABUF_SIZE] = { +-0.3545f, -0.0f, 0.2084f, 1.0f, 1.0f,-0.3544f, -0.0f, 0.2112f, 1.0f, 1.0f,-0.3527f, -0.0f, 0.2223f, 1.0f, 1.0f,-0.3488f, -0.0f, 0.2324f, 1.0f, 1.0f, +-0.343f, -0.0f, 0.2409f, 1.0f, 1.0f,-0.3356f, -0.0f, 0.2471f, 1.0f, 1.0f,-0.3272f, -0.0f, 0.2507f, 1.0f, 1.0f,-0.3184f, -0.0f, 0.2515f, 1.0f, 1.0f, +-0.3097f, -0.0f, 0.2493f, 1.0f, 1.0f,-0.3018f, -0.0f, 0.2443f, 1.0f, 1.0f,-0.2951f, -0.0f, 0.2369f, 1.0f, 1.0f,-0.2902f, -0.0f, 0.2275f, 1.0f, 1.0f, +-0.2874f, -0.0f, 0.2168f, 1.0f, 1.0f,-0.2868f, -0.0f, 0.2056f, 1.0f, 1.0f,-0.2885f, -0.0f, 0.1945f, 1.0f, 1.0f,-0.2924f, -0.0f, 0.1844f, 1.0f, 1.0f, +-0.2983f, -0.0f, 0.176f, 1.0f, 1.0f,-0.3056f, -0.0f, 0.1697f, 1.0f, 1.0f,-0.314f, -0.0f, 0.1661f, 1.0f, 1.0f,-0.3228f, -0.0f, 0.1653f, 1.0f, 1.0f, +-0.3315f, -0.0f, 0.1675f, 1.0f, 1.0f,-0.3394f, -0.0f, 0.1725f, 1.0f, 1.0f,-0.3461f, -0.0f, 0.1799f, 1.0f, 1.0f,-0.351f, -0.0f, 0.1893f, 1.0f, 1.0f, +-0.3539f, -0.0f, 0.2f, 1.0f, 1.0f,-0.3544f, -0.0f, 0.2056f, 1.0f, 1.0f +}; + +static const float data24[33 * GP_PRIM_DATABUF_SIZE] = { +0.1904f, -0.0f, 0.0983f, 0.1f, 1.0f,0.1997f, -0.0f, 0.0774f, 0.2199f, 1.0f,0.2234f, -0.0f, 0.0407f, 0.4615f, 1.0f,0.2477f, -0.0f, 0.0158f, 0.6019f, 1.0f, +0.2767f, -0.0f, -0.0047f, 0.6981f, 1.0f,0.3061f, -0.0f, -0.0179f, 0.7689f, 1.0f,0.3346f, -0.0f, -0.0247f, 0.8236f, 1.0f,0.362f, -0.0f, -0.0262f, 0.866f, 1.0f, +0.3881f, -0.0f, -0.0231f, 0.9003f, 1.0f,0.4128f, -0.0f, -0.0159f, 0.9272f, 1.0f,0.436f, -0.0f, -0.0049f, 0.9485f, 1.0f,0.4577f, 0.0f, 0.0099f, 0.9653f, 1.0f, +0.4778f, 0.0f, 0.0289f, 0.9781f, 1.0f,0.4959f, 0.0f, 0.0524f, 0.9876f, 1.0f,0.5114f, 0.0f, 0.0806f, 0.9942f, 1.0f,0.5229f, 0.0f, 0.1134f, 0.9983f, 1.0f, +0.5291f, 0.0f, 0.1498f, 0.9997f, 1.0f,0.5289f, 0.0f, 0.1884f, 0.999f, 1.0f,0.5219f, -0.0f, 0.2267f, 0.9963f, 1.0f,0.5087f, -0.0f, 0.2616f, 0.9912f, 1.0f, +0.4907f, -0.0f, 0.2916f, 0.9834f, 1.0f,0.4697f, -0.0f, 0.3159f, 0.9724f, 1.0f,0.4465f, -0.0f, 0.3349f, 0.9576f, 1.0f,0.422f, -0.0f, 0.3489f, 0.9385f, 1.0f, +0.3964f, -0.0f, 0.3582f, 0.9143f, 1.0f,0.3705f, -0.0f, 0.3628f, 0.8841f, 1.0f,0.3436f, -0.0f, 0.363f, 0.8461f, 1.0f,0.3166f, -0.0f, 0.3586f, 0.7979f, 1.0f, +0.2897f, -0.0f, 0.3491f, 0.7359f, 1.0f,0.2635f, -0.0f, 0.3344f, 0.6541f, 1.0f,0.2382f, -0.0f, 0.3137f, 0.5396f, 1.0f,0.2162f, -0.0f, 0.2882f, 0.36f, 1.0f, +0.1949f, -0.0f, 0.2516f, 0.1f, 1.0f +}; + +static const float data25[18 * GP_PRIM_DATABUF_SIZE] = { +-1.0361f, -0.0f, 0.1745f, 0.1f, 1.0f,-1.0319f, -0.0f, 0.177f, 0.2199f, 1.0f,-1.0153f, -0.0f, 0.1852f, 0.6019f, 1.0f,-0.999f, -0.0f, 0.1907f, 0.7689f, 1.0f, +-0.983f, -0.0f, 0.1936f, 0.866f, 1.0f,-0.9673f, -0.0f, 0.1941f, 0.9272f, 1.0f,-0.9522f, -0.0f, 0.1923f, 0.9653f, 1.0f,-0.9376f, -0.0f, 0.1885f, 0.9876f, 1.0f, +-0.9236f, -0.0f, 0.1827f, 0.9983f, 1.0f,-0.9103f, -0.0f, 0.1752f, 0.999f, 1.0f,-0.8978f, -0.0f, 0.1662f, 0.9912f, 1.0f,-0.8862f, -0.0f, 0.1558f, 0.9724f, 1.0f, +-0.8756f, -0.0f, 0.1441f, 0.9385f, 1.0f,-0.866f, -0.0f, 0.1314f, 0.8841f, 1.0f,-0.8575f, -0.0f, 0.1179f, 0.7979f, 1.0f,-0.8501f, -0.0f, 0.1036f, 0.6541f, 1.0f, +-0.8441f, -0.0f, 0.0889f, 0.36f, 1.0f,-0.8416f, -0.0f, 0.0813f, 0.1f, 1.0f +}; + +static const float data26[18 * GP_PRIM_DATABUF_SIZE] = { +0.9747f, -0.0f, 0.1745f, 0.1f, 1.0f,0.9706f, -0.0f, 0.177f, 0.2199f, 1.0f,0.954f, -0.0f, 0.1852f, 0.6019f, 1.0f,0.9377f, -0.0f, 0.1907f, 0.7689f, 1.0f, +0.9216f, -0.0f, 0.1936f, 0.866f, 1.0f,0.906f, -0.0f, 0.1941f, 0.9272f, 1.0f,0.8908f, -0.0f, 0.1923f, 0.9653f, 1.0f,0.8762f, -0.0f, 0.1885f, 0.9876f, 1.0f, +0.8622f, -0.0f, 0.1827f, 0.9983f, 1.0f,0.849f, -0.0f, 0.1752f, 0.999f, 1.0f,0.8365f, -0.0f, 0.1662f, 0.9912f, 1.0f,0.8249f, -0.0f, 0.1558f, 0.9724f, 1.0f, +0.8143f, -0.0f, 0.1441f, 0.9385f, 1.0f,0.8046f, -0.0f, 0.1314f, 0.8841f, 1.0f,0.7961f, -0.0f, 0.1179f, 0.7979f, 1.0f,0.7888f, -0.0f, 0.1036f, 0.6541f, 1.0f, +0.7828f, -0.0f, 0.0889f, 0.36f, 1.0f,0.7802f, -0.0f, 0.0813f, 0.1f, 1.0f +}; + +static const float data27[33 * GP_PRIM_DATABUF_SIZE] = { +-0.186f, -0.0f, 0.0983f, 0.1f, 1.0f,-0.1954f, -0.0f, 0.0774f, 0.2199f, 1.0f,-0.2191f, -0.0f, 0.0407f, 0.4615f, 1.0f,-0.2434f, -0.0f, 0.0158f, 0.6019f, 1.0f, +-0.2723f, -0.0f, -0.0047f, 0.6981f, 1.0f,-0.3017f, -0.0f, -0.0179f, 0.7689f, 1.0f,-0.3302f, -0.0f, -0.0247f, 0.8236f, 1.0f,-0.3576f, -0.0f, -0.0262f, 0.866f, 1.0f, +-0.3837f, -0.0f, -0.0231f, 0.9003f, 1.0f,-0.4085f, -0.0f, -0.0159f, 0.9272f, 1.0f,-0.4317f, -0.0f, -0.0049f, 0.9485f, 1.0f,-0.4533f, 0.0f, 0.0099f, 0.9653f, 1.0f, +-0.4734f, 0.0f, 0.0289f, 0.9781f, 1.0f,-0.4916f, 0.0f, 0.0524f, 0.9876f, 1.0f,-0.507f, 0.0f, 0.0806f, 0.9942f, 1.0f,-0.5185f, 0.0f, 0.1134f, 0.9983f, 1.0f, +-0.5247f, 0.0f, 0.1498f, 0.9997f, 1.0f,-0.5246f, 0.0f, 0.1884f, 0.999f, 1.0f,-0.5175f, -0.0f, 0.2267f, 0.9963f, 1.0f,-0.5043f, -0.0f, 0.2616f, 0.9912f, 1.0f, +-0.4864f, -0.0f, 0.2916f, 0.9834f, 1.0f,-0.4653f, -0.0f, 0.3159f, 0.9724f, 1.0f,-0.4422f, -0.0f, 0.3349f, 0.9576f, 1.0f,-0.4177f, -0.0f, 0.3489f, 0.9385f, 1.0f, +-0.3921f, -0.0f, 0.3582f, 0.9143f, 1.0f,-0.3661f, -0.0f, 0.3628f, 0.8841f, 1.0f,-0.3392f, -0.0f, 0.363f, 0.8461f, 1.0f,-0.3123f, -0.0f, 0.3586f, 0.7979f, 1.0f, +-0.2853f, -0.0f, 0.3491f, 0.7359f, 1.0f,-0.2591f, -0.0f, 0.3344f, 0.6541f, 1.0f,-0.2339f, -0.0f, 0.3137f, 0.5396f, 1.0f,-0.2118f, -0.0f, 0.2882f, 0.36f, 1.0f, +-0.1906f, -0.0f, 0.2516f, 0.1f, 1.0f }; -static const float data9[70 * GP_PRIM_DATABUF_SIZE] = { - 0.819f, -0.0f, 0.325f, 0.109f, 0.109f, 0.829f, -0.0f, 0.328f, 0.258f, 0.403f, 0.835f, -0.0f, 0.329f, 0.327f, 0.428f, 0.843f, -0.0f, 0.331f, 0.383f, 0.452f, - 0.851f, -0.0f, 0.332f, 0.419f, 0.465f, 0.861f, -0.0f, 0.334f, 0.444f, 0.473f, 0.87f, -0.0f, 0.336f, 0.461f, 0.48f, 0.881f, -0.0f, 0.337f, 0.473f, 0.486f, - 0.892f, -0.0f, 0.339f, 0.482f, 0.496f, 0.904f, -0.0f, 0.341f, 0.489f, 0.501f, 0.917f, -0.0f, 0.342f, 0.494f, 0.503f, 0.931f, -0.0f, 0.342f, 0.498f, 0.505f, - 0.945f, -0.0f, 0.342f, 0.501f, 0.505f, 0.958f, -0.0f, 0.342f, 0.503f, 0.506f, 0.971f, -0.0f, 0.341f, 0.505f, 0.506f, 0.984f, -0.0f, 0.341f, 0.506f, 0.506f, - 0.997f, -0.0f, 0.339f, 0.507f, 0.508f, 1.009f, -0.0f, 0.337f, 0.507f, 0.507f, 1.021f, -0.0f, 0.333f, 0.508f, 0.508f, 1.033f, -0.0f, 0.33f, 0.508f, 0.508f, - 1.044f, -0.0f, 0.326f, 0.508f, 0.508f, 1.056f, -0.0f, 0.322f, 0.508f, 0.508f, 1.068f, -0.0f, 0.317f, 0.508f, 0.508f, 1.078f, -0.0f, 0.311f, 0.507f, 0.508f, - 1.089f, -0.0f, 0.304f, 0.506f, 0.508f, 1.099f, 0.0f, 0.294f, 0.503f, 0.506f, 1.107f, 0.0f, 0.287f, 0.498f, 0.506f, 1.113f, 0.0f, 0.28f, 0.49f, 0.505f, - 1.117f, 0.0f, 0.276f, 0.48f, 0.501f, 1.121f, 0.0f, 0.272f, 0.468f, 0.492f, 1.124f, 0.0f, 0.27f, 0.455f, 0.467f, 1.127f, 0.0f, 0.27f, 0.443f, 0.431f, - 1.129f, 0.0f, 0.271f, 0.431f, 0.4f, 1.13f, 0.0f, 0.274f, 0.422f, 0.399f, 1.13f, 0.0f, 0.278f, 0.414f, 0.399f, 1.13f, 0.0f, 0.286f, 0.408f, 0.399f, - 1.128f, 0.0f, 0.295f, 0.404f, 0.399f, 1.124f, 0.0f, 0.305f, 0.402f, 0.399f, 1.119f, 0.0f, 0.316f, 0.403f, 0.4f, 1.113f, -0.0f, 0.327f, 0.405f, 0.401f, - 1.107f, -0.0f, 0.337f, 0.408f, 0.411f, 1.1f, -0.0f, 0.345f, 0.412f, 0.412f, 1.094f, -0.0f, 0.352f, 0.416f, 0.413f, 1.087f, -0.0f, 0.357f, 0.421f, 0.422f, - 1.08f, -0.0f, 0.363f, 0.426f, 0.428f, 1.071f, -0.0f, 0.368f, 0.429f, 0.43f, 1.062f, -0.0f, 0.373f, 0.431f, 0.431f, 1.051f, -0.0f, 0.377f, 0.433f, 0.431f, - 1.039f, -0.0f, 0.381f, 0.436f, 0.437f, 1.026f, -0.0f, 0.383f, 0.438f, 0.44f, 1.013f, -0.0f, 0.384f, 0.44f, 0.44f, 1.0f, -0.0f, 0.385f, 0.441f, 0.443f, - 0.987f, -0.0f, 0.385f, 0.442f, 0.443f, 0.975f, -0.0f, 0.384f, 0.443f, 0.443f, 0.962f, -0.0f, 0.383f, 0.443f, 0.444f, 0.949f, -0.0f, 0.381f, 0.443f, 0.443f, - 0.936f, -0.0f, 0.38f, 0.443f, 0.444f, 0.923f, -0.0f, 0.378f, 0.443f, 0.444f, 0.909f, -0.0f, 0.375f, 0.443f, 0.444f, 0.897f, -0.0f, 0.371f, 0.443f, 0.444f, - 0.886f, -0.0f, 0.367f, 0.443f, 0.443f, 0.876f, -0.0f, 0.363f, 0.443f, 0.444f, 0.868f, -0.0f, 0.359f, 0.443f, 0.442f, 0.86f, -0.0f, 0.355f, 0.442f, 0.443f, - 0.852f, -0.0f, 0.35f, 0.441f, 0.443f, 0.844f, -0.0f, 0.347f, 0.433f, 0.443f, 0.837f, -0.0f, 0.343f, 0.409f, 0.443f, 0.83f, -0.0f, 0.338f, 0.344f, 0.443f, - 0.824f, -0.0f, 0.335f, 0.239f, 0.437f, 0.815f, -0.0f, 0.326f, 0.0f, 0.003f, -}; - -static const float data10[227 * GP_PRIM_DATABUF_SIZE] = { - -0.675f, 0.0f, 0.411f, 0.099f, 0.099f, -0.669f, 0.0f, 0.418f, 0.358f, 0.358f, -0.666f, 0.0f, 0.424f, 0.381f, 0.381f, -0.662f, 0.0f, 0.431f, 0.389f, 0.389f, - -0.658f, 0.0f, 0.438f, 0.393f, 0.393f, -0.649f, 0.0f, 0.448f, 0.404f, 0.404f, -0.641f, 0.0f, 0.458f, 0.419f, 0.419f, -0.632f, 0.0f, 0.468f, 0.431f, 0.434f, - -0.626f, 0.0f, 0.476f, 0.435f, 0.436f, -0.62f, 0.0f, 0.484f, 0.437f, 0.438f, -0.615f, 0.0f, 0.492f, 0.439f, 0.439f, -0.61f, 0.0f, 0.499f, 0.439f, 0.44f, - -0.605f, 0.0f, 0.506f, 0.44f, 0.44f, -0.6f, 0.0f, 0.512f, 0.44f, 0.44f, -0.595f, 0.0f, 0.519f, 0.44f, 0.44f, -0.59f, 0.0f, 0.526f, 0.441f, 0.441f, - -0.584f, 0.0f, 0.532f, 0.441f, 0.441f, -0.579f, 0.0f, 0.539f, 0.441f, 0.441f, -0.573f, 0.0f, 0.545f, 0.442f, 0.442f, -0.566f, 0.0f, 0.551f, 0.443f, 0.443f, - -0.559f, 0.0f, 0.557f, 0.443f, 0.443f, -0.552f, 0.0f, 0.563f, 0.444f, 0.444f, -0.545f, 0.0f, 0.569f, 0.445f, 0.445f, -0.538f, 0.0f, 0.576f, 0.447f, 0.447f, - -0.532f, 0.0f, 0.582f, 0.448f, 0.448f, -0.525f, 0.0f, 0.589f, 0.45f, 0.45f, -0.519f, 0.0f, 0.595f, 0.451f, 0.452f, -0.513f, 0.0f, 0.602f, 0.452f, 0.453f, - -0.506f, 0.0f, 0.608f, 0.453f, 0.453f, -0.5f, 0.0f, 0.613f, 0.453f, 0.454f, -0.493f, 0.0f, 0.619f, 0.453f, 0.454f, -0.486f, 0.0f, 0.625f, 0.453f, 0.454f, - -0.479f, 0.0f, 0.631f, 0.453f, 0.454f, -0.472f, 0.0f, 0.637f, 0.453f, 0.454f, -0.464f, 0.0f, 0.642f, 0.453f, 0.454f, -0.457f, 0.0f, 0.649f, 0.453f, 0.454f, - -0.45f, 0.0f, 0.655f, 0.453f, 0.453f, -0.443f, 0.0f, 0.661f, 0.453f, 0.453f, -0.435f, 0.0f, 0.667f, 0.453f, 0.454f, -0.427f, 0.0f, 0.672f, 0.453f, 0.454f, - -0.419f, 0.0f, 0.677f, 0.453f, 0.454f, -0.411f, 0.0f, 0.682f, 0.453f, 0.453f, -0.403f, 0.0f, 0.688f, 0.453f, 0.453f, -0.395f, 0.0f, 0.692f, 0.453f, 0.454f, - -0.387f, 0.0f, 0.697f, 0.453f, 0.454f, -0.379f, 0.0f, 0.702f, 0.453f, 0.454f, -0.372f, 0.0f, 0.707f, 0.454f, 0.454f, -0.364f, 0.0f, 0.712f, 0.454f, 0.454f, - -0.356f, 0.0f, 0.716f, 0.454f, 0.454f, -0.349f, 0.0f, 0.721f, 0.454f, 0.454f, -0.342f, 0.0f, 0.725f, 0.454f, 0.454f, -0.334f, 0.0f, 0.73f, 0.454f, 0.454f, - -0.326f, 0.0f, 0.733f, 0.454f, 0.454f, -0.318f, 0.0f, 0.737f, 0.454f, 0.454f, -0.31f, 0.0f, 0.74f, 0.454f, 0.454f, -0.301f, 0.0f, 0.743f, 0.454f, 0.454f, - -0.293f, 0.0f, 0.746f, 0.454f, 0.455f, -0.284f, 0.0f, 0.749f, 0.454f, 0.455f, -0.274f, 0.0f, 0.752f, 0.455f, 0.455f, -0.265f, 0.0f, 0.755f, 0.455f, 0.455f, - -0.255f, 0.0f, 0.757f, 0.455f, 0.455f, -0.245f, 0.0f, 0.76f, 0.456f, 0.455f, -0.234f, 0.0f, 0.762f, 0.457f, 0.456f, -0.223f, 0.0f, 0.764f, 0.458f, 0.458f, - -0.212f, 0.0f, 0.766f, 0.459f, 0.46f, -0.201f, 0.0f, 0.769f, 0.461f, 0.46f, -0.189f, 0.0f, 0.771f, 0.462f, 0.461f, -0.177f, 0.0f, 0.773f, 0.464f, 0.463f, - -0.166f, 0.0f, 0.775f, 0.465f, 0.465f, -0.153f, 0.0f, 0.777f, 0.467f, 0.467f, -0.141f, 0.0f, 0.779f, 0.469f, 0.469f, -0.128f, 0.0f, 0.781f, 0.472f, 0.472f, - -0.116f, 0.0f, 0.782f, 0.474f, 0.473f, -0.101f, 0.0f, 0.782f, 0.477f, 0.477f, -0.087f, 0.0f, 0.783f, 0.482f, 0.477f, -0.073f, 0.0f, 0.783f, 0.489f, 0.483f, - -0.059f, 0.0f, 0.783f, 0.497f, 0.5f, -0.046f, 0.0f, 0.784f, 0.503f, 0.509f, -0.033f, 0.0f, 0.784f, 0.508f, 0.51f, -0.022f, 0.0f, 0.784f, 0.51f, 0.512f, - -0.011f, 0.0f, 0.785f, 0.512f, 0.512f, -0.0f, 0.0f, 0.786f, 0.513f, 0.512f, 0.011f, 0.0f, 0.786f, 0.515f, 0.513f, 0.022f, 0.0f, 0.786f, 0.517f, 0.517f, - 0.032f, 0.0f, 0.786f, 0.52f, 0.519f, 0.044f, 0.0f, 0.786f, 0.522f, 0.524f, 0.055f, 0.0f, 0.785f, 0.525f, 0.525f, 0.066f, 0.0f, 0.785f, 0.527f, 0.525f, - 0.076f, 0.0f, 0.784f, 0.53f, 0.53f, 0.086f, 0.0f, 0.783f, 0.532f, 0.533f, 0.097f, 0.0f, 0.782f, 0.535f, 0.534f, 0.108f, 0.0f, 0.782f, 0.538f, 0.541f, - 0.119f, 0.0f, 0.781f, 0.54f, 0.542f, 0.13f, 0.0f, 0.781f, 0.543f, 0.543f, 0.141f, 0.0f, 0.78f, 0.545f, 0.545f, 0.154f, 0.0f, 0.779f, 0.547f, 0.547f, - 0.165f, 0.0f, 0.777f, 0.549f, 0.548f, 0.177f, 0.0f, 0.775f, 0.55f, 0.552f, 0.188f, 0.0f, 0.772f, 0.552f, 0.552f, 0.199f, 0.0f, 0.77f, 0.553f, 0.553f, - 0.209f, 0.0f, 0.767f, 0.554f, 0.554f, 0.218f, 0.0f, 0.765f, 0.555f, 0.556f, 0.226f, 0.0f, 0.763f, 0.556f, 0.557f, 0.235f, 0.0f, 0.761f, 0.557f, 0.557f, - 0.244f, 0.0f, 0.758f, 0.558f, 0.558f, 0.253f, 0.0f, 0.755f, 0.559f, 0.559f, 0.263f, 0.0f, 0.752f, 0.56f, 0.559f, 0.272f, 0.0f, 0.749f, 0.561f, 0.56f, - 0.285f, 0.0f, 0.745f, 0.562f, 0.56f, 0.299f, 0.0f, 0.741f, 0.563f, 0.563f, 0.316f, 0.0f, 0.736f, 0.564f, 0.564f, 0.331f, 0.0f, 0.728f, 0.565f, 0.567f, - 0.349f, 0.0f, 0.718f, 0.565f, 0.568f, 0.365f, 0.0f, 0.708f, 0.566f, 0.568f, 0.38f, 0.0f, 0.699f, 0.566f, 0.568f, 0.39f, 0.0f, 0.693f, 0.566f, 0.568f, - 0.397f, 0.0f, 0.687f, 0.566f, 0.569f, 0.4f, 0.0f, 0.683f, 0.566f, 0.569f, 0.401f, 0.0f, 0.681f, 0.565f, 0.57f, 0.4f, 0.0f, 0.679f, 0.565f, 0.57f, - 0.397f, 0.0f, 0.678f, 0.564f, 0.57f, 0.393f, 0.0f, 0.678f, 0.564f, 0.565f, 0.387f, 0.0f, 0.678f, 0.563f, 0.559f, 0.379f, 0.0f, 0.679f, 0.562f, 0.558f, - 0.37f, 0.0f, 0.681f, 0.561f, 0.557f, 0.357f, 0.0f, 0.684f, 0.561f, 0.557f, 0.342f, 0.0f, 0.689f, 0.56f, 0.557f, 0.324f, 0.0f, 0.694f, 0.56f, 0.557f, - 0.307f, 0.0f, 0.697f, 0.559f, 0.558f, 0.291f, 0.0f, 0.699f, 0.559f, 0.558f, 0.274f, 0.0f, 0.701f, 0.559f, 0.557f, 0.26f, 0.0f, 0.703f, 0.558f, 0.558f, - 0.246f, 0.0f, 0.705f, 0.558f, 0.558f, 0.235f, 0.0f, 0.707f, 0.558f, 0.558f, 0.224f, 0.0f, 0.709f, 0.558f, 0.558f, 0.214f, 0.0f, 0.711f, 0.558f, 0.558f, - 0.203f, 0.0f, 0.713f, 0.558f, 0.559f, 0.192f, 0.0f, 0.714f, 0.558f, 0.558f, 0.181f, 0.0f, 0.714f, 0.557f, 0.557f, 0.17f, 0.0f, 0.714f, 0.557f, 0.557f, - 0.16f, 0.0f, 0.715f, 0.557f, 0.556f, 0.149f, 0.0f, 0.715f, 0.557f, 0.556f, 0.139f, 0.0f, 0.716f, 0.557f, 0.556f, 0.129f, 0.0f, 0.716f, 0.558f, 0.556f, - 0.119f, 0.0f, 0.717f, 0.558f, 0.556f, 0.109f, 0.0f, 0.717f, 0.558f, 0.557f, 0.099f, 0.0f, 0.718f, 0.558f, 0.557f, 0.089f, 0.0f, 0.718f, 0.559f, 0.557f, - 0.079f, 0.0f, 0.718f, 0.559f, 0.558f, 0.068f, 0.0f, 0.719f, 0.559f, 0.559f, 0.057f, 0.0f, 0.719f, 0.56f, 0.56f, 0.046f, 0.0f, 0.718f, 0.56f, 0.561f, - 0.035f, 0.0f, 0.718f, 0.561f, 0.561f, 0.024f, 0.0f, 0.718f, 0.561f, 0.562f, 0.013f, 0.0f, 0.717f, 0.562f, 0.562f, 0.002f, 0.0f, 0.717f, 0.562f, 0.563f, - -0.01f, 0.0f, 0.717f, 0.563f, 0.564f, -0.021f, 0.0f, 0.717f, 0.563f, 0.564f, -0.032f, 0.0f, 0.716f, 0.563f, 0.564f, -0.044f, 0.0f, 0.715f, 0.564f, 0.564f, - -0.055f, 0.0f, 0.714f, 0.564f, 0.565f, -0.066f, 0.0f, 0.713f, 0.564f, 0.565f, -0.078f, 0.0f, 0.712f, 0.564f, 0.564f, -0.089f, 0.0f, 0.711f, 0.564f, 0.564f, - -0.101f, 0.0f, 0.709f, 0.565f, 0.564f, -0.112f, 0.0f, 0.708f, 0.565f, 0.564f, -0.124f, 0.0f, 0.707f, 0.565f, 0.564f, -0.135f, 0.0f, 0.705f, 0.565f, 0.564f, - -0.146f, 0.0f, 0.704f, 0.566f, 0.564f, -0.158f, 0.0f, 0.702f, 0.566f, 0.564f, -0.169f, 0.0f, 0.7f, 0.566f, 0.566f, -0.18f, 0.0f, 0.698f, 0.567f, 0.568f, - -0.191f, 0.0f, 0.696f, 0.567f, 0.568f, -0.203f, 0.0f, 0.693f, 0.567f, 0.568f, -0.215f, 0.0f, 0.69f, 0.567f, 0.568f, -0.227f, 0.0f, 0.687f, 0.567f, 0.568f, - -0.238f, 0.0f, 0.684f, 0.567f, 0.568f, -0.25f, 0.0f, 0.681f, 0.567f, 0.569f, -0.262f, 0.0f, 0.678f, 0.567f, 0.569f, -0.273f, 0.0f, 0.675f, 0.567f, 0.567f, - -0.284f, 0.0f, 0.673f, 0.567f, 0.566f, -0.295f, 0.0f, 0.671f, 0.567f, 0.567f, -0.305f, 0.0f, 0.669f, 0.566f, 0.567f, -0.316f, 0.0f, 0.666f, 0.566f, 0.567f, - -0.326f, 0.0f, 0.663f, 0.565f, 0.566f, -0.337f, 0.0f, 0.66f, 0.565f, 0.566f, -0.348f, 0.0f, 0.655f, 0.564f, 0.564f, -0.359f, 0.0f, 0.652f, 0.563f, 0.564f, - -0.369f, 0.0f, 0.648f, 0.562f, 0.563f, -0.379f, 0.0f, 0.644f, 0.561f, 0.56f, -0.389f, 0.0f, 0.64f, 0.561f, 0.559f, -0.399f, 0.0f, 0.636f, 0.56f, 0.559f, - -0.409f, 0.0f, 0.633f, 0.559f, 0.559f, -0.419f, 0.0f, 0.629f, 0.559f, 0.559f, -0.428f, 0.0f, 0.625f, 0.559f, 0.558f, -0.438f, 0.0f, 0.62f, 0.559f, 0.559f, - -0.447f, 0.0f, 0.615f, 0.559f, 0.559f, -0.457f, 0.0f, 0.61f, 0.559f, 0.559f, -0.466f, 0.0f, 0.605f, 0.559f, 0.559f, -0.474f, 0.0f, 0.6f, 0.559f, 0.559f, - -0.483f, 0.0f, 0.595f, 0.559f, 0.559f, -0.492f, 0.0f, 0.591f, 0.559f, 0.559f, -0.5f, 0.0f, 0.586f, 0.559f, 0.559f, -0.508f, 0.0f, 0.58f, 0.559f, 0.559f, - -0.515f, 0.0f, 0.574f, 0.559f, 0.559f, -0.523f, 0.0f, 0.568f, 0.559f, 0.559f, -0.531f, 0.0f, 0.562f, 0.559f, 0.558f, -0.54f, 0.0f, 0.556f, 0.559f, 0.558f, - -0.548f, 0.0f, 0.549f, 0.559f, 0.559f, -0.556f, 0.0f, 0.543f, 0.559f, 0.559f, -0.562f, 0.0f, 0.537f, 0.559f, 0.559f, -0.568f, 0.0f, 0.531f, 0.559f, 0.559f, - -0.574f, 0.0f, 0.524f, 0.559f, 0.559f, -0.58f, 0.0f, 0.518f, 0.558f, 0.559f, -0.586f, 0.0f, 0.512f, 0.557f, 0.558f, -0.591f, 0.0f, 0.506f, 0.555f, 0.557f, - -0.597f, 0.0f, 0.5f, 0.551f, 0.556f, -0.603f, 0.0f, 0.493f, 0.546f, 0.547f, -0.609f, 0.0f, 0.487f, 0.541f, 0.538f, -0.614f, 0.0f, 0.48f, 0.536f, 0.535f, - -0.621f, 0.0f, 0.473f, 0.534f, 0.534f, -0.628f, 0.0f, 0.467f, 0.534f, 0.534f, -0.637f, 0.0f, 0.459f, 0.534f, 0.534f, -0.642f, 0.0f, 0.452f, 0.532f, 0.532f, - -0.65f, 0.0f, 0.445f, 0.528f, 0.528f, -0.654f, 0.0f, 0.438f, 0.525f, 0.525f, -0.659f, 0.0f, 0.431f, 0.522f, 0.522f, -}; - -static const float data11[1 * GP_PRIM_DATABUF_SIZE] = { - -0.525f, 0.0f, 0.174f, 0.124f, 0.124f, -}; - -static const float data12[123 * GP_PRIM_DATABUF_SIZE] = { - -0.53f, 0.0f, 0.193f, 0.147f, 0.147f, -0.532f, 0.0f, 0.186f, 0.316f, 0.316f, -0.534f, 0.0f, 0.18f, 0.353f, 0.353f, -0.535f, 0.0f, 0.173f, 0.382f, 0.382f, - -0.537f, 0.0f, 0.165f, 0.384f, 0.384f, -0.538f, 0.0f, 0.155f, 0.387f, 0.387f, -0.539f, 0.0f, 0.145f, 0.393f, 0.393f, -0.54f, -0.0f, 0.134f, 0.399f, 0.399f, - -0.541f, -0.0f, 0.123f, 0.4f, 0.4f, -0.542f, -0.0f, 0.11f, 0.401f, 0.401f, -0.542f, 0.0f, 0.094f, 0.402f, 0.402f, -0.54f, 0.0f, 0.078f, 0.403f, 0.403f, - -0.538f, 0.0f, 0.061f, 0.404f, 0.404f, -0.535f, 0.0f, 0.045f, 0.404f, 0.404f, -0.531f, 0.0f, 0.031f, 0.404f, 0.404f, -0.526f, 0.0f, 0.018f, 0.404f, 0.404f, - -0.52f, -0.0f, 0.005f, 0.405f, 0.405f, -0.513f, -0.0f, -0.01f, 0.405f, 0.405f, -0.505f, -0.0f, -0.024f, 0.405f, 0.405f, -0.495f, -0.0f, -0.037f, 0.405f, 0.405f, - -0.485f, 0.0f, -0.051f, 0.405f, 0.405f, -0.474f, 0.0f, -0.064f, 0.406f, 0.406f, -0.462f, 0.0f, -0.076f, 0.405f, 0.405f, -0.451f, 0.0f, -0.086f, 0.406f, 0.406f, - -0.442f, 0.0f, -0.094f, 0.406f, 0.406f, -0.432f, 0.0f, -0.102f, 0.406f, 0.406f, -0.422f, 0.0f, -0.108f, 0.405f, 0.405f, -0.411f, 0.0f, -0.114f, 0.406f, 0.406f, - -0.4f, 0.0f, -0.119f, 0.405f, 0.405f, -0.389f, 0.0f, -0.122f, 0.406f, 0.406f, -0.378f, 0.0f, -0.125f, 0.407f, 0.407f, -0.365f, 0.0f, -0.127f, 0.412f, 0.412f, - -0.354f, 0.0f, -0.129f, 0.418f, 0.418f, -0.342f, 0.0f, -0.131f, 0.44f, 0.44f, -0.33f, 0.0f, -0.131f, 0.448f, 0.448f, -0.317f, 0.0f, -0.131f, 0.469f, 0.469f, - -0.305f, 0.0f, -0.13f, 0.477f, 0.477f, -0.293f, 0.0f, -0.128f, 0.482f, 0.482f, -0.278f, 0.0f, -0.125f, 0.494f, 0.494f, -0.266f, 0.0f, -0.121f, 0.5f, 0.5f, - -0.253f, 0.0f, -0.116f, 0.507f, 0.507f, -0.242f, 0.0f, -0.111f, 0.509f, 0.509f, -0.231f, 0.0f, -0.105f, 0.511f, 0.511f, -0.222f, 0.0f, -0.099f, 0.511f, 0.511f, - -0.213f, 0.0f, -0.092f, 0.512f, 0.512f, -0.206f, 0.0f, -0.084f, 0.513f, 0.513f, -0.199f, 0.0f, -0.076f, 0.514f, 0.514f, -0.192f, 0.0f, -0.067f, 0.515f, 0.515f, - -0.186f, -0.0f, -0.058f, 0.516f, 0.516f, -0.18f, -0.0f, -0.049f, 0.516f, 0.516f, -0.175f, -0.0f, -0.04f, 0.515f, 0.515f, -0.17f, -0.0f, -0.03f, 0.515f, 0.515f, - -0.166f, -0.0f, -0.02f, 0.516f, 0.516f, -0.163f, -0.0f, -0.01f, 0.504f, 0.504f, -0.159f, -0.0f, 0.002f, 0.502f, 0.502f, -0.155f, -0.0f, 0.014f, 0.501f, 0.501f, - -0.152f, -0.0f, 0.027f, 0.502f, 0.502f, -0.149f, -0.0f, 0.043f, 0.5f, 0.5f, -0.148f, -0.0f, 0.058f, 0.49f, 0.49f, -0.147f, -0.0f, 0.075f, 0.47f, 0.47f, - -0.146f, -0.0f, 0.09f, 0.463f, 0.463f, -0.146f, -0.0f, 0.105f, 0.454f, 0.454f, -0.146f, -0.0f, 0.12f, 0.427f, 0.427f, -0.148f, 0.0f, 0.133f, 0.413f, 0.413f, - -0.15f, 0.0f, 0.144f, 0.4f, 0.4f, -0.153f, 0.0f, 0.152f, 0.383f, 0.383f, -0.156f, 0.0f, 0.157f, 0.369f, 0.369f, -0.158f, 0.0f, 0.16f, 0.36f, 0.36f, - -0.16f, 0.0f, 0.158f, 0.349f, 0.349f, -0.162f, 0.0f, 0.154f, 0.364f, 0.364f, -0.164f, 0.0f, 0.147f, 0.37f, 0.37f, -0.166f, 0.0f, 0.139f, 0.378f, 0.378f, - -0.168f, 0.0f, 0.13f, 0.386f, 0.386f, -0.172f, 0.0f, 0.119f, 0.394f, 0.394f, -0.176f, -0.0f, 0.108f, 0.405f, 0.405f, -0.18f, -0.0f, 0.096f, 0.412f, 0.412f, - -0.185f, -0.0f, 0.084f, 0.417f, 0.417f, -0.191f, -0.0f, 0.073f, 0.425f, 0.425f, -0.196f, -0.0f, 0.063f, 0.431f, 0.431f, -0.202f, -0.0f, 0.053f, 0.441f, 0.441f, - -0.208f, -0.0f, 0.043f, 0.444f, 0.444f, -0.214f, -0.0f, 0.034f, 0.451f, 0.451f, -0.22f, 0.0f, 0.026f, 0.46f, 0.46f, -0.226f, 0.0f, 0.018f, 0.463f, 0.463f, - -0.232f, 0.0f, 0.01f, 0.474f, 0.474f, -0.239f, 0.0f, 0.004f, 0.477f, 0.477f, -0.247f, 0.0f, -0.003f, 0.48f, 0.48f, -0.255f, 0.0f, -0.008f, 0.483f, 0.483f, - -0.264f, 0.0f, -0.013f, 0.497f, 0.497f, -0.274f, 0.0f, -0.018f, 0.501f, 0.501f, -0.285f, 0.0f, -0.022f, 0.505f, 0.505f, -0.297f, 0.0f, -0.024f, 0.509f, 0.509f, - -0.311f, 0.0f, -0.025f, 0.51f, 0.51f, -0.325f, 0.0f, -0.024f, 0.512f, 0.512f, -0.339f, 0.0f, -0.023f, 0.512f, 0.512f, -0.354f, 0.0f, -0.022f, 0.513f, 0.513f, - -0.368f, 0.0f, -0.02f, 0.513f, 0.513f, -0.382f, 0.0f, -0.017f, 0.514f, 0.514f, -0.397f, 0.0f, -0.013f, 0.514f, 0.514f, -0.41f, 0.0f, -0.007f, 0.514f, 0.514f, - -0.422f, 0.0f, 0.001f, 0.513f, 0.513f, -0.434f, 0.0f, 0.009f, 0.514f, 0.514f, -0.446f, 0.0f, 0.018f, 0.514f, 0.514f, -0.458f, 0.0f, 0.028f, 0.514f, 0.514f, - -0.47f, -0.0f, 0.039f, 0.514f, 0.514f, -0.48f, 0.0f, 0.048f, 0.514f, 0.514f, -0.487f, 0.0f, 0.057f, 0.514f, 0.514f, -0.493f, 0.0f, 0.068f, 0.514f, 0.514f, - -0.498f, 0.0f, 0.08f, 0.514f, 0.514f, -0.502f, 0.0f, 0.092f, 0.514f, 0.514f, -0.506f, 0.0f, 0.104f, 0.514f, 0.514f, -0.509f, -0.0f, 0.116f, 0.515f, 0.515f, - -0.511f, -0.0f, 0.125f, 0.515f, 0.515f, -0.513f, -0.0f, 0.133f, 0.515f, 0.515f, -0.515f, -0.0f, 0.141f, 0.515f, 0.515f, -0.517f, 0.0f, 0.148f, 0.515f, 0.515f, - -0.519f, 0.0f, 0.155f, 0.514f, 0.514f, -0.52f, 0.0f, 0.161f, 0.514f, 0.514f, -0.522f, 0.0f, 0.168f, 0.514f, 0.514f, -0.523f, 0.0f, 0.174f, 0.514f, 0.514f, - -0.525f, 0.0f, 0.18f, 0.514f, 0.514f, -0.526f, 0.0f, 0.185f, 0.514f, 0.514f, -0.527f, 0.0f, 0.191f, 0.513f, 0.513f, -}; - -static const float data13[125 * GP_PRIM_DATABUF_SIZE] = { - 0.184f, 0.0f, 0.22f, 0.026f, 0.026f, 0.182f, 0.0f, 0.21f, 0.275f, 0.275f, 0.18f, 0.0f, 0.203f, 0.301f, 0.301f, 0.178f, 0.0f, 0.195f, 0.322f, 0.322f, - 0.176f, 0.0f, 0.186f, 0.343f, 0.343f, 0.173f, 0.0f, 0.176f, 0.36f, 0.36f, 0.17f, -0.0f, 0.166f, 0.367f, 0.367f, 0.168f, -0.0f, 0.156f, 0.38f, 0.38f, - 0.165f, -0.0f, 0.145f, 0.385f, 0.385f, 0.163f, -0.0f, 0.132f, 0.391f, 0.391f, 0.161f, -0.0f, 0.119f, 0.401f, 0.401f, 0.16f, -0.0f, 0.103f, 0.405f, 0.405f, - 0.161f, -0.0f, 0.086f, 0.405f, 0.405f, 0.163f, -0.0f, 0.068f, 0.407f, 0.407f, 0.165f, 0.0f, 0.051f, 0.409f, 0.409f, 0.168f, 0.0f, 0.034f, 0.409f, 0.409f, - 0.172f, 0.0f, 0.018f, 0.409f, 0.409f, 0.177f, 0.0f, 0.004f, 0.409f, 0.409f, 0.183f, 0.0f, -0.008f, 0.411f, 0.411f, 0.19f, 0.0f, -0.022f, 0.411f, 0.411f, - 0.196f, 0.0f, -0.034f, 0.411f, 0.411f, 0.203f, 0.0f, -0.045f, 0.411f, 0.411f, 0.211f, 0.0f, -0.055f, 0.411f, 0.411f, 0.219f, 0.0f, -0.064f, 0.411f, 0.411f, - 0.227f, 0.0f, -0.072f, 0.411f, 0.411f, 0.235f, 0.0f, -0.08f, 0.412f, 0.412f, 0.244f, 0.0f, -0.087f, 0.412f, 0.412f, 0.253f, 0.0f, -0.094f, 0.413f, 0.413f, - 0.262f, 0.0f, -0.1f, 0.413f, 0.413f, 0.273f, 0.0f, -0.105f, 0.413f, 0.413f, 0.284f, 0.0f, -0.11f, 0.413f, 0.413f, 0.295f, 0.0f, -0.114f, 0.419f, 0.419f, - 0.307f, 0.0f, -0.117f, 0.425f, 0.425f, 0.321f, -0.0f, -0.118f, 0.433f, 0.433f, 0.334f, -0.0f, -0.12f, 0.446f, 0.446f, 0.347f, -0.0f, -0.12f, 0.474f, 0.474f, - 0.36f, -0.0f, -0.12f, 0.481f, 0.481f, 0.374f, -0.0f, -0.119f, 0.491f, 0.491f, 0.387f, -0.0f, -0.118f, 0.494f, 0.494f, 0.401f, 0.0f, -0.116f, 0.5f, 0.5f, - 0.414f, 0.0f, -0.112f, 0.505f, 0.505f, 0.426f, -0.0f, -0.107f, 0.51f, 0.51f, 0.438f, -0.0f, -0.101f, 0.513f, 0.513f, 0.449f, -0.0f, -0.094f, 0.515f, 0.515f, - 0.46f, -0.0f, -0.086f, 0.517f, 0.517f, 0.47f, -0.0f, -0.078f, 0.519f, 0.519f, 0.478f, -0.0f, -0.07f, 0.52f, 0.52f, 0.486f, -0.0f, -0.061f, 0.522f, 0.522f, - 0.493f, -0.0f, -0.052f, 0.523f, 0.523f, 0.499f, -0.0f, -0.044f, 0.522f, 0.522f, 0.505f, -0.0f, -0.035f, 0.522f, 0.522f, 0.51f, -0.0f, -0.027f, 0.523f, 0.523f, - 0.514f, -0.0f, -0.018f, 0.523f, 0.523f, 0.517f, -0.0f, -0.009f, 0.523f, 0.523f, 0.52f, -0.0f, -0.001f, 0.524f, 0.524f, 0.522f, -0.0f, 0.008f, 0.523f, 0.523f, - 0.525f, -0.0f, 0.018f, 0.521f, 0.522f, 0.527f, -0.0f, 0.027f, 0.515f, 0.514f, 0.529f, -0.0f, 0.036f, 0.512f, 0.512f, 0.531f, -0.0f, 0.045f, 0.509f, 0.51f, - 0.533f, -0.0f, 0.053f, 0.506f, 0.505f, 0.535f, -0.0f, 0.062f, 0.503f, 0.503f, 0.536f, -0.0f, 0.071f, 0.5f, 0.5f, 0.538f, -0.0f, 0.08f, 0.496f, 0.497f, - 0.538f, -0.0f, 0.09f, 0.491f, 0.492f, 0.539f, -0.0f, 0.1f, 0.485f, 0.486f, 0.539f, 0.0f, 0.11f, 0.475f, 0.476f, 0.539f, 0.0f, 0.12f, 0.46f, 0.459f, - 0.539f, 0.0f, 0.13f, 0.444f, 0.448f, 0.538f, 0.0f, 0.139f, 0.406f, 0.405f, 0.537f, 0.0f, 0.144f, 0.399f, 0.399f, 0.536f, 0.0f, 0.146f, 0.395f, 0.395f, - 0.535f, 0.0f, 0.144f, 0.412f, 0.412f, 0.533f, 0.0f, 0.139f, 0.413f, 0.413f, 0.53f, 0.0f, 0.131f, 0.414f, 0.413f, 0.528f, 0.0f, 0.122f, 0.419f, 0.418f, - 0.525f, 0.0f, 0.112f, 0.425f, 0.424f, 0.521f, 0.0f, 0.102f, 0.444f, 0.444f, 0.518f, 0.0f, 0.094f, 0.451f, 0.452f, 0.514f, 0.0f, 0.085f, 0.457f, 0.457f, - 0.509f, 0.0f, 0.078f, 0.461f, 0.46f, 0.504f, 0.0f, 0.069f, 0.469f, 0.468f, 0.499f, 0.0f, 0.06f, 0.481f, 0.481f, 0.493f, 0.0f, 0.052f, 0.489f, 0.489f, - 0.487f, 0.0f, 0.044f, 0.492f, 0.492f, 0.481f, 0.0f, 0.037f, 0.501f, 0.5f, 0.474f, 0.0f, 0.029f, 0.513f, 0.513f, 0.467f, 0.0f, 0.022f, 0.521f, 0.521f, - 0.458f, 0.0f, 0.015f, 0.524f, 0.524f, 0.449f, 0.0f, 0.008f, 0.525f, 0.525f, 0.439f, 0.0f, 0.001f, 0.528f, 0.528f, 0.427f, 0.0f, -0.005f, 0.532f, 0.532f, - 0.416f, 0.0f, -0.011f, 0.533f, 0.533f, 0.401f, 0.0f, -0.015f, 0.537f, 0.537f, 0.386f, 0.0f, -0.018f, 0.539f, 0.539f, 0.371f, 0.0f, -0.02f, 0.538f, 0.538f, - 0.356f, 0.0f, -0.021f, 0.543f, 0.543f, 0.341f, 0.0f, -0.023f, 0.543f, 0.543f, 0.326f, 0.0f, -0.023f, 0.543f, 0.543f, 0.312f, 0.0f, -0.022f, 0.543f, 0.543f, - 0.298f, 0.0f, -0.018f, 0.543f, 0.543f, 0.286f, 0.0f, -0.014f, 0.543f, 0.543f, 0.273f, 0.0f, -0.006f, 0.543f, 0.543f, 0.26f, 0.0f, 0.004f, 0.543f, 0.543f, - 0.247f, 0.0f, 0.013f, 0.543f, 0.543f, 0.235f, 0.0f, 0.022f, 0.543f, 0.543f, 0.225f, 0.0f, 0.033f, 0.543f, 0.543f, 0.215f, 0.0f, 0.045f, 0.542f, 0.542f, - 0.206f, 0.0f, 0.061f, 0.54f, 0.54f, 0.199f, 0.0f, 0.078f, 0.542f, 0.542f, 0.193f, 0.0f, 0.094f, 0.542f, 0.542f, 0.189f, -0.0f, 0.109f, 0.541f, 0.541f, - 0.186f, -0.0f, 0.119f, 0.542f, 0.542f, 0.185f, -0.0f, 0.127f, 0.542f, 0.542f, 0.184f, -0.0f, 0.135f, 0.542f, 0.542f, 0.184f, -0.0f, 0.142f, 0.542f, 0.542f, - 0.183f, -0.0f, 0.149f, 0.541f, 0.541f, 0.183f, -0.0f, 0.156f, 0.538f, 0.538f, 0.183f, -0.0f, 0.163f, 0.539f, 0.539f, 0.183f, -0.0f, 0.17f, 0.54f, 0.54f, - 0.183f, 0.0f, 0.177f, 0.54f, 0.54f, 0.183f, 0.0f, 0.184f, 0.54f, 0.54f, 0.183f, 0.0f, 0.191f, 0.54f, 0.54f, 0.184f, 0.0f, 0.196f, 0.539f, 0.539f, - 0.184f, 0.0f, 0.204f, 0.518f, 0.518f, -}; - -static const float data14[45 * GP_PRIM_DATABUF_SIZE] = { - -0.096f, -0.0f, -0.305f, 0.01f, 0.01f, -0.09f, -0.0f, -0.313f, 0.121f, 0.362f, -0.086f, -0.0f, -0.318f, 0.179f, 0.368f, -0.081f, -0.0f, -0.325f, 0.234f, 0.37f, - -0.075f, -0.0f, -0.331f, 0.272f, 0.37f, -0.068f, -0.0f, -0.338f, 0.302f, 0.371f, -0.061f, -0.0f, -0.345f, 0.324f, 0.374f, -0.053f, -0.0f, -0.352f, 0.34f, 0.377f, - -0.044f, -0.0f, -0.358f, 0.352f, 0.378f, -0.035f, -0.0f, -0.362f, 0.362f, 0.377f, -0.026f, -0.0f, -0.366f, 0.37f, 0.378f, -0.018f, -0.0f, -0.368f, 0.377f, 0.378f, - -0.009f, -0.0f, -0.369f, 0.383f, 0.376f, -0.001f, -0.0f, -0.369f, 0.389f, 0.369f, 0.007f, -0.0f, -0.368f, 0.395f, 0.364f, 0.015f, -0.0f, -0.367f, 0.4f, 0.388f, - 0.023f, -0.0f, -0.365f, 0.405f, 0.41f, 0.03f, -0.0f, -0.363f, 0.41f, 0.429f, 0.038f, -0.0f, -0.36f, 0.414f, 0.438f, 0.044f, -0.0f, -0.357f, 0.417f, 0.441f, - 0.05f, -0.0f, -0.355f, 0.419f, 0.444f, 0.055f, -0.0f, -0.352f, 0.42f, 0.441f, 0.06f, -0.0f, -0.349f, 0.421f, 0.445f, 0.063f, -0.0f, -0.347f, 0.421f, 0.446f, - 0.065f, -0.0f, -0.344f, 0.42f, 0.443f, 0.065f, -0.0f, -0.342f, 0.42f, 0.437f, 0.065f, -0.0f, -0.341f, 0.419f, 0.413f, 0.063f, -0.0f, -0.339f, 0.418f, 0.404f, - 0.061f, -0.0f, -0.338f, 0.418f, 0.403f, 0.057f, -0.0f, -0.337f, 0.418f, 0.402f, 0.052f, -0.0f, -0.337f, 0.418f, 0.407f, 0.046f, -0.0f, -0.337f, 0.419f, 0.411f, - 0.04f, 0.0f, -0.336f, 0.42f, 0.416f, 0.032f, 0.0f, -0.337f, 0.422f, 0.421f, 0.023f, 0.0f, -0.339f, 0.424f, 0.425f, 0.014f, 0.0f, -0.34f, 0.426f, 0.427f, - 0.003f, 0.0f, -0.341f, 0.428f, 0.427f, -0.007f, 0.0f, -0.341f, 0.43f, 0.433f, -0.018f, 0.0f, -0.339f, 0.432f, 0.437f, -0.027f, 0.0f, -0.335f, 0.434f, 0.438f, - -0.037f, 0.0f, -0.33f, 0.435f, 0.437f, -0.046f, -0.0f, -0.326f, 0.436f, 0.438f, -0.055f, -0.0f, -0.321f, 0.436f, 0.44f, -0.062f, -0.0f, -0.316f, 0.437f, 0.439f, - -0.073f, -0.0f, -0.31f, 0.437f, 0.437f, -}; - -static const float data16[84 * GP_PRIM_DATABUF_SIZE] = { - 0.737f, 0.0f, 0.177f, 0.148f, 0.148f, 0.735f, 0.0f, 0.164f, 0.214f, 0.39f, 0.734f, 0.0f, 0.155f, 0.254f, 0.402f, 0.732f, 0.0f, 0.143f, 0.295f, 0.413f, - 0.73f, 0.0f, 0.132f, 0.328f, 0.415f, 0.728f, 0.0f, 0.121f, 0.355f, 0.415f, 0.726f, 0.0f, 0.109f, 0.375f, 0.416f, 0.724f, 0.0f, 0.097f, 0.39f, 0.417f, - 0.721f, 0.0f, 0.086f, 0.401f, 0.418f, 0.719f, 0.0f, 0.074f, 0.408f, 0.419f, 0.716f, 0.0f, 0.062f, 0.413f, 0.42f, 0.713f, 0.0f, 0.05f, 0.416f, 0.42f, - 0.71f, 0.0f, 0.039f, 0.418f, 0.421f, 0.707f, 0.0f, 0.028f, 0.42f, 0.421f, 0.703f, 0.0f, 0.017f, 0.421f, 0.422f, 0.7f, 0.0f, 0.006f, 0.421f, 0.422f, - 0.696f, 0.0f, -0.005f, 0.422f, 0.422f, 0.693f, 0.0f, -0.015f, 0.422f, 0.422f, 0.689f, 0.0f, -0.025f, 0.423f, 0.423f, 0.685f, 0.0f, -0.034f, 0.423f, 0.423f, - 0.681f, 0.0f, -0.044f, 0.423f, 0.423f, 0.677f, 0.0f, -0.053f, 0.423f, 0.423f, 0.672f, 0.0f, -0.062f, 0.423f, 0.423f, 0.668f, 0.0f, -0.071f, 0.422f, 0.424f, - 0.662f, 0.0f, -0.08f, 0.422f, 0.424f, 0.657f, 0.0f, -0.088f, 0.422f, 0.422f, 0.651f, 0.0f, -0.095f, 0.421f, 0.419f, 0.645f, 0.0f, -0.103f, 0.42f, 0.419f, - 0.638f, 0.0f, -0.109f, 0.42f, 0.419f, 0.631f, 0.0f, -0.115f, 0.419f, 0.419f, 0.624f, 0.0f, -0.12f, 0.419f, 0.419f, 0.617f, 0.0f, -0.125f, 0.419f, 0.419f, - 0.61f, 0.0f, -0.129f, 0.418f, 0.418f, 0.602f, 0.0f, -0.133f, 0.418f, 0.416f, 0.594f, 0.0f, -0.137f, 0.417f, 0.416f, 0.587f, 0.0f, -0.14f, 0.417f, 0.415f, - 0.579f, 0.0f, -0.142f, 0.417f, 0.416f, 0.571f, 0.0f, -0.144f, 0.417f, 0.415f, 0.564f, 0.0f, -0.145f, 0.417f, 0.416f, 0.556f, 0.0f, -0.146f, 0.417f, 0.415f, - 0.549f, 0.0f, -0.146f, 0.417f, 0.415f, 0.541f, 0.0f, -0.146f, 0.417f, 0.415f, 0.535f, 0.0f, -0.145f, 0.417f, 0.416f, 0.53f, 0.0f, -0.143f, 0.418f, 0.418f, - 0.526f, 0.0f, -0.14f, 0.418f, 0.418f, 0.524f, 0.0f, -0.136f, 0.42f, 0.418f, 0.524f, 0.0f, -0.132f, 0.422f, 0.416f, 0.527f, 0.0f, -0.126f, 0.424f, 0.424f, - 0.531f, 0.0f, -0.121f, 0.427f, 0.428f, 0.536f, 0.0f, -0.115f, 0.43f, 0.433f, 0.542f, 0.0f, -0.109f, 0.433f, 0.436f, 0.548f, 0.0f, -0.102f, 0.435f, 0.436f, - 0.555f, 0.0f, -0.095f, 0.436f, 0.437f, 0.562f, 0.0f, -0.088f, 0.437f, 0.438f, 0.568f, 0.0f, -0.081f, 0.437f, 0.438f, 0.575f, 0.0f, -0.073f, 0.438f, 0.438f, - 0.581f, 0.0f, -0.065f, 0.438f, 0.438f, 0.587f, 0.0f, -0.058f, 0.438f, 0.438f, 0.593f, 0.0f, -0.05f, 0.438f, 0.438f, 0.599f, 0.0f, -0.041f, 0.438f, 0.438f, - 0.605f, 0.0f, -0.033f, 0.438f, 0.438f, 0.61f, 0.0f, -0.024f, 0.438f, 0.438f, 0.615f, 0.0f, -0.015f, 0.438f, 0.438f, 0.621f, 0.0f, -0.006f, 0.438f, 0.438f, - 0.626f, 0.0f, 0.004f, 0.438f, 0.438f, 0.631f, 0.0f, 0.013f, 0.437f, 0.438f, 0.636f, 0.0f, 0.023f, 0.436f, 0.438f, 0.641f, 0.0f, 0.032f, 0.434f, 0.438f, - 0.647f, 0.0f, 0.042f, 0.432f, 0.437f, 0.652f, 0.0f, 0.051f, 0.431f, 0.429f, 0.657f, 0.0f, 0.06f, 0.429f, 0.426f, 0.662f, 0.0f, 0.069f, 0.427f, 0.425f, - 0.668f, 0.0f, 0.078f, 0.425f, 0.425f, 0.673f, 0.0f, 0.087f, 0.423f, 0.424f, 0.678f, 0.0f, 0.095f, 0.42f, 0.422f, 0.683f, 0.0f, 0.104f, 0.416f, 0.42f, - 0.688f, 0.0f, 0.112f, 0.411f, 0.421f, 0.693f, 0.0f, 0.12f, 0.403f, 0.417f, 0.698f, 0.0f, 0.128f, 0.394f, 0.411f, 0.702f, 0.0f, 0.135f, 0.382f, 0.404f, - 0.707f, 0.0f, 0.143f, 0.369f, 0.388f, 0.711f, 0.0f, 0.15f, 0.352f, 0.371f, 0.714f, 0.0f, 0.155f, 0.338f, 0.352f, 0.719f, 0.0f, 0.164f, 0.315f, 0.315f, -}; - -static const float data15[44 * GP_PRIM_DATABUF_SIZE] = { - -0.085f, 0.0f, -0.816f, 0.138f, 0.138f, -0.079f, 0.0f, -0.825f, 0.246f, 0.309f, -0.074f, 0.0f, -0.832f, 0.302f, 0.34f, -0.067f, 0.0f, -0.84f, 0.335f, 0.352f, - -0.059f, 0.0f, -0.848f, 0.357f, 0.374f, -0.05f, 0.0f, -0.855f, 0.371f, 0.378f, -0.041f, 0.0f, -0.861f, 0.382f, 0.383f, -0.031f, 0.0f, -0.866f, 0.391f, 0.396f, - -0.021f, 0.0f, -0.871f, 0.398f, 0.401f, -0.011f, 0.0f, -0.874f, 0.404f, 0.407f, -0.001f, 0.0f, -0.877f, 0.409f, 0.411f, 0.01f, 0.0f, -0.878f, 0.415f, 0.412f, - 0.02f, 0.0f, -0.878f, 0.422f, 0.417f, 0.031f, 0.0f, -0.878f, 0.43f, 0.421f, 0.042f, 0.0f, -0.876f, 0.438f, 0.437f, 0.052f, 0.0f, -0.873f, 0.445f, 0.451f, - 0.062f, 0.0f, -0.868f, 0.451f, 0.459f, 0.071f, 0.0f, -0.863f, 0.456f, 0.463f, 0.08f, 0.0f, -0.857f, 0.46f, 0.465f, 0.087f, 0.0f, -0.85f, 0.462f, 0.465f, - 0.094f, 0.0f, -0.842f, 0.461f, 0.465f, 0.098f, 0.0f, -0.835f, 0.458f, 0.467f, 0.101f, 0.0f, -0.827f, 0.451f, 0.457f, 0.103f, 0.0f, -0.82f, 0.436f, 0.451f, - 0.102f, 0.0f, -0.815f, 0.422f, 0.418f, 0.1f, 0.0f, -0.811f, 0.419f, 0.378f, 0.096f, 0.0f, -0.814f, 0.436f, 0.447f, 0.089f, 0.0f, -0.817f, 0.454f, 0.465f, - 0.082f, 0.0f, -0.821f, 0.465f, 0.47f, 0.072f, 0.0f, -0.825f, 0.473f, 0.477f, 0.061f, 0.0f, -0.828f, 0.477f, 0.479f, 0.049f, 0.0f, -0.832f, 0.48f, 0.485f, - 0.036f, 0.0f, -0.834f, 0.483f, 0.48f, 0.023f, 0.0f, -0.836f, 0.484f, 0.485f, 0.01f, 0.0f, -0.838f, 0.486f, 0.487f, -0.003f, 0.0f, -0.84f, 0.486f, 0.488f, - -0.016f, 0.0f, -0.84f, 0.486f, 0.489f, -0.027f, 0.0f, -0.84f, 0.485f, 0.485f, -0.039f, 0.0f, -0.839f, 0.484f, 0.484f, -0.049f, 0.0f, -0.837f, 0.483f, 0.485f, - -0.058f, 0.0f, -0.834f, 0.48f, 0.481f, -0.066f, 0.0f, -0.83f, 0.473f, 0.479f, -0.072f, 0.0f, -0.827f, 0.462f, 0.472f, -0.081f, 0.0f, -0.823f, 0.442f, 0.442f, -}; - -static const float data17[56 * GP_PRIM_DATABUF_SIZE] = { - -1.007f, -0.0f, 0.183f, 0.022f, 0.022f, -1.003f, -0.0f, 0.181f, 0.192f, 0.436f, -0.998f, -0.0f, 0.18f, 0.28f, 0.451f, -0.99f, -0.0f, 0.178f, 0.355f, 0.459f, - -0.98f, -0.0f, 0.175f, 0.402f, 0.464f, -0.967f, -0.0f, 0.169f, 0.432f, 0.467f, -0.952f, -0.0f, 0.152f, 0.449f, 0.468f, -0.943f, 0.0f, 0.138f, 0.459f, 0.469f, - -0.939f, 0.0f, 0.128f, 0.464f, 0.469f, -0.934f, 0.0f, 0.119f, 0.467f, 0.47f, -0.929f, 0.0f, 0.11f, 0.469f, 0.47f, -0.924f, 0.0f, 0.101f, 0.47f, 0.47f, - -0.919f, 0.0f, 0.092f, 0.47f, 0.471f, -0.913f, 0.0f, 0.082f, 0.471f, 0.471f, -0.908f, 0.0f, 0.072f, 0.471f, 0.471f, -0.903f, 0.0f, 0.063f, 0.472f, 0.472f, - -0.897f, 0.0f, 0.053f, 0.472f, 0.472f, -0.892f, 0.0f, 0.044f, 0.473f, 0.473f, -0.886f, 0.0f, 0.035f, 0.473f, 0.473f, -0.881f, 0.0f, 0.026f, 0.473f, 0.473f, - -0.876f, 0.0f, 0.018f, 0.473f, 0.473f, -0.87f, 0.0f, 0.012f, 0.472f, 0.473f, -0.865f, 0.0f, 0.006f, 0.47f, 0.473f, -0.86f, 0.0f, 0.003f, 0.468f, 0.473f, - -0.855f, 0.0f, 0.001f, 0.466f, 0.469f, -0.85f, 0.0f, 0.001f, 0.463f, 0.469f, -0.846f, 0.0f, 0.003f, 0.46f, 0.45f, -0.843f, 0.0f, 0.008f, 0.458f, 0.454f, - -0.84f, 0.0f, 0.014f, 0.456f, 0.454f, -0.838f, 0.0f, 0.021f, 0.455f, 0.454f, -0.836f, 0.0f, 0.03f, 0.453f, 0.455f, -0.835f, 0.0f, 0.039f, 0.451f, 0.455f, - -0.835f, 0.0f, 0.049f, 0.449f, 0.453f, -0.836f, 0.0f, 0.059f, 0.447f, 0.445f, -0.837f, 0.0f, 0.068f, 0.445f, 0.441f, -0.84f, 0.0f, 0.078f, 0.443f, 0.44f, - -0.843f, 0.0f, 0.087f, 0.442f, 0.44f, -0.846f, 0.0f, 0.095f, 0.442f, 0.44f, -0.851f, -0.0f, 0.103f, 0.441f, 0.441f, -0.855f, -0.0f, 0.111f, 0.441f, 0.44f, - -0.86f, -0.0f, 0.119f, 0.441f, 0.441f, -0.865f, -0.0f, 0.127f, 0.441f, 0.441f, -0.871f, -0.0f, 0.134f, 0.441f, 0.441f, -0.877f, -0.0f, 0.141f, 0.441f, 0.441f, - -0.883f, -0.0f, 0.149f, 0.441f, 0.442f, -0.889f, -0.0f, 0.156f, 0.441f, 0.441f, -0.896f, -0.0f, 0.163f, 0.441f, 0.442f, -0.904f, -0.0f, 0.169f, 0.442f, 0.441f, - -0.913f, -0.0f, 0.176f, 0.442f, 0.441f, -0.925f, -0.0f, 0.183f, 0.443f, 0.441f, -0.941f, -0.0f, 0.19f, 0.444f, 0.442f, -0.956f, -0.0f, 0.195f, 0.446f, 0.443f, - -0.971f, -0.0f, 0.198f, 0.448f, 0.443f, -0.983f, -0.0f, 0.198f, 0.451f, 0.452f, -0.992f, -0.0f, 0.198f, 0.454f, 0.456f, -1.001f, 0.0f, 0.196f, 0.457f, 0.457f, -}; - -static const float data18[59 * GP_PRIM_DATABUF_SIZE] = { - 0.782f, 0.0f, 0.099f, 0.04f, 0.04f, 0.779f, 0.0f, 0.088f, 0.108f, 0.34f, 0.777f, 0.0f, 0.08f, 0.149f, 0.35f, 0.774f, 0.0f, 0.071f, 0.194f, 0.352f, - 0.772f, 0.0f, 0.062f, 0.231f, 0.352f, 0.771f, 0.0f, 0.053f, 0.263f, 0.353f, 0.769f, 0.0f, 0.044f, 0.289f, 0.353f, 0.768f, 0.0f, 0.036f, 0.31f, 0.353f, - 0.767f, 0.0f, 0.029f, 0.327f, 0.353f, 0.767f, 0.0f, 0.023f, 0.341f, 0.353f, 0.767f, 0.0f, 0.017f, 0.353f, 0.353f, 0.768f, 0.0f, 0.013f, 0.363f, 0.353f, - 0.769f, 0.0f, 0.01f, 0.373f, 0.353f, 0.771f, 0.0f, 0.009f, 0.382f, 0.351f, 0.773f, 0.0f, 0.008f, 0.39f, 0.393f, 0.776f, 0.0f, 0.009f, 0.399f, 0.41f, - 0.779f, 0.0f, 0.011f, 0.407f, 0.425f, 0.783f, 0.0f, 0.015f, 0.415f, 0.434f, 0.787f, 0.0f, 0.019f, 0.423f, 0.44f, 0.792f, 0.0f, 0.024f, 0.429f, 0.441f, - 0.797f, 0.0f, 0.03f, 0.435f, 0.444f, 0.802f, 0.0f, 0.037f, 0.441f, 0.447f, 0.807f, 0.0f, 0.044f, 0.445f, 0.453f, 0.813f, 0.0f, 0.051f, 0.449f, 0.457f, - 0.819f, 0.0f, 0.058f, 0.452f, 0.458f, 0.825f, 0.0f, 0.066f, 0.455f, 0.46f, 0.831f, 0.0f, 0.074f, 0.457f, 0.462f, 0.838f, 0.0f, 0.082f, 0.459f, 0.462f, - 0.845f, 0.0f, 0.09f, 0.461f, 0.462f, 0.852f, 0.0f, 0.098f, 0.462f, 0.463f, 0.859f, 0.0f, 0.106f, 0.463f, 0.464f, 0.867f, 0.0f, 0.113f, 0.464f, 0.464f, - 0.874f, 0.0f, 0.121f, 0.465f, 0.465f, 0.882f, 0.0f, 0.129f, 0.465f, 0.465f, 0.889f, 0.0f, 0.136f, 0.466f, 0.466f, 0.897f, 0.0f, 0.143f, 0.466f, 0.467f, - 0.904f, 0.0f, 0.15f, 0.467f, 0.466f, 0.911f, 0.0f, 0.157f, 0.467f, 0.467f, 0.916f, 0.0f, 0.163f, 0.468f, 0.468f, 0.921f, 0.0f, 0.169f, 0.468f, 0.469f, - 0.924f, 0.0f, 0.173f, 0.468f, 0.469f, 0.926f, 0.0f, 0.177f, 0.469f, 0.468f, 0.925f, 0.0f, 0.18f, 0.469f, 0.468f, 0.922f, 0.0f, 0.181f, 0.469f, 0.469f, - 0.918f, 0.0f, 0.181f, 0.469f, 0.469f, 0.912f, 0.0f, 0.18f, 0.469f, 0.469f, 0.905f, 0.0f, 0.178f, 0.468f, 0.47f, 0.898f, 0.0f, 0.175f, 0.466f, 0.471f, - 0.89f, 0.0f, 0.172f, 0.462f, 0.469f, 0.882f, 0.0f, 0.168f, 0.454f, 0.468f, 0.874f, 0.0f, 0.164f, 0.442f, 0.467f, 0.866f, 0.0f, 0.159f, 0.423f, 0.467f, - 0.858f, 0.0f, 0.154f, 0.398f, 0.468f, 0.851f, 0.0f, 0.149f, 0.366f, 0.468f, 0.844f, 0.0f, 0.144f, 0.326f, 0.469f, 0.837f, 0.0f, 0.139f, 0.282f, 0.469f, - 0.83f, 0.0f, 0.134f, 0.231f, 0.467f, 0.824f, 0.0f, 0.13f, 0.184f, 0.415f, 0.816f, 0.0f, 0.124f, 0.111f, 0.111f, -}; - -static const float data19[100 * GP_PRIM_DATABUF_SIZE] = { - -0.279f, 0.0f, 0.568f, 0.154f, 0.154f, -0.266f, 0.0f, 0.569f, 0.249f, 0.318f, -0.258f, 0.0f, 0.57f, 0.296f, 0.357f, -0.248f, 0.0f, 0.571f, 0.337f, 0.383f, - -0.238f, 0.0f, 0.571f, 0.363f, 0.396f, -0.229f, 0.0f, 0.571f, 0.381f, 0.403f, -0.219f, 0.0f, 0.57f, 0.392f, 0.407f, -0.209f, 0.0f, 0.568f, 0.399f, 0.407f, - -0.2f, 0.0f, 0.566f, 0.403f, 0.408f, -0.19f, 0.0f, 0.563f, 0.406f, 0.41f, -0.181f, 0.0f, 0.559f, 0.407f, 0.41f, -0.171f, 0.0f, 0.555f, 0.409f, 0.41f, - -0.161f, 0.0f, 0.551f, 0.409f, 0.411f, -0.152f, 0.0f, 0.546f, 0.41f, 0.411f, -0.142f, 0.0f, 0.542f, 0.41f, 0.412f, -0.132f, 0.0f, 0.537f, 0.411f, 0.411f, - -0.122f, 0.0f, 0.533f, 0.411f, 0.411f, -0.112f, 0.0f, 0.528f, 0.411f, 0.412f, -0.102f, 0.0f, 0.524f, 0.411f, 0.412f, -0.092f, 0.0f, 0.519f, 0.41f, 0.412f, - -0.081f, 0.0f, 0.515f, 0.407f, 0.411f, -0.071f, 0.0f, 0.511f, 0.403f, 0.408f, -0.061f, 0.0f, 0.507f, 0.399f, 0.401f, -0.051f, 0.0f, 0.503f, 0.394f, 0.395f, - -0.041f, 0.0f, 0.499f, 0.39f, 0.388f, -0.031f, 0.0f, 0.495f, 0.386f, 0.383f, -0.021f, 0.0f, 0.491f, 0.383f, 0.38f, -0.011f, 0.0f, 0.488f, 0.381f, 0.378f, - -0.001f, 0.0f, 0.486f, 0.379f, 0.377f, 0.009f, 0.0f, 0.484f, 0.378f, 0.377f, 0.019f, 0.0f, 0.483f, 0.377f, 0.375f, 0.03f, 0.0f, 0.482f, 0.377f, 0.375f, - 0.041f, 0.0f, 0.482f, 0.378f, 0.376f, 0.051f, 0.0f, 0.483f, 0.379f, 0.376f, 0.062f, 0.0f, 0.484f, 0.381f, 0.376f, 0.073f, 0.0f, 0.486f, 0.385f, 0.379f, - 0.085f, 0.0f, 0.488f, 0.389f, 0.382f, 0.096f, 0.0f, 0.491f, 0.395f, 0.392f, 0.108f, 0.0f, 0.494f, 0.402f, 0.4f, 0.12f, 0.0f, 0.497f, 0.409f, 0.409f, - 0.132f, 0.0f, 0.501f, 0.415f, 0.416f, 0.144f, 0.0f, 0.505f, 0.421f, 0.427f, 0.157f, 0.0f, 0.509f, 0.425f, 0.43f, 0.17f, 0.0f, 0.513f, 0.429f, 0.433f, - 0.181f, 0.0f, 0.517f, 0.431f, 0.433f, 0.192f, 0.0f, 0.52f, 0.433f, 0.434f, 0.201f, 0.0f, 0.522f, 0.433f, 0.435f, 0.208f, 0.0f, 0.524f, 0.433f, 0.435f, - 0.213f, 0.0f, 0.524f, 0.432f, 0.436f, 0.216f, 0.0f, 0.523f, 0.431f, 0.435f, 0.217f, 0.0f, 0.521f, 0.43f, 0.426f, 0.215f, 0.0f, 0.518f, 0.429f, 0.427f, - 0.213f, 0.0f, 0.515f, 0.428f, 0.427f, 0.208f, 0.0f, 0.511f, 0.428f, 0.427f, 0.203f, 0.0f, 0.506f, 0.428f, 0.427f, 0.196f, 0.0f, 0.502f, 0.428f, 0.427f, - 0.189f, 0.0f, 0.497f, 0.428f, 0.427f, 0.181f, 0.0f, 0.492f, 0.428f, 0.427f, 0.173f, 0.0f, 0.487f, 0.428f, 0.428f, 0.163f, 0.0f, 0.482f, 0.429f, 0.428f, - 0.154f, 0.0f, 0.477f, 0.429f, 0.429f, 0.145f, 0.0f, 0.472f, 0.43f, 0.43f, 0.135f, 0.0f, 0.467f, 0.431f, 0.431f, 0.125f, 0.0f, 0.462f, 0.432f, 0.43f, - 0.116f, 0.0f, 0.457f, 0.433f, 0.431f, 0.106f, 0.0f, 0.453f, 0.435f, 0.434f, 0.096f, 0.0f, 0.448f, 0.436f, 0.436f, 0.086f, 0.0f, 0.444f, 0.437f, 0.438f, - 0.076f, 0.0f, 0.44f, 0.438f, 0.44f, 0.065f, 0.0f, 0.436f, 0.439f, 0.441f, 0.055f, 0.0f, 0.433f, 0.44f, 0.441f, 0.044f, 0.0f, 0.431f, 0.441f, 0.442f, - 0.033f, 0.0f, 0.429f, 0.441f, 0.442f, 0.022f, 0.0f, 0.427f, 0.441f, 0.442f, 0.011f, 0.0f, 0.426f, 0.442f, 0.443f, -0.0f, 0.0f, 0.426f, 0.442f, 0.442f, - -0.011f, 0.0f, 0.426f, 0.442f, 0.442f, -0.022f, 0.0f, 0.427f, 0.442f, 0.442f, -0.033f, 0.0f, 0.429f, 0.442f, 0.442f, -0.042f, 0.0f, 0.432f, 0.441f, 0.442f, - -0.052f, 0.0f, 0.435f, 0.441f, 0.441f, -0.061f, 0.0f, 0.439f, 0.441f, 0.441f, -0.07f, 0.0f, 0.443f, 0.441f, 0.441f, -0.078f, 0.0f, 0.448f, 0.441f, 0.441f, - -0.087f, 0.0f, 0.453f, 0.441f, 0.442f, -0.095f, 0.0f, 0.458f, 0.441f, 0.441f, -0.104f, 0.0f, 0.463f, 0.44f, 0.44f, -0.113f, 0.0f, 0.468f, 0.44f, 0.44f, - -0.122f, 0.0f, 0.473f, 0.44f, 0.44f, -0.132f, 0.0f, 0.479f, 0.44f, 0.44f, -0.143f, 0.0f, 0.485f, 0.44f, 0.44f, -0.154f, 0.0f, 0.491f, 0.44f, 0.44f, - -0.165f, 0.0f, 0.498f, 0.44f, 0.44f, -0.176f, 0.0f, 0.504f, 0.439f, 0.439f, -0.187f, 0.0f, 0.51f, 0.435f, 0.44f, -0.198f, 0.0f, 0.516f, 0.424f, 0.44f, - -0.209f, 0.0f, 0.522f, 0.393f, 0.44f, -0.219f, 0.0f, 0.527f, 0.324f, 0.44f, -0.228f, 0.0f, 0.532f, 0.222f, 0.404f, -0.241f, 0.0f, 0.538f, 0.037f, 0.037f, -}; - -static const float data20[136 * GP_PRIM_DATABUF_SIZE] = { - 0.331f, 0.0f, -0.036f, 0.065f, 0.065f, 0.322f, 0.0f, -0.034f, 0.239f, 0.293f, 0.317f, 0.0f, -0.032f, 0.316f, 0.339f, 0.31f, 0.0f, -0.029f, 0.348f, 0.355f, - 0.302f, 0.0f, -0.027f, 0.364f, 0.368f, 0.295f, 0.0f, -0.023f, 0.373f, 0.374f, 0.287f, 0.0f, -0.02f, 0.381f, 0.381f, 0.279f, 0.0f, -0.015f, 0.388f, 0.391f, - 0.271f, 0.0f, -0.01f, 0.392f, 0.394f, 0.263f, 0.0f, -0.004f, 0.395f, 0.396f, 0.255f, 0.0f, 0.002f, 0.397f, 0.397f, 0.247f, 0.0f, 0.008f, 0.399f, 0.4f, - 0.239f, 0.0f, 0.016f, 0.401f, 0.401f, 0.232f, -0.0f, 0.024f, 0.404f, 0.404f, 0.226f, 0.0f, 0.031f, 0.406f, 0.407f, 0.221f, 0.0f, 0.038f, 0.409f, 0.409f, - 0.215f, 0.0f, 0.045f, 0.412f, 0.412f, 0.21f, 0.0f, 0.054f, 0.415f, 0.415f, 0.205f, 0.0f, 0.063f, 0.417f, 0.417f, 0.201f, 0.0f, 0.073f, 0.42f, 0.421f, - 0.197f, 0.0f, 0.083f, 0.421f, 0.421f, 0.193f, -0.0f, 0.094f, 0.423f, 0.423f, 0.19f, -0.0f, 0.104f, 0.424f, 0.424f, 0.187f, -0.0f, 0.114f, 0.424f, 0.425f, - 0.185f, -0.0f, 0.125f, 0.425f, 0.425f, 0.183f, -0.0f, 0.135f, 0.425f, 0.425f, 0.182f, -0.0f, 0.146f, 0.426f, 0.425f, 0.181f, -0.0f, 0.157f, 0.426f, 0.425f, - 0.18f, -0.0f, 0.168f, 0.426f, 0.426f, 0.18f, -0.0f, 0.179f, 0.427f, 0.427f, 0.181f, -0.0f, 0.189f, 0.427f, 0.427f, 0.182f, -0.0f, 0.199f, 0.427f, 0.427f, - 0.183f, -0.0f, 0.208f, 0.427f, 0.428f, 0.185f, -0.0f, 0.218f, 0.428f, 0.427f, 0.187f, -0.0f, 0.226f, 0.428f, 0.427f, 0.19f, -0.0f, 0.235f, 0.429f, 0.427f, - 0.192f, -0.0f, 0.243f, 0.43f, 0.428f, 0.196f, -0.0f, 0.252f, 0.431f, 0.431f, 0.199f, -0.0f, 0.26f, 0.431f, 0.432f, 0.203f, -0.0f, 0.268f, 0.432f, 0.433f, - 0.207f, -0.0f, 0.276f, 0.433f, 0.433f, 0.212f, -0.0f, 0.283f, 0.434f, 0.434f, 0.216f, -0.0f, 0.291f, 0.434f, 0.435f, 0.221f, -0.0f, 0.298f, 0.435f, 0.436f, - 0.227f, -0.0f, 0.305f, 0.435f, 0.435f, 0.232f, -0.0f, 0.311f, 0.436f, 0.436f, 0.238f, -0.0f, 0.317f, 0.436f, 0.436f, 0.243f, -0.0f, 0.323f, 0.436f, 0.436f, - 0.249f, -0.0f, 0.329f, 0.437f, 0.436f, 0.255f, -0.0f, 0.334f, 0.438f, 0.437f, 0.262f, -0.0f, 0.339f, 0.44f, 0.437f, 0.268f, -0.0f, 0.344f, 0.442f, 0.441f, - 0.274f, 0.0f, 0.348f, 0.444f, 0.446f, 0.281f, 0.0f, 0.352f, 0.445f, 0.447f, 0.287f, 0.0f, 0.355f, 0.446f, 0.447f, 0.293f, 0.0f, 0.358f, 0.446f, 0.447f, - 0.299f, 0.0f, 0.361f, 0.447f, 0.447f, 0.306f, 0.0f, 0.363f, 0.447f, 0.448f, 0.312f, 0.0f, 0.366f, 0.447f, 0.448f, 0.318f, 0.0f, 0.368f, 0.448f, 0.448f, - 0.325f, 0.0f, 0.369f, 0.448f, 0.448f, 0.331f, 0.0f, 0.371f, 0.448f, 0.448f, 0.338f, 0.0f, 0.372f, 0.448f, 0.448f, 0.345f, 0.0f, 0.372f, 0.448f, 0.448f, - 0.352f, 0.0f, 0.372f, 0.448f, 0.448f, 0.359f, 0.0f, 0.372f, 0.448f, 0.449f, 0.366f, 0.0f, 0.371f, 0.448f, 0.448f, 0.373f, 0.0f, 0.37f, 0.448f, 0.449f, - 0.38f, 0.0f, 0.369f, 0.449f, 0.449f, 0.387f, 0.0f, 0.367f, 0.449f, 0.449f, 0.393f, 0.0f, 0.365f, 0.449f, 0.449f, 0.4f, 0.0f, 0.363f, 0.449f, 0.45f, - 0.406f, 0.0f, 0.36f, 0.45f, 0.45f, 0.412f, -0.0f, 0.357f, 0.45f, 0.45f, 0.418f, -0.0f, 0.354f, 0.45f, 0.451f, 0.424f, -0.0f, 0.351f, 0.45f, 0.451f, - 0.43f, -0.0f, 0.347f, 0.45f, 0.451f, 0.436f, -0.0f, 0.343f, 0.45f, 0.451f, 0.443f, -0.0f, 0.339f, 0.45f, 0.45f, 0.449f, -0.0f, 0.334f, 0.45f, 0.451f, - 0.455f, -0.0f, 0.329f, 0.451f, 0.451f, 0.46f, -0.0f, 0.323f, 0.451f, 0.451f, 0.466f, -0.0f, 0.318f, 0.451f, 0.451f, 0.472f, -0.0f, 0.311f, 0.452f, 0.452f, - 0.477f, -0.0f, 0.305f, 0.452f, 0.453f, 0.482f, -0.0f, 0.298f, 0.452f, 0.453f, 0.487f, -0.0f, 0.291f, 0.453f, 0.453f, 0.492f, -0.0f, 0.284f, 0.453f, 0.453f, - 0.496f, -0.0f, 0.277f, 0.453f, 0.453f, 0.5f, -0.0f, 0.269f, 0.453f, 0.454f, 0.504f, -0.0f, 0.261f, 0.453f, 0.454f, 0.508f, -0.0f, 0.252f, 0.454f, 0.454f, - 0.511f, -0.0f, 0.244f, 0.454f, 0.454f, 0.514f, -0.0f, 0.235f, 0.454f, 0.455f, 0.517f, -0.0f, 0.225f, 0.454f, 0.455f, 0.519f, -0.0f, 0.216f, 0.454f, 0.455f, - 0.521f, -0.0f, 0.205f, 0.455f, 0.455f, 0.523f, -0.0f, 0.194f, 0.455f, 0.455f, 0.524f, -0.0f, 0.182f, 0.455f, 0.455f, 0.524f, -0.0f, 0.169f, 0.455f, 0.456f, - 0.524f, -0.0f, 0.157f, 0.455f, 0.456f, 0.523f, -0.0f, 0.145f, 0.455f, 0.456f, 0.522f, -0.0f, 0.133f, 0.455f, 0.456f, 0.52f, -0.0f, 0.122f, 0.456f, 0.456f, - 0.518f, -0.0f, 0.11f, 0.456f, 0.456f, 0.515f, -0.0f, 0.1f, 0.456f, 0.456f, 0.513f, -0.0f, 0.09f, 0.456f, 0.457f, 0.509f, -0.0f, 0.081f, 0.456f, 0.457f, - 0.506f, -0.0f, 0.072f, 0.457f, 0.457f, 0.502f, -0.0f, 0.064f, 0.457f, 0.457f, 0.498f, -0.0f, 0.056f, 0.457f, 0.457f, 0.494f, -0.0f, 0.049f, 0.457f, 0.457f, - 0.49f, -0.0f, 0.041f, 0.458f, 0.457f, 0.485f, -0.0f, 0.034f, 0.458f, 0.457f, 0.48f, -0.0f, 0.028f, 0.458f, 0.458f, 0.475f, -0.0f, 0.022f, 0.458f, 0.458f, - 0.47f, -0.0f, 0.016f, 0.458f, 0.458f, 0.465f, -0.0f, 0.011f, 0.459f, 0.458f, 0.46f, -0.0f, 0.006f, 0.459f, 0.458f, 0.454f, -0.0f, 0.001f, 0.46f, 0.459f, - 0.449f, 0.0f, -0.003f, 0.464f, 0.463f, 0.443f, 0.0f, -0.007f, 0.467f, 0.468f, 0.438f, 0.0f, -0.011f, 0.469f, 0.469f, 0.432f, 0.0f, -0.015f, 0.471f, 0.47f, - 0.426f, 0.0f, -0.018f, 0.477f, 0.478f, 0.42f, 0.0f, -0.021f, 0.478f, 0.478f, 0.414f, 0.0f, -0.024f, 0.478f, 0.478f, 0.408f, 0.0f, -0.027f, 0.479f, 0.479f, - 0.402f, 0.0f, -0.029f, 0.48f, 0.48f, 0.395f, 0.0f, -0.031f, 0.48f, 0.48f, 0.389f, 0.0f, -0.033f, 0.482f, 0.482f, 0.382f, 0.0f, -0.035f, 0.482f, 0.482f, - 0.376f, 0.0f, -0.036f, 0.482f, 0.482f, 0.369f, 0.0f, -0.037f, 0.48f, 0.482f, 0.364f, 0.0f, -0.037f, 0.457f, 0.485f, 0.356f, 0.0f, -0.038f, 0.32f, 0.32f, -}; - -static const float data21[353 * GP_PRIM_DATABUF_SIZE] = { - -0.382f, 0.0f, 0.397f, 0.0f, 1.0f, -0.386f, 0.0f, 0.394f, 0.0f, 1.0f, -0.389f, 0.0f, 0.392f, 0.0f, 1.0f, -0.392f, 0.0f, 0.39f, 0.0f, 1.0f, - -0.395f, 0.0f, 0.388f, 0.0f, 1.0f, -0.399f, 0.0f, 0.385f, 0.0f, 1.0f, -0.402f, 0.0f, 0.383f, 0.0f, 1.0f, -0.405f, 0.0f, 0.381f, 0.0f, 1.0f, - -0.408f, 0.0f, 0.379f, 0.0f, 1.0f, -0.411f, 0.0f, 0.377f, 0.0f, 1.0f, -0.414f, 0.0f, 0.375f, 0.0f, 1.0f, -0.417f, 0.0f, 0.372f, 0.0f, 1.0f, - -0.42f, 0.0f, 0.37f, 0.0f, 1.0f, -0.423f, 0.0f, 0.368f, 0.0f, 1.0f, -0.425f, 0.0f, 0.366f, 0.0f, 1.0f, -0.428f, 0.0f, 0.364f, 0.0f, 1.0f, - -0.431f, 0.0f, 0.362f, 0.0f, 1.0f, -0.433f, 0.0f, 0.359f, 0.0f, 1.0f, -0.436f, 0.0f, 0.357f, 0.0f, 1.0f, -0.438f, 0.0f, 0.355f, 0.0f, 1.0f, - -0.441f, 0.0f, 0.353f, 0.0f, 1.0f, -0.443f, 0.0f, 0.351f, 0.0f, 1.0f, -0.445f, 0.0f, 0.349f, 0.0f, 1.0f, -0.447f, 0.0f, 0.346f, 0.0f, 1.0f, - -0.45f, 0.0f, 0.344f, 0.0f, 1.0f, -0.452f, 0.0f, 0.342f, 0.0f, 1.0f, -0.454f, 0.0f, 0.34f, 0.0f, 1.0f, -0.456f, 0.0f, 0.337f, 0.0f, 1.0f, - -0.458f, 0.0f, 0.335f, 0.0f, 1.0f, -0.46f, 0.0f, 0.333f, 0.0f, 1.0f, -0.462f, 0.0f, 0.33f, 0.0f, 1.0f, -0.464f, 0.0f, 0.328f, 0.0f, 1.0f, - -0.466f, 0.0f, 0.326f, 0.0f, 1.0f, -0.468f, 0.0f, 0.323f, 0.0f, 1.0f, -0.47f, 0.0f, 0.321f, 0.0f, 1.0f, -0.472f, 0.0f, 0.319f, 0.0f, 1.0f, - -0.474f, 0.0f, 0.316f, 0.0f, 1.0f, -0.475f, 0.0f, 0.314f, 0.0f, 1.0f, -0.477f, 0.0f, 0.311f, 0.0f, 1.0f, -0.479f, 0.0f, 0.309f, 0.0f, 1.0f, - -0.481f, 0.0f, 0.307f, 0.0f, 1.0f, -0.482f, 0.0f, 0.304f, 0.0f, 1.0f, -0.484f, 0.0f, 0.302f, 0.0f, 1.0f, -0.486f, 0.0f, 0.299f, 0.0f, 1.0f, - -0.487f, 0.0f, 0.297f, 0.0f, 1.0f, -0.489f, 0.0f, 0.294f, 0.0f, 1.0f, -0.49f, 0.0f, 0.292f, 0.0f, 1.0f, -0.492f, 0.0f, 0.289f, 0.0f, 1.0f, - -0.494f, 0.0f, 0.286f, 0.0f, 1.0f, -0.495f, 0.0f, 0.284f, 0.0f, 1.0f, -0.497f, 0.0f, 0.281f, 0.0f, 1.0f, -0.498f, 0.0f, 0.279f, 0.001f, 1.0f, - -0.499f, 0.0f, 0.276f, 0.001f, 1.0f, -0.501f, 0.0f, 0.273f, 0.002f, 1.0f, -0.502f, 0.0f, 0.271f, 0.003f, 1.0f, -0.504f, 0.0f, 0.268f, 0.005f, 1.0f, - -0.505f, 0.0f, 0.265f, 0.008f, 1.0f, -0.506f, 0.0f, 0.262f, 0.011f, 1.0f, -0.508f, 0.0f, 0.259f, 0.016f, 1.0f, -0.509f, 0.0f, 0.256f, 0.021f, 1.0f, - -0.51f, 0.0f, 0.254f, 0.027f, 1.0f, -0.512f, 0.0f, 0.251f, 0.035f, 1.0f, -0.513f, 0.0f, 0.248f, 0.043f, 1.0f, -0.514f, 0.0f, 0.245f, 0.053f, 1.0f, - -0.515f, 0.0f, 0.242f, 0.064f, 1.0f, -0.516f, 0.0f, 0.239f, 0.076f, 1.0f, -0.517f, 0.0f, 0.235f, 0.09f, 1.0f, -0.519f, 0.0f, 0.232f, 0.105f, 1.0f, - -0.52f, 0.0f, 0.229f, 0.122f, 1.0f, -0.521f, 0.0f, 0.226f, 0.14f, 1.0f, -0.521f, 0.0f, 0.222f, 0.159f, 1.0f, -0.522f, 0.0f, 0.219f, 0.179f, 1.0f, - -0.523f, 0.0f, 0.216f, 0.2f, 1.0f, -0.524f, 0.0f, 0.212f, 0.221f, 1.0f, -0.525f, 0.0f, 0.209f, 0.243f, 1.0f, -0.526f, 0.0f, 0.205f, 0.265f, 1.0f, - -0.526f, 0.0f, 0.202f, 0.286f, 1.0f, -0.527f, 0.0f, 0.198f, 0.306f, 1.0f, -0.527f, 0.0f, 0.195f, 0.326f, 1.0f, -0.528f, 0.0f, 0.191f, 0.345f, 1.0f, - -0.528f, 0.0f, 0.187f, 0.363f, 1.0f, -0.529f, 0.0f, 0.184f, 0.38f, 1.0f, -0.529f, 0.0f, 0.18f, 0.395f, 1.0f, -0.529f, 0.0f, 0.176f, 0.41f, 1.0f, - -0.53f, 0.0f, 0.173f, 0.424f, 1.0f, -0.53f, 0.0f, 0.169f, 0.438f, 1.0f, -0.53f, 0.0f, 0.165f, 0.452f, 1.0f, -0.53f, 0.0f, 0.161f, 0.465f, 1.0f, - -0.53f, 0.0f, 0.157f, 0.478f, 1.0f, -0.53f, 0.0f, 0.154f, 0.492f, 1.0f, -0.53f, 0.0f, 0.15f, 0.505f, 1.0f, -0.53f, 0.0f, 0.146f, 0.517f, 1.0f, - -0.53f, 0.0f, 0.142f, 0.53f, 1.0f, -0.529f, 0.0f, 0.138f, 0.542f, 1.0f, -0.529f, 0.0f, 0.134f, 0.553f, 1.0f, -0.528f, 0.0f, 0.13f, 0.564f, 1.0f, - -0.528f, 0.0f, 0.127f, 0.574f, 1.0f, -0.527f, 0.0f, 0.123f, 0.583f, 1.0f, -0.527f, 0.0f, 0.119f, 0.592f, 1.0f, -0.526f, 0.0f, 0.115f, 0.6f, 1.0f, - -0.526f, 0.0f, 0.111f, 0.608f, 1.0f, -0.525f, 0.0f, 0.108f, 0.615f, 1.0f, -0.524f, 0.0f, 0.104f, 0.622f, 1.0f, -0.523f, 0.0f, 0.1f, 0.628f, 1.0f, - -0.522f, 0.0f, 0.097f, 0.635f, 1.0f, -0.521f, 0.0f, 0.093f, 0.641f, 1.0f, -0.52f, 0.0f, 0.089f, 0.647f, 1.0f, -0.519f, 0.0f, 0.086f, 0.653f, 1.0f, - -0.518f, 0.0f, 0.082f, 0.659f, 1.0f, -0.517f, 0.0f, 0.079f, 0.664f, 1.0f, -0.515f, 0.0f, 0.075f, 0.67f, 1.0f, -0.514f, 0.0f, 0.072f, 0.675f, 1.0f, - -0.513f, 0.0f, 0.069f, 0.68f, 1.0f, -0.511f, 0.0f, 0.065f, 0.685f, 1.0f, -0.51f, 0.0f, 0.062f, 0.69f, 1.0f, -0.509f, 0.0f, 0.059f, 0.695f, 1.0f, - -0.507f, 0.0f, 0.056f, 0.7f, 1.0f, -0.505f, 0.0f, 0.053f, 0.704f, 1.0f, -0.504f, 0.0f, 0.049f, 0.709f, 1.0f, -0.502f, 0.0f, 0.046f, 0.714f, 1.0f, - -0.5f, 0.0f, 0.043f, 0.719f, 1.0f, -0.499f, 0.0f, 0.04f, 0.724f, 1.0f, -0.497f, 0.0f, 0.038f, 0.73f, 1.0f, -0.495f, 0.0f, 0.035f, 0.735f, 1.0f, - -0.493f, 0.0f, 0.032f, 0.741f, 1.0f, -0.491f, 0.0f, 0.029f, 0.748f, 1.0f, -0.489f, 0.0f, 0.026f, 0.754f, 1.0f, -0.488f, -0.0f, 0.024f, 0.76f, 1.0f, - -0.486f, -0.0f, 0.022f, 0.767f, 1.0f, -0.485f, -0.0f, 0.019f, 0.773f, 1.0f, -0.483f, -0.0f, 0.017f, 0.779f, 1.0f, -0.482f, -0.0f, 0.015f, 0.785f, 1.0f, - -0.48f, -0.0f, 0.013f, 0.79f, 1.0f, -0.478f, -0.0f, 0.01f, 0.795f, 1.0f, -0.476f, -0.0f, 0.008f, 0.8f, 1.0f, -0.474f, -0.0f, 0.006f, 0.804f, 1.0f, - -0.472f, -0.0f, 0.004f, 0.808f, 1.0f, -0.47f, -0.0f, 0.002f, 0.811f, 1.0f, -0.468f, -0.0f, -0.0f, 0.814f, 1.0f, -0.466f, -0.0f, -0.002f, 0.816f, 1.0f, - -0.464f, -0.0f, -0.004f, 0.818f, 1.0f, -0.461f, -0.0f, -0.006f, 0.82f, 1.0f, -0.459f, -0.0f, -0.008f, 0.822f, 1.0f, -0.456f, -0.0f, -0.01f, 0.823f, 1.0f, - -0.454f, -0.0f, -0.012f, 0.825f, 1.0f, -0.451f, -0.0f, -0.014f, 0.826f, 1.0f, -0.448f, -0.0f, -0.016f, 0.827f, 1.0f, -0.445f, -0.0f, -0.018f, 0.828f, 1.0f, - -0.442f, -0.0f, -0.02f, 0.829f, 1.0f, -0.439f, -0.0f, -0.022f, 0.829f, 1.0f, -0.436f, -0.0f, -0.024f, 0.83f, 1.0f, -0.433f, -0.0f, -0.026f, 0.83f, 1.0f, - -0.43f, -0.0f, -0.027f, 0.83f, 1.0f, -0.426f, -0.0f, -0.029f, 0.83f, 1.0f, -0.423f, 0.0f, -0.031f, 0.83f, 1.0f, -0.42f, 0.0f, -0.032f, 0.83f, 1.0f, - -0.417f, 0.0f, -0.033f, 0.831f, 1.0f, -0.414f, 0.0f, -0.034f, 0.831f, 1.0f, -0.411f, 0.0f, -0.035f, 0.831f, 1.0f, -0.408f, 0.0f, -0.037f, 0.831f, 1.0f, - -0.405f, 0.0f, -0.038f, 0.831f, 1.0f, -0.402f, 0.0f, -0.039f, 0.831f, 1.0f, -0.399f, 0.0f, -0.039f, 0.831f, 1.0f, -0.396f, 0.0f, -0.04f, 0.832f, 1.0f, - -0.393f, 0.0f, -0.041f, 0.832f, 1.0f, -0.389f, 0.0f, -0.042f, 0.832f, 1.0f, -0.386f, 0.0f, -0.043f, 0.832f, 1.0f, -0.383f, 0.0f, -0.044f, 0.832f, 1.0f, - -0.379f, 0.0f, -0.044f, 0.832f, 1.0f, -0.376f, 0.0f, -0.045f, 0.832f, 1.0f, -0.372f, 0.0f, -0.045f, 0.832f, 1.0f, -0.369f, 0.0f, -0.046f, 0.832f, 1.0f, - -0.366f, 0.0f, -0.047f, 0.832f, 1.0f, -0.362f, 0.0f, -0.047f, 0.832f, 1.0f, -0.359f, 0.0f, -0.047f, 0.831f, 1.0f, -0.355f, 0.0f, -0.048f, 0.831f, 1.0f, - -0.352f, 0.0f, -0.048f, 0.83f, 1.0f, -0.348f, 0.0f, -0.048f, 0.83f, 1.0f, -0.345f, 0.0f, -0.049f, 0.829f, 1.0f, -0.341f, 0.0f, -0.049f, 0.828f, 1.0f, - -0.338f, 0.0f, -0.049f, 0.827f, 1.0f, -0.334f, 0.0f, -0.049f, 0.826f, 1.0f, -0.331f, 0.0f, -0.049f, 0.823f, 1.0f, -0.327f, 0.0f, -0.049f, 0.82f, 1.0f, - -0.323f, 0.0f, -0.048f, 0.816f, 1.0f, -0.32f, 0.0f, -0.048f, 0.811f, 1.0f, -0.316f, 0.0f, -0.048f, 0.804f, 1.0f, -0.313f, 0.0f, -0.048f, 0.797f, 1.0f, - -0.309f, 0.0f, -0.047f, 0.79f, 1.0f, -0.306f, 0.0f, -0.047f, 0.782f, 1.0f, -0.302f, 0.0f, -0.046f, 0.774f, 1.0f, -0.299f, 0.0f, -0.045f, 0.767f, 1.0f, - -0.295f, 0.0f, -0.044f, 0.76f, 1.0f, -0.292f, 0.0f, -0.044f, 0.753f, 1.0f, -0.288f, 0.0f, -0.043f, 0.748f, 1.0f, -0.285f, 0.0f, -0.042f, 0.742f, 1.0f, - -0.282f, 0.0f, -0.041f, 0.738f, 1.0f, -0.278f, 0.0f, -0.04f, 0.734f, 1.0f, -0.275f, 0.0f, -0.039f, 0.73f, 1.0f, -0.272f, 0.0f, -0.037f, 0.726f, 1.0f, - -0.269f, 0.0f, -0.036f, 0.723f, 1.0f, -0.266f, 0.0f, -0.035f, 0.72f, 1.0f, -0.263f, 0.0f, -0.034f, 0.717f, 1.0f, -0.26f, 0.0f, -0.032f, 0.713f, 1.0f, - -0.257f, 0.0f, -0.031f, 0.71f, 1.0f, -0.255f, 0.0f, -0.029f, 0.706f, 1.0f, -0.252f, 0.0f, -0.028f, 0.702f, 1.0f, -0.249f, 0.0f, -0.026f, 0.698f, 1.0f, - -0.247f, 0.0f, -0.025f, 0.693f, 1.0f, -0.244f, 0.0f, -0.023f, 0.688f, 1.0f, -0.242f, 0.0f, -0.021f, 0.684f, 1.0f, -0.239f, 0.0f, -0.02f, 0.679f, 1.0f, - -0.237f, 0.0f, -0.018f, 0.675f, 1.0f, -0.234f, 0.0f, -0.016f, 0.671f, 1.0f, -0.232f, 0.0f, -0.014f, 0.667f, 1.0f, -0.23f, 0.0f, -0.013f, 0.663f, 1.0f, - -0.228f, 0.0f, -0.011f, 0.66f, 1.0f, -0.225f, 0.0f, -0.009f, 0.657f, 1.0f, -0.223f, 0.0f, -0.007f, 0.654f, 1.0f, -0.221f, 0.0f, -0.005f, 0.651f, 1.0f, - -0.219f, 0.0f, -0.003f, 0.649f, 1.0f, -0.217f, 0.0f, -0.001f, 0.645f, 1.0f, -0.215f, 0.0f, 0.002f, 0.642f, 1.0f, -0.213f, 0.0f, 0.004f, 0.639f, 1.0f, - -0.211f, 0.0f, 0.006f, 0.635f, 1.0f, -0.209f, 0.0f, 0.008f, 0.631f, 1.0f, -0.207f, 0.0f, 0.011f, 0.627f, 1.0f, -0.206f, 0.0f, 0.013f, 0.623f, 1.0f, - -0.204f, 0.0f, 0.016f, 0.619f, 1.0f, -0.202f, 0.0f, 0.018f, 0.615f, 1.0f, -0.2f, 0.0f, 0.021f, 0.61f, 1.0f, -0.199f, 0.0f, 0.023f, 0.606f, 1.0f, - -0.197f, 0.0f, 0.026f, 0.602f, 1.0f, -0.195f, 0.0f, 0.029f, 0.598f, 1.0f, -0.194f, 0.0f, 0.032f, 0.595f, 1.0f, -0.192f, 0.0f, 0.034f, 0.592f, 1.0f, - -0.191f, 0.0f, 0.037f, 0.589f, 1.0f, -0.19f, 0.0f, 0.04f, 0.587f, 1.0f, -0.188f, 0.0f, 0.043f, 0.585f, 1.0f, -0.187f, 0.0f, 0.046f, 0.584f, 1.0f, - -0.186f, 0.0f, 0.05f, 0.583f, 1.0f, -0.185f, 0.0f, 0.053f, 0.582f, 1.0f, -0.183f, 0.0f, 0.056f, 0.581f, 1.0f, -0.182f, 0.0f, 0.059f, 0.581f, 1.0f, - -0.181f, 0.0f, 0.062f, 0.581f, 1.0f, -0.18f, 0.0f, 0.066f, 0.581f, 1.0f, -0.179f, 0.0f, 0.069f, 0.58f, 1.0f, -0.178f, 0.0f, 0.072f, 0.58f, 1.0f, - -0.177f, 0.0f, 0.076f, 0.58f, 1.0f, -0.177f, 0.0f, 0.079f, 0.58f, 1.0f, -0.176f, 0.0f, 0.083f, 0.58f, 1.0f, -0.175f, 0.0f, 0.086f, 0.58f, 1.0f, - -0.174f, 0.0f, 0.09f, 0.58f, 1.0f, -0.174f, 0.0f, 0.093f, 0.58f, 1.0f, -0.173f, 0.0f, 0.097f, 0.58f, 1.0f, -0.172f, 0.0f, 0.1f, 0.58f, 1.0f, - -0.172f, 0.0f, 0.104f, 0.58f, 1.0f, -0.171f, 0.0f, 0.108f, 0.579f, 1.0f, -0.171f, 0.0f, 0.111f, 0.579f, 1.0f, -0.17f, 0.0f, 0.115f, 0.578f, 1.0f, - -0.17f, 0.0f, 0.119f, 0.578f, 1.0f, -0.17f, 0.0f, 0.122f, 0.577f, 1.0f, -0.169f, 0.0f, 0.126f, 0.577f, 1.0f, -0.169f, 0.0f, 0.13f, 0.576f, 1.0f, - -0.169f, 0.0f, 0.134f, 0.576f, 1.0f, -0.169f, 0.0f, 0.137f, 0.575f, 1.0f, -0.169f, 0.0f, 0.141f, 0.575f, 1.0f, -0.169f, 0.0f, 0.145f, 0.574f, 1.0f, - -0.169f, 0.0f, 0.149f, 0.572f, 1.0f, -0.169f, 0.0f, 0.153f, 0.571f, 1.0f, -0.169f, 0.0f, 0.157f, 0.569f, 1.0f, -0.169f, 0.0f, 0.16f, 0.566f, 1.0f, - -0.169f, 0.0f, 0.164f, 0.562f, 1.0f, -0.17f, 0.0f, 0.168f, 0.558f, 1.0f, -0.17f, 0.0f, 0.172f, 0.553f, 1.0f, -0.17f, 0.0f, 0.176f, 0.547f, 1.0f, - -0.171f, 0.0f, 0.18f, 0.539f, 1.0f, -0.171f, 0.0f, 0.183f, 0.531f, 1.0f, -0.172f, 0.0f, 0.187f, 0.522f, 1.0f, -0.172f, 0.0f, 0.191f, 0.513f, 1.0f, - -0.173f, 0.0f, 0.194f, 0.503f, 1.0f, -0.173f, 0.0f, 0.198f, 0.493f, 1.0f, -0.174f, 0.0f, 0.202f, 0.483f, 1.0f, -0.175f, 0.0f, 0.205f, 0.473f, 1.0f, - -0.176f, 0.0f, 0.209f, 0.464f, 1.0f, -0.177f, 0.0f, 0.212f, 0.455f, 1.0f, -0.178f, 0.0f, 0.215f, 0.446f, 1.0f, -0.178f, 0.0f, 0.219f, 0.438f, 1.0f, - -0.179f, 0.0f, 0.222f, 0.428f, 1.0f, -0.18f, 0.0f, 0.226f, 0.418f, 1.0f, -0.182f, 0.0f, 0.229f, 0.407f, 1.0f, -0.183f, 0.0f, 0.232f, 0.394f, 1.0f, - -0.184f, 0.0f, 0.236f, 0.38f, 1.0f, -0.185f, 0.0f, 0.239f, 0.364f, 1.0f, -0.186f, 0.0f, 0.242f, 0.348f, 1.0f, -0.187f, 0.0f, 0.245f, 0.33f, 1.0f, - -0.188f, 0.0f, 0.249f, 0.311f, 1.0f, -0.19f, 0.0f, 0.252f, 0.293f, 1.0f, -0.191f, 0.0f, 0.255f, 0.275f, 1.0f, -0.192f, 0.0f, 0.258f, 0.258f, 1.0f, - -0.194f, 0.0f, 0.261f, 0.242f, 1.0f, -0.195f, 0.0f, 0.264f, 0.228f, 1.0f, -0.196f, 0.0f, 0.267f, 0.214f, 1.0f, -0.198f, 0.0f, 0.27f, 0.202f, 1.0f, - -0.199f, 0.0f, 0.273f, 0.191f, 1.0f, -0.201f, 0.0f, 0.276f, 0.181f, 1.0f, -0.202f, 0.0f, 0.279f, 0.171f, 1.0f, -0.204f, 0.0f, 0.282f, 0.162f, 1.0f, - -0.205f, 0.0f, 0.285f, 0.152f, 1.0f, -0.206f, 0.0f, 0.287f, 0.143f, 1.0f, -0.208f, 0.0f, 0.29f, 0.134f, 1.0f, -0.21f, 0.0f, 0.293f, 0.126f, 1.0f, - -0.211f, 0.0f, 0.295f, 0.117f, 1.0f, -0.213f, 0.0f, 0.298f, 0.109f, 1.0f, -0.214f, 0.0f, 0.301f, 0.101f, 1.0f, -0.216f, 0.0f, 0.303f, 0.094f, 1.0f, - -0.217f, 0.0f, 0.306f, 0.087f, 1.0f, -0.219f, 0.0f, 0.308f, 0.081f, 1.0f, -0.221f, 0.0f, 0.311f, 0.076f, 1.0f, -0.223f, 0.0f, 0.313f, 0.071f, 1.0f, - -0.224f, 0.0f, 0.316f, 0.067f, 1.0f, -0.226f, 0.0f, 0.318f, 0.065f, 1.0f, -0.228f, 0.0f, 0.321f, 0.062f, 1.0f, -0.23f, 0.0f, 0.323f, 0.061f, 1.0f, - -0.232f, 0.0f, 0.326f, 0.06f, 1.0f, -0.233f, 0.0f, 0.328f, 0.06f, 1.0f, -0.235f, 0.0f, 0.331f, 0.061f, 1.0f, -0.237f, 0.0f, 0.334f, 0.061f, 1.0f, - -0.239f, 0.0f, 0.336f, 0.062f, 1.0f, -0.241f, 0.0f, 0.339f, 0.063f, 1.0f, -0.243f, 0.0f, 0.341f, 0.064f, 1.0f, -0.245f, 0.0f, 0.344f, 0.065f, 1.0f, - -0.248f, 0.0f, 0.346f, 0.065f, 1.0f, -0.25f, 0.0f, 0.349f, 0.065f, 1.0f, -0.252f, 0.0f, 0.351f, 0.064f, 1.0f, -0.254f, 0.0f, 0.354f, 0.062f, 1.0f, - -0.256f, 0.0f, 0.356f, 0.06f, 1.0f, -0.258f, 0.0f, 0.359f, 0.058f, 1.0f, -0.261f, 0.0f, 0.361f, 0.055f, 1.0f, -0.263f, 0.0f, 0.364f, 0.051f, 1.0f, - -0.265f, 0.0f, 0.366f, 0.046f, 1.0f, -0.267f, 0.0f, 0.368f, 0.04f, 1.0f, -0.269f, 0.0f, 0.37f, 0.034f, 1.0f, -0.272f, 0.0f, 0.373f, 0.027f, 1.0f, - -0.274f, 0.0f, 0.375f, 0.019f, 1.0f, -0.276f, 0.0f, 0.377f, 0.012f, 1.0f, -0.278f, 0.0f, 0.379f, 0.007f, 1.0f, -0.28f, 0.0f, 0.381f, 0.003f, 1.0f, - -0.282f, 0.0f, 0.383f, 0.001f, 1.0f, -0.284f, 0.0f, 0.385f, 0.0f, 1.0f, -0.286f, 0.0f, 0.387f, 0.0f, 1.0f, -0.287f, 0.0f, 0.388f, 0.0f, 1.0f, - -0.289f, 0.0f, 0.39f, 0.0f, 1.0f, -}; - -static const float data22[309 * GP_PRIM_DATABUF_SIZE] = { - 0.294f, 0.0f, 0.372f, 0.0f, 1.0f, 0.291f, 0.0f, 0.37f, 0.001f, 1.0f, 0.289f, 0.0f, 0.368f, 0.002f, 1.0f, 0.286f, 0.0f, 0.366f, 0.003f, 1.0f, - 0.284f, 0.0f, 0.364f, 0.006f, 1.0f, 0.282f, 0.0f, 0.362f, 0.01f, 1.0f, 0.279f, 0.0f, 0.36f, 0.015f, 1.0f, 0.277f, 0.0f, 0.358f, 0.022f, 1.0f, - 0.274f, 0.0f, 0.356f, 0.03f, 1.0f, 0.272f, 0.0f, 0.353f, 0.04f, 1.0f, 0.269f, 0.0f, 0.351f, 0.051f, 1.0f, 0.267f, 0.0f, 0.349f, 0.062f, 1.0f, - 0.265f, 0.0f, 0.347f, 0.074f, 1.0f, 0.262f, 0.0f, 0.344f, 0.086f, 1.0f, 0.26f, 0.0f, 0.342f, 0.097f, 1.0f, 0.258f, 0.0f, 0.34f, 0.108f, 1.0f, - 0.256f, 0.0f, 0.337f, 0.119f, 1.0f, 0.253f, 0.0f, 0.335f, 0.128f, 1.0f, 0.251f, 0.0f, 0.333f, 0.137f, 1.0f, 0.249f, 0.0f, 0.33f, 0.145f, 1.0f, - 0.247f, 0.0f, 0.328f, 0.153f, 1.0f, 0.246f, 0.0f, 0.325f, 0.161f, 1.0f, 0.244f, 0.0f, 0.323f, 0.168f, 1.0f, 0.242f, 0.0f, 0.321f, 0.176f, 1.0f, - 0.24f, 0.0f, 0.318f, 0.183f, 1.0f, 0.239f, 0.0f, 0.316f, 0.191f, 1.0f, 0.237f, 0.0f, 0.314f, 0.198f, 1.0f, 0.235f, 0.0f, 0.311f, 0.206f, 1.0f, - 0.233f, 0.0f, 0.309f, 0.214f, 1.0f, 0.231f, 0.0f, 0.306f, 0.223f, 1.0f, 0.23f, 0.0f, 0.304f, 0.231f, 1.0f, 0.228f, 0.0f, 0.301f, 0.24f, 1.0f, - 0.226f, 0.0f, 0.299f, 0.248f, 1.0f, 0.224f, 0.0f, 0.296f, 0.256f, 1.0f, 0.223f, 0.0f, 0.294f, 0.264f, 1.0f, 0.221f, 0.0f, 0.291f, 0.272f, 1.0f, - 0.219f, 0.0f, 0.288f, 0.28f, 1.0f, 0.218f, 0.0f, 0.286f, 0.287f, 1.0f, 0.216f, 0.0f, 0.283f, 0.294f, 1.0f, 0.214f, 0.0f, 0.281f, 0.301f, 1.0f, - 0.213f, 0.0f, 0.278f, 0.307f, 1.0f, 0.211f, 0.0f, 0.275f, 0.314f, 1.0f, 0.21f, 0.0f, 0.273f, 0.32f, 1.0f, 0.208f, 0.0f, 0.27f, 0.327f, 1.0f, - 0.206f, 0.0f, 0.267f, 0.333f, 1.0f, 0.205f, 0.0f, 0.265f, 0.339f, 1.0f, 0.204f, 0.0f, 0.262f, 0.345f, 1.0f, 0.202f, 0.0f, 0.259f, 0.351f, 1.0f, - 0.201f, 0.0f, 0.256f, 0.357f, 1.0f, 0.199f, 0.0f, 0.253f, 0.362f, 1.0f, 0.198f, 0.0f, 0.25f, 0.368f, 1.0f, 0.197f, 0.0f, 0.247f, 0.373f, 1.0f, - 0.195f, 0.0f, 0.244f, 0.379f, 1.0f, 0.194f, 0.0f, 0.241f, 0.383f, 1.0f, 0.193f, 0.0f, 0.238f, 0.388f, 1.0f, 0.192f, 0.0f, 0.235f, 0.392f, 1.0f, - 0.191f, 0.0f, 0.232f, 0.396f, 1.0f, 0.19f, 0.0f, 0.229f, 0.399f, 1.0f, 0.189f, 0.0f, 0.226f, 0.402f, 1.0f, 0.188f, 0.0f, 0.222f, 0.405f, 1.0f, - 0.187f, 0.0f, 0.219f, 0.407f, 1.0f, 0.186f, 0.0f, 0.216f, 0.409f, 1.0f, 0.185f, 0.0f, 0.213f, 0.411f, 1.0f, 0.184f, 0.0f, 0.209f, 0.412f, 1.0f, - 0.183f, 0.0f, 0.206f, 0.413f, 1.0f, 0.183f, 0.0f, 0.203f, 0.414f, 1.0f, 0.182f, 0.0f, 0.199f, 0.415f, 1.0f, 0.181f, 0.0f, 0.196f, 0.416f, 1.0f, - 0.181f, 0.0f, 0.193f, 0.417f, 1.0f, 0.18f, 0.0f, 0.189f, 0.417f, 1.0f, 0.18f, 0.0f, 0.186f, 0.418f, 1.0f, 0.179f, 0.0f, 0.182f, 0.419f, 1.0f, - 0.179f, 0.0f, 0.179f, 0.421f, 1.0f, 0.179f, 0.0f, 0.176f, 0.422f, 1.0f, 0.178f, 0.0f, 0.172f, 0.423f, 1.0f, 0.178f, 0.0f, 0.169f, 0.425f, 1.0f, - 0.178f, 0.0f, 0.165f, 0.427f, 1.0f, 0.178f, 0.0f, 0.162f, 0.429f, 1.0f, 0.178f, 0.0f, 0.158f, 0.431f, 1.0f, 0.178f, 0.0f, 0.155f, 0.434f, 1.0f, - 0.178f, 0.0f, 0.152f, 0.436f, 1.0f, 0.178f, 0.0f, 0.148f, 0.439f, 1.0f, 0.178f, 0.0f, 0.145f, 0.442f, 1.0f, 0.178f, 0.0f, 0.141f, 0.446f, 1.0f, - 0.178f, 0.0f, 0.138f, 0.449f, 1.0f, 0.178f, 0.0f, 0.134f, 0.453f, 1.0f, 0.178f, 0.0f, 0.131f, 0.458f, 1.0f, 0.179f, 0.0f, 0.127f, 0.462f, 1.0f, - 0.179f, 0.0f, 0.124f, 0.467f, 1.0f, 0.179f, 0.0f, 0.12f, 0.472f, 1.0f, 0.18f, 0.0f, 0.117f, 0.478f, 1.0f, 0.18f, 0.0f, 0.113f, 0.483f, 1.0f, - 0.181f, 0.0f, 0.11f, 0.489f, 1.0f, 0.182f, 0.0f, 0.106f, 0.494f, 1.0f, 0.182f, 0.0f, 0.103f, 0.5f, 1.0f, 0.183f, 0.0f, 0.099f, 0.505f, 1.0f, - 0.184f, 0.0f, 0.096f, 0.511f, 1.0f, 0.185f, 0.0f, 0.092f, 0.516f, 1.0f, 0.185f, 0.0f, 0.089f, 0.521f, 1.0f, 0.186f, 0.0f, 0.086f, 0.525f, 1.0f, - 0.187f, 0.0f, 0.082f, 0.53f, 1.0f, 0.188f, 0.0f, 0.079f, 0.534f, 1.0f, 0.189f, 0.0f, 0.076f, 0.537f, 1.0f, 0.191f, 0.0f, 0.073f, 0.541f, 1.0f, - 0.192f, 0.0f, 0.069f, 0.544f, 1.0f, 0.193f, 0.0f, 0.066f, 0.547f, 1.0f, 0.194f, 0.0f, 0.063f, 0.55f, 1.0f, 0.196f, 0.0f, 0.061f, 0.553f, 1.0f, - 0.197f, 0.0f, 0.058f, 0.556f, 1.0f, 0.198f, 0.0f, 0.055f, 0.559f, 1.0f, 0.2f, 0.0f, 0.052f, 0.562f, 1.0f, 0.201f, 0.0f, 0.049f, 0.564f, 1.0f, - 0.203f, 0.0f, 0.047f, 0.566f, 1.0f, 0.205f, 0.0f, 0.044f, 0.569f, 1.0f, 0.206f, 0.0f, 0.042f, 0.571f, 1.0f, 0.208f, 0.0f, 0.039f, 0.573f, 1.0f, - 0.21f, 0.0f, 0.037f, 0.575f, 1.0f, 0.212f, 0.0f, 0.035f, 0.576f, 1.0f, 0.214f, 0.0f, 0.032f, 0.578f, 1.0f, 0.215f, 0.0f, 0.03f, 0.579f, 1.0f, - 0.217f, 0.0f, 0.028f, 0.581f, 1.0f, 0.22f, 0.0f, 0.025f, 0.582f, 1.0f, 0.222f, 0.0f, 0.023f, 0.583f, 1.0f, 0.224f, 0.0f, 0.021f, 0.585f, 1.0f, - 0.226f, 0.0f, 0.019f, 0.587f, 1.0f, 0.228f, 0.0f, 0.016f, 0.589f, 1.0f, 0.231f, 0.0f, 0.014f, 0.592f, 1.0f, 0.233f, 0.0f, 0.012f, 0.596f, 1.0f, - 0.236f, 0.0f, 0.01f, 0.599f, 1.0f, 0.238f, 0.0f, 0.008f, 0.604f, 1.0f, 0.241f, 0.0f, 0.006f, 0.608f, 1.0f, 0.243f, 0.0f, 0.004f, 0.612f, 1.0f, - 0.246f, 0.0f, 0.002f, 0.615f, 1.0f, 0.249f, 0.0f, 0.0f, 0.619f, 1.0f, 0.251f, 0.0f, -0.002f, 0.622f, 1.0f, 0.254f, 0.0f, -0.003f, 0.624f, 1.0f, - 0.257f, 0.0f, -0.005f, 0.626f, 1.0f, 0.26f, 0.0f, -0.007f, 0.628f, 1.0f, 0.263f, 0.0f, -0.008f, 0.63f, 1.0f, 0.266f, 0.0f, -0.01f, 0.632f, 1.0f, - 0.269f, 0.0f, -0.011f, 0.634f, 1.0f, 0.272f, 0.0f, -0.013f, 0.636f, 1.0f, 0.275f, 0.0f, -0.014f, 0.638f, 1.0f, 0.278f, 0.0f, -0.015f, 0.64f, 1.0f, - 0.281f, 0.0f, -0.017f, 0.642f, 1.0f, 0.284f, 0.0f, -0.018f, 0.644f, 1.0f, 0.288f, 0.0f, -0.019f, 0.647f, 1.0f, 0.291f, 0.0f, -0.02f, 0.649f, 1.0f, - 0.294f, 0.0f, -0.021f, 0.651f, 1.0f, 0.297f, 0.0f, -0.022f, 0.653f, 1.0f, 0.301f, 0.0f, -0.023f, 0.656f, 1.0f, 0.304f, 0.0f, -0.024f, 0.658f, 1.0f, - 0.307f, 0.0f, -0.025f, 0.659f, 1.0f, 0.31f, 0.0f, -0.026f, 0.661f, 1.0f, 0.314f, 0.0f, -0.027f, 0.662f, 1.0f, 0.317f, 0.0f, -0.027f, 0.664f, 1.0f, - 0.32f, 0.0f, -0.028f, 0.665f, 1.0f, 0.324f, 0.0f, -0.028f, 0.665f, 1.0f, 0.327f, 0.0f, -0.029f, 0.666f, 1.0f, 0.33f, 0.0f, -0.029f, 0.666f, 1.0f, - 0.334f, 0.0f, -0.029f, 0.667f, 1.0f, 0.337f, 0.0f, -0.03f, 0.667f, 1.0f, 0.341f, 0.0f, -0.03f, 0.668f, 1.0f, 0.344f, 0.0f, -0.03f, 0.668f, 1.0f, - 0.348f, 0.0f, -0.03f, 0.668f, 1.0f, 0.351f, 0.0f, -0.03f, 0.668f, 1.0f, 0.354f, 0.0f, -0.03f, 0.668f, 1.0f, 0.358f, 0.0f, -0.029f, 0.668f, 1.0f, - 0.361f, 0.0f, -0.029f, 0.668f, 1.0f, 0.365f, 0.0f, -0.029f, 0.668f, 1.0f, 0.368f, 0.0f, -0.028f, 0.668f, 1.0f, 0.372f, 0.0f, -0.028f, 0.668f, 1.0f, - 0.375f, 0.0f, -0.027f, 0.668f, 1.0f, 0.378f, 0.0f, -0.027f, 0.668f, 1.0f, 0.382f, 0.0f, -0.026f, 0.667f, 1.0f, 0.385f, 0.0f, -0.025f, 0.667f, 1.0f, - 0.388f, 0.0f, -0.025f, 0.666f, 1.0f, 0.392f, 0.0f, -0.024f, 0.666f, 1.0f, 0.395f, 0.0f, -0.023f, 0.665f, 1.0f, 0.398f, 0.0f, -0.022f, 0.664f, 1.0f, - 0.401f, 0.0f, -0.021f, 0.664f, 1.0f, 0.405f, 0.0f, -0.02f, 0.663f, 1.0f, 0.408f, 0.0f, -0.019f, 0.663f, 1.0f, 0.411f, 0.0f, -0.018f, 0.662f, 1.0f, - 0.414f, 0.0f, -0.017f, 0.662f, 1.0f, 0.417f, 0.0f, -0.016f, 0.662f, 1.0f, 0.42f, 0.0f, -0.015f, 0.662f, 1.0f, 0.423f, 0.0f, -0.014f, 0.661f, 1.0f, - 0.426f, 0.0f, -0.012f, 0.661f, 1.0f, 0.429f, 0.0f, -0.011f, 0.661f, 1.0f, 0.432f, 0.0f, -0.01f, 0.661f, 1.0f, 0.434f, 0.0f, -0.009f, 0.66f, 1.0f, - 0.437f, 0.0f, -0.007f, 0.66f, 1.0f, 0.44f, 0.0f, -0.006f, 0.659f, 1.0f, 0.442f, 0.0f, -0.005f, 0.659f, 1.0f, 0.445f, 0.0f, -0.003f, 0.658f, 1.0f, - 0.448f, 0.0f, -0.002f, 0.658f, 1.0f, 0.45f, 0.0f, -0.001f, 0.657f, 1.0f, 0.452f, 0.0f, 0.001f, 0.656f, 1.0f, 0.455f, 0.0f, 0.002f, 0.655f, 1.0f, - 0.457f, 0.0f, 0.004f, 0.654f, 1.0f, 0.459f, 0.0f, 0.005f, 0.653f, 1.0f, 0.462f, 0.0f, 0.007f, 0.652f, 1.0f, 0.464f, 0.0f, 0.009f, 0.651f, 1.0f, - 0.466f, 0.0f, 0.01f, 0.65f, 1.0f, 0.468f, 0.0f, 0.012f, 0.65f, 1.0f, 0.47f, 0.0f, 0.014f, 0.649f, 1.0f, 0.472f, 0.0f, 0.016f, 0.648f, 1.0f, - 0.474f, 0.0f, 0.018f, 0.647f, 1.0f, 0.476f, 0.0f, 0.019f, 0.646f, 1.0f, 0.478f, 0.0f, 0.021f, 0.645f, 1.0f, 0.479f, 0.0f, 0.023f, 0.644f, 1.0f, - 0.481f, 0.0f, 0.025f, 0.643f, 1.0f, 0.483f, 0.0f, 0.027f, 0.642f, 1.0f, 0.485f, 0.0f, 0.03f, 0.642f, 1.0f, 0.486f, 0.0f, 0.032f, 0.641f, 1.0f, - 0.488f, 0.0f, 0.034f, 0.64f, 1.0f, 0.49f, 0.0f, 0.036f, 0.639f, 1.0f, 0.491f, 0.0f, 0.038f, 0.638f, 1.0f, 0.493f, 0.0f, 0.041f, 0.637f, 1.0f, - 0.494f, 0.0f, 0.043f, 0.636f, 1.0f, 0.496f, 0.0f, 0.045f, 0.635f, 1.0f, 0.497f, 0.0f, 0.048f, 0.635f, 1.0f, 0.499f, 0.0f, 0.05f, 0.634f, 1.0f, - 0.5f, 0.0f, 0.053f, 0.633f, 1.0f, 0.502f, 0.0f, 0.055f, 0.632f, 1.0f, 0.503f, 0.0f, 0.058f, 0.631f, 1.0f, 0.505f, 0.0f, 0.06f, 0.63f, 1.0f, - 0.506f, 0.0f, 0.063f, 0.63f, 1.0f, 0.507f, 0.0f, 0.066f, 0.629f, 1.0f, 0.509f, 0.0f, 0.068f, 0.628f, 1.0f, 0.51f, 0.0f, 0.071f, 0.628f, 1.0f, - 0.511f, 0.0f, 0.074f, 0.627f, 1.0f, 0.513f, 0.0f, 0.077f, 0.626f, 1.0f, 0.514f, 0.0f, 0.079f, 0.625f, 1.0f, 0.515f, 0.0f, 0.082f, 0.625f, 1.0f, - 0.516f, 0.0f, 0.085f, 0.624f, 1.0f, 0.518f, 0.0f, 0.088f, 0.623f, 1.0f, 0.519f, 0.0f, 0.091f, 0.622f, 1.0f, 0.52f, 0.0f, 0.094f, 0.62f, 1.0f, - 0.521f, 0.0f, 0.098f, 0.619f, 1.0f, 0.522f, 0.0f, 0.101f, 0.617f, 1.0f, 0.523f, 0.0f, 0.104f, 0.615f, 1.0f, 0.524f, 0.0f, 0.107f, 0.613f, 1.0f, - 0.525f, 0.0f, 0.111f, 0.611f, 1.0f, 0.526f, 0.0f, 0.114f, 0.609f, 1.0f, 0.527f, 0.0f, 0.118f, 0.607f, 1.0f, 0.527f, 0.0f, 0.121f, 0.605f, 1.0f, - 0.528f, 0.0f, 0.124f, 0.603f, 1.0f, 0.529f, 0.0f, 0.128f, 0.602f, 1.0f, 0.529f, 0.0f, 0.132f, 0.6f, 1.0f, 0.53f, 0.0f, 0.135f, 0.599f, 1.0f, - 0.531f, 0.0f, 0.139f, 0.598f, 1.0f, 0.531f, 0.0f, 0.142f, 0.598f, 1.0f, 0.531f, 0.0f, 0.146f, 0.597f, 1.0f, 0.532f, 0.0f, 0.15f, 0.596f, 1.0f, - 0.532f, 0.0f, 0.154f, 0.596f, 1.0f, 0.532f, 0.0f, 0.157f, 0.595f, 1.0f, 0.532f, 0.0f, 0.161f, 0.595f, 1.0f, 0.532f, 0.0f, 0.165f, 0.594f, 1.0f, - 0.532f, 0.0f, 0.169f, 0.593f, 1.0f, 0.532f, 0.0f, 0.173f, 0.592f, 1.0f, 0.532f, 0.0f, 0.177f, 0.591f, 1.0f, 0.532f, 0.0f, 0.181f, 0.59f, 1.0f, - 0.531f, 0.0f, 0.185f, 0.589f, 1.0f, 0.531f, 0.0f, 0.189f, 0.588f, 1.0f, 0.53f, 0.0f, 0.194f, 0.587f, 1.0f, 0.529f, 0.0f, 0.198f, 0.586f, 1.0f, - 0.528f, 0.0f, 0.202f, 0.585f, 1.0f, 0.527f, 0.0f, 0.207f, 0.584f, 1.0f, 0.526f, 0.0f, 0.211f, 0.584f, 1.0f, 0.525f, 0.0f, 0.215f, 0.583f, 1.0f, - 0.523f, 0.0f, 0.22f, 0.583f, 1.0f, 0.522f, 0.0f, 0.224f, 0.583f, 1.0f, 0.52f, 0.0f, 0.229f, 0.582f, 1.0f, 0.518f, 0.0f, 0.234f, 0.582f, 1.0f, - 0.515f, 0.0f, 0.238f, 0.582f, 1.0f, 0.513f, 0.0f, 0.243f, 0.581f, 1.0f, 0.51f, 0.0f, 0.247f, 0.58f, 1.0f, 0.508f, 0.0f, 0.252f, 0.579f, 1.0f, - 0.505f, 0.0f, 0.257f, 0.578f, 1.0f, 0.502f, 0.0f, 0.261f, 0.576f, 1.0f, 0.499f, 0.0f, 0.266f, 0.573f, 1.0f, 0.496f, 0.0f, 0.27f, 0.57f, 1.0f, - 0.492f, 0.0f, 0.275f, 0.566f, 1.0f, 0.489f, 0.0f, 0.279f, 0.561f, 1.0f, 0.485f, 0.0f, 0.284f, 0.555f, 1.0f, 0.481f, 0.0f, 0.288f, 0.548f, 1.0f, - 0.478f, 0.0f, 0.293f, 0.54f, 1.0f, 0.473f, 0.0f, 0.297f, 0.531f, 1.0f, 0.469f, 0.0f, 0.301f, 0.521f, 1.0f, 0.465f, 0.0f, 0.305f, 0.509f, 1.0f, - 0.461f, 0.0f, 0.309f, 0.496f, 1.0f, 0.456f, 0.0f, 0.313f, 0.481f, 1.0f, 0.452f, 0.0f, 0.317f, 0.464f, 1.0f, 0.448f, 0.0f, 0.321f, 0.445f, 1.0f, - 0.443f, 0.0f, 0.324f, 0.424f, 1.0f, 0.438f, 0.0f, 0.328f, 0.401f, 1.0f, 0.434f, 0.0f, 0.331f, 0.374f, 1.0f, 0.429f, 0.0f, 0.334f, 0.346f, 1.0f, - 0.425f, 0.0f, 0.337f, 0.314f, 1.0f, 0.421f, 0.0f, 0.34f, 0.281f, 1.0f, 0.416f, 0.0f, 0.343f, 0.245f, 1.0f, 0.412f, 0.0f, 0.346f, 0.208f, 1.0f, - 0.408f, 0.0f, 0.349f, 0.169f, 1.0f, 0.404f, 0.0f, 0.351f, 0.13f, 1.0f, 0.401f, 0.0f, 0.354f, 0.089f, 1.0f, 0.398f, 0.0f, 0.356f, 0.054f, 1.0f, - 0.394f, 0.0f, 0.359f, 0.0f, 1.0f, -}; - -static const float data23[209 * GP_PRIM_DATABUF_SIZE] = { - -0.751f, 0.0f, 0.173f, 0.0f, 1.0f, -0.751f, 0.0f, 0.168f, 0.0f, 1.0f, -0.75f, 0.0f, 0.164f, 0.0f, 1.0f, -0.75f, 0.0f, 0.16f, 0.0f, 1.0f, - -0.75f, 0.0f, 0.156f, 0.0f, 1.0f, -0.749f, 0.0f, 0.152f, 0.0f, 1.0f, -0.749f, 0.0f, 0.148f, 0.0f, 1.0f, -0.748f, 0.0f, 0.144f, 0.0f, 1.0f, - -0.747f, 0.0f, 0.14f, 0.001f, 1.0f, -0.747f, 0.0f, 0.137f, 0.002f, 1.0f, -0.746f, 0.0f, 0.133f, 0.005f, 1.0f, -0.745f, 0.0f, 0.129f, 0.008f, 1.0f, - -0.745f, 0.0f, 0.125f, 0.013f, 1.0f, -0.744f, 0.0f, 0.122f, 0.02f, 1.0f, -0.743f, 0.0f, 0.118f, 0.028f, 1.0f, -0.742f, 0.0f, 0.115f, 0.038f, 1.0f, - -0.741f, 0.0f, 0.111f, 0.049f, 1.0f, -0.74f, 0.0f, 0.108f, 0.061f, 1.0f, -0.739f, 0.0f, 0.105f, 0.073f, 1.0f, -0.738f, 0.0f, 0.101f, 0.085f, 1.0f, - -0.736f, 0.0f, 0.098f, 0.097f, 1.0f, -0.735f, 0.0f, 0.095f, 0.109f, 1.0f, -0.734f, 0.0f, 0.091f, 0.119f, 1.0f, -0.732f, 0.0f, 0.088f, 0.129f, 1.0f, - -0.731f, 0.0f, 0.085f, 0.138f, 1.0f, -0.729f, 0.0f, 0.082f, 0.146f, 1.0f, -0.728f, 0.0f, 0.079f, 0.153f, 1.0f, -0.726f, 0.0f, 0.076f, 0.158f, 1.0f, - -0.725f, 0.0f, 0.073f, 0.163f, 1.0f, -0.723f, 0.0f, 0.07f, 0.167f, 1.0f, -0.722f, 0.0f, 0.067f, 0.17f, 1.0f, -0.72f, 0.0f, 0.065f, 0.173f, 1.0f, - -0.718f, 0.0f, 0.062f, 0.174f, 1.0f, -0.717f, 0.0f, 0.059f, 0.175f, 1.0f, -0.715f, 0.0f, 0.057f, 0.176f, 1.0f, -0.714f, 0.0f, 0.054f, 0.176f, 1.0f, - -0.712f, 0.0f, 0.051f, 0.176f, 1.0f, -0.71f, 0.0f, 0.049f, 0.176f, 1.0f, -0.709f, 0.0f, 0.046f, 0.176f, 1.0f, -0.707f, 0.0f, 0.043f, 0.176f, 1.0f, - -0.705f, 0.0f, 0.041f, 0.176f, 1.0f, -0.703f, 0.0f, 0.038f, 0.176f, 1.0f, -0.701f, 0.0f, 0.035f, 0.176f, 1.0f, -0.7f, 0.0f, 0.033f, 0.177f, 1.0f, - -0.698f, 0.0f, 0.03f, 0.177f, 1.0f, -0.696f, 0.0f, 0.027f, 0.178f, 1.0f, -0.694f, 0.0f, 0.024f, 0.179f, 1.0f, -0.692f, 0.0f, 0.022f, 0.18f, 1.0f, - -0.69f, 0.0f, 0.019f, 0.181f, 1.0f, -0.688f, 0.0f, 0.016f, 0.182f, 1.0f, -0.685f, 0.0f, 0.013f, 0.184f, 1.0f, -0.683f, 0.0f, 0.01f, 0.187f, 1.0f, - -0.681f, 0.0f, 0.007f, 0.19f, 1.0f, -0.679f, 0.0f, 0.004f, 0.194f, 1.0f, -0.677f, 0.0f, 0.001f, 0.198f, 1.0f, -0.675f, 0.0f, -0.002f, 0.203f, 1.0f, - -0.673f, 0.0f, -0.005f, 0.209f, 1.0f, -0.67f, 0.0f, -0.008f, 0.215f, 1.0f, -0.668f, 0.0f, -0.011f, 0.222f, 1.0f, -0.666f, 0.0f, -0.014f, 0.229f, 1.0f, - -0.664f, 0.0f, -0.017f, 0.237f, 1.0f, -0.661f, 0.0f, -0.02f, 0.246f, 1.0f, -0.659f, 0.0f, -0.023f, 0.255f, 1.0f, -0.657f, 0.0f, -0.025f, 0.264f, 1.0f, - -0.654f, 0.0f, -0.028f, 0.275f, 1.0f, -0.652f, 0.0f, -0.031f, 0.285f, 1.0f, -0.65f, 0.0f, -0.034f, 0.297f, 1.0f, -0.647f, 0.0f, -0.037f, 0.309f, 1.0f, - -0.644f, 0.0f, -0.04f, 0.322f, 1.0f, -0.642f, 0.0f, -0.043f, 0.335f, 1.0f, -0.639f, 0.0f, -0.046f, 0.348f, 1.0f, -0.636f, 0.0f, -0.049f, 0.361f, 1.0f, - -0.633f, 0.0f, -0.052f, 0.374f, 1.0f, -0.63f, 0.0f, -0.055f, 0.386f, 1.0f, -0.627f, 0.0f, -0.058f, 0.397f, 1.0f, -0.624f, 0.0f, -0.061f, 0.408f, 1.0f, - -0.62f, 0.0f, -0.064f, 0.418f, 1.0f, -0.617f, 0.0f, -0.067f, 0.427f, 1.0f, -0.614f, 0.0f, -0.07f, 0.435f, 1.0f, -0.611f, 0.0f, -0.073f, 0.443f, 1.0f, - -0.607f, 0.0f, -0.075f, 0.451f, 1.0f, -0.604f, 0.0f, -0.078f, 0.458f, 1.0f, -0.6f, 0.0f, -0.081f, 0.465f, 1.0f, -0.597f, 0.0f, -0.084f, 0.472f, 1.0f, - -0.593f, 0.0f, -0.086f, 0.479f, 1.0f, -0.59f, 0.0f, -0.089f, 0.486f, 1.0f, -0.586f, 0.0f, -0.092f, 0.492f, 1.0f, -0.583f, 0.0f, -0.094f, 0.499f, 1.0f, - -0.579f, 0.0f, -0.097f, 0.505f, 1.0f, -0.575f, 0.0f, -0.099f, 0.512f, 1.0f, -0.571f, 0.0f, -0.102f, 0.518f, 1.0f, -0.567f, 0.0f, -0.105f, 0.524f, 1.0f, - -0.563f, 0.0f, -0.107f, 0.53f, 1.0f, -0.559f, 0.0f, -0.11f, 0.536f, 1.0f, -0.555f, 0.0f, -0.112f, 0.541f, 1.0f, -0.551f, 0.0f, -0.115f, 0.546f, 1.0f, - -0.546f, 0.0f, -0.117f, 0.551f, 1.0f, -0.542f, 0.0f, -0.12f, 0.555f, 1.0f, -0.538f, 0.0f, -0.122f, 0.559f, 1.0f, -0.533f, 0.0f, -0.125f, 0.562f, 1.0f, - -0.529f, 0.0f, -0.127f, 0.565f, 1.0f, -0.525f, 0.0f, -0.129f, 0.568f, 1.0f, -0.52f, 0.0f, -0.132f, 0.57f, 1.0f, -0.516f, 0.0f, -0.134f, 0.572f, 1.0f, - -0.512f, 0.0f, -0.137f, 0.574f, 1.0f, -0.508f, 0.0f, -0.139f, 0.576f, 1.0f, -0.503f, 0.0f, -0.141f, 0.577f, 1.0f, -0.499f, 0.0f, -0.144f, 0.578f, 1.0f, - -0.495f, 0.0f, -0.146f, 0.579f, 1.0f, -0.491f, 0.0f, -0.148f, 0.579f, 1.0f, -0.487f, 0.0f, -0.151f, 0.578f, 1.0f, -0.483f, 0.0f, -0.153f, 0.577f, 1.0f, - -0.479f, 0.0f, -0.155f, 0.574f, 1.0f, -0.475f, 0.0f, -0.158f, 0.571f, 1.0f, -0.471f, 0.0f, -0.16f, 0.567f, 1.0f, -0.467f, 0.0f, -0.162f, 0.561f, 1.0f, - -0.463f, 0.0f, -0.165f, 0.555f, 1.0f, -0.459f, 0.0f, -0.167f, 0.548f, 1.0f, -0.456f, 0.0f, -0.169f, 0.54f, 1.0f, -0.452f, 0.0f, -0.172f, 0.532f, 1.0f, - -0.448f, 0.0f, -0.174f, 0.523f, 1.0f, -0.445f, 0.0f, -0.176f, 0.514f, 1.0f, -0.441f, 0.0f, -0.179f, 0.505f, 1.0f, -0.438f, 0.0f, -0.181f, 0.497f, 1.0f, - -0.435f, 0.0f, -0.183f, 0.488f, 1.0f, -0.431f, 0.0f, -0.185f, 0.48f, 1.0f, -0.428f, 0.0f, -0.188f, 0.472f, 1.0f, -0.425f, 0.0f, -0.19f, 0.464f, 1.0f, - -0.422f, 0.0f, -0.192f, 0.457f, 1.0f, -0.419f, 0.0f, -0.194f, 0.451f, 1.0f, -0.416f, 0.0f, -0.196f, 0.444f, 1.0f, -0.413f, 0.0f, -0.198f, 0.439f, 1.0f, - -0.41f, 0.0f, -0.2f, 0.434f, 1.0f, -0.407f, 0.0f, -0.202f, 0.429f, 1.0f, -0.404f, 0.0f, -0.204f, 0.426f, 1.0f, -0.401f, 0.0f, -0.206f, 0.422f, 1.0f, - -0.398f, 0.0f, -0.208f, 0.419f, 1.0f, -0.396f, 0.0f, -0.21f, 0.417f, 1.0f, -0.393f, 0.0f, -0.212f, 0.415f, 1.0f, -0.39f, 0.0f, -0.213f, 0.413f, 1.0f, - -0.388f, 0.0f, -0.215f, 0.412f, 1.0f, -0.385f, 0.0f, -0.217f, 0.411f, 1.0f, -0.382f, 0.0f, -0.219f, 0.41f, 1.0f, -0.38f, 0.0f, -0.221f, 0.41f, 1.0f, - -0.377f, 0.0f, -0.222f, 0.409f, 1.0f, -0.375f, 0.0f, -0.224f, 0.409f, 1.0f, -0.372f, 0.0f, -0.226f, 0.409f, 1.0f, -0.37f, 0.0f, -0.228f, 0.409f, 1.0f, - -0.367f, 0.0f, -0.229f, 0.409f, 1.0f, -0.365f, 0.0f, -0.231f, 0.409f, 1.0f, -0.362f, 0.0f, -0.233f, 0.409f, 1.0f, -0.36f, 0.0f, -0.235f, 0.409f, 1.0f, - -0.357f, 0.0f, -0.236f, 0.409f, 1.0f, -0.355f, 0.0f, -0.238f, 0.409f, 1.0f, -0.352f, 0.0f, -0.24f, 0.408f, 1.0f, -0.35f, 0.0f, -0.242f, 0.408f, 1.0f, - -0.348f, 0.0f, -0.243f, 0.407f, 1.0f, -0.345f, 0.0f, -0.245f, 0.406f, 1.0f, -0.343f, 0.0f, -0.247f, 0.405f, 1.0f, -0.34f, 0.0f, -0.249f, 0.404f, 1.0f, - -0.338f, 0.0f, -0.251f, 0.403f, 1.0f, -0.336f, 0.0f, -0.253f, 0.401f, 1.0f, -0.333f, 0.0f, -0.255f, 0.399f, 1.0f, -0.331f, 0.0f, -0.256f, 0.397f, 1.0f, - -0.329f, 0.0f, -0.258f, 0.394f, 1.0f, -0.327f, 0.0f, -0.26f, 0.391f, 1.0f, -0.324f, 0.0f, -0.262f, 0.387f, 1.0f, -0.322f, 0.0f, -0.264f, 0.383f, 1.0f, - -0.32f, 0.0f, -0.266f, 0.379f, 1.0f, -0.318f, 0.0f, -0.268f, 0.374f, 1.0f, -0.316f, 0.0f, -0.27f, 0.368f, 1.0f, -0.314f, 0.0f, -0.272f, 0.362f, 1.0f, - -0.312f, 0.0f, -0.275f, 0.356f, 1.0f, -0.309f, 0.0f, -0.277f, 0.349f, 1.0f, -0.307f, 0.0f, -0.279f, 0.341f, 1.0f, -0.305f, 0.0f, -0.281f, 0.333f, 1.0f, - -0.303f, 0.0f, -0.283f, 0.325f, 1.0f, -0.301f, 0.0f, -0.286f, 0.316f, 1.0f, -0.299f, 0.0f, -0.288f, 0.307f, 1.0f, -0.297f, 0.0f, -0.29f, 0.298f, 1.0f, - -0.295f, 0.0f, -0.293f, 0.289f, 1.0f, -0.293f, 0.0f, -0.295f, 0.279f, 1.0f, -0.291f, 0.0f, -0.298f, 0.269f, 1.0f, -0.29f, 0.0f, -0.3f, 0.259f, 1.0f, - -0.288f, 0.0f, -0.303f, 0.249f, 1.0f, -0.286f, 0.0f, -0.306f, 0.238f, 1.0f, -0.284f, 0.0f, -0.308f, 0.227f, 1.0f, -0.282f, 0.0f, -0.311f, 0.215f, 1.0f, - -0.28f, 0.0f, -0.314f, 0.203f, 1.0f, -0.278f, 0.0f, -0.317f, 0.191f, 1.0f, -0.277f, 0.0f, -0.32f, 0.178f, 1.0f, -0.275f, 0.0f, -0.323f, 0.165f, 1.0f, - -0.273f, 0.0f, -0.326f, 0.151f, 1.0f, -0.271f, 0.0f, -0.33f, 0.138f, 1.0f, -0.27f, 0.0f, -0.333f, 0.124f, 1.0f, -0.268f, 0.0f, -0.336f, 0.11f, 1.0f, - -0.267f, 0.0f, -0.34f, 0.097f, 1.0f, -0.265f, 0.0f, -0.343f, 0.085f, 1.0f, -0.264f, 0.0f, -0.346f, 0.073f, 1.0f, -0.262f, 0.0f, -0.35f, 0.062f, 1.0f, - -0.261f, 0.0f, -0.353f, 0.052f, 1.0f, -0.259f, 0.0f, -0.357f, 0.043f, 1.0f, -0.258f, 0.0f, -0.36f, 0.035f, 1.0f, -0.257f, 0.0f, -0.363f, 0.028f, 1.0f, - -0.255f, 0.0f, -0.366f, 0.021f, 1.0f, -0.254f, 0.0f, -0.369f, 0.016f, 1.0f, -0.253f, 0.0f, -0.372f, 0.01f, 1.0f, -0.252f, 0.0f, -0.375f, 0.006f, 1.0f, - -0.251f, 0.0f, -0.379f, 0.0f, 1.0f, -}; - -static const float data24[133 * GP_PRIM_DATABUF_SIZE] = { - 0.233f, 0.0f, -0.376f, 0.021f, 1.0f, 0.234f, 0.0f, -0.372f, 0.08f, 1.0f, 0.234f, 0.0f, -0.369f, 0.116f, 1.0f, 0.234f, 0.0f, -0.366f, 0.156f, 1.0f, - 0.235f, 0.0f, -0.362f, 0.191f, 1.0f, 0.236f, 0.0f, -0.359f, 0.222f, 1.0f, 0.236f, 0.0f, -0.356f, 0.248f, 1.0f, 0.237f, 0.0f, -0.353f, 0.27f, 1.0f, - 0.238f, 0.0f, -0.35f, 0.289f, 1.0f, 0.239f, 0.0f, -0.346f, 0.304f, 1.0f, 0.24f, 0.0f, -0.343f, 0.319f, 1.0f, 0.241f, 0.0f, -0.34f, 0.334f, 1.0f, - 0.242f, 0.0f, -0.337f, 0.35f, 1.0f, 0.243f, 0.0f, -0.335f, 0.367f, 1.0f, 0.244f, 0.0f, -0.332f, 0.385f, 1.0f, 0.245f, 0.0f, -0.329f, 0.401f, 1.0f, - 0.247f, 0.0f, -0.327f, 0.415f, 1.0f, 0.248f, 0.0f, -0.324f, 0.426f, 1.0f, 0.249f, 0.0f, -0.322f, 0.435f, 1.0f, 0.251f, 0.0f, -0.32f, 0.443f, 1.0f, - 0.252f, 0.0f, -0.318f, 0.449f, 1.0f, 0.254f, 0.0f, -0.316f, 0.455f, 1.0f, 0.255f, 0.0f, -0.314f, 0.461f, 1.0f, 0.257f, 0.0f, -0.312f, 0.467f, 1.0f, - 0.258f, 0.0f, -0.311f, 0.474f, 1.0f, 0.26f, 0.0f, -0.309f, 0.48f, 1.0f, 0.262f, 0.0f, -0.307f, 0.487f, 1.0f, 0.263f, 0.0f, -0.305f, 0.493f, 1.0f, - 0.265f, 0.0f, -0.303f, 0.499f, 1.0f, 0.267f, 0.0f, -0.3f, 0.505f, 1.0f, 0.269f, 0.0f, -0.298f, 0.511f, 1.0f, 0.271f, 0.0f, -0.296f, 0.518f, 1.0f, - 0.273f, 0.0f, -0.294f, 0.524f, 1.0f, 0.276f, 0.0f, -0.291f, 0.531f, 1.0f, 0.278f, 0.0f, -0.289f, 0.539f, 1.0f, 0.281f, 0.0f, -0.287f, 0.546f, 1.0f, - 0.283f, 0.0f, -0.284f, 0.552f, 1.0f, 0.286f, 0.0f, -0.281f, 0.557f, 1.0f, 0.289f, 0.0f, -0.279f, 0.561f, 1.0f, 0.292f, 0.0f, -0.276f, 0.565f, 1.0f, - 0.294f, 0.0f, -0.274f, 0.568f, 1.0f, 0.297f, 0.0f, -0.271f, 0.57f, 1.0f, 0.3f, 0.0f, -0.269f, 0.572f, 1.0f, 0.303f, 0.0f, -0.267f, 0.574f, 1.0f, - 0.306f, 0.0f, -0.264f, 0.575f, 1.0f, 0.308f, 0.0f, -0.262f, 0.576f, 1.0f, 0.311f, 0.0f, -0.26f, 0.577f, 1.0f, 0.314f, 0.0f, -0.257f, 0.578f, 1.0f, - 0.316f, 0.0f, -0.255f, 0.578f, 1.0f, 0.319f, 0.0f, -0.253f, 0.579f, 1.0f, 0.322f, 0.0f, -0.25f, 0.579f, 1.0f, 0.325f, 0.0f, -0.248f, 0.58f, 1.0f, - 0.328f, 0.0f, -0.246f, 0.58f, 1.0f, 0.331f, 0.0f, -0.243f, 0.58f, 1.0f, 0.334f, 0.0f, -0.241f, 0.58f, 1.0f, 0.337f, 0.0f, -0.239f, 0.58f, 1.0f, - 0.341f, 0.0f, -0.236f, 0.58f, 1.0f, 0.344f, 0.0f, -0.233f, 0.581f, 1.0f, 0.348f, 0.0f, -0.231f, 0.581f, 1.0f, 0.352f, 0.0f, -0.228f, 0.581f, 1.0f, - 0.356f, 0.0f, -0.225f, 0.582f, 1.0f, 0.36f, 0.0f, -0.222f, 0.582f, 1.0f, 0.365f, 0.0f, -0.219f, 0.582f, 1.0f, 0.369f, 0.0f, -0.216f, 0.582f, 1.0f, - 0.374f, 0.0f, -0.214f, 0.582f, 1.0f, 0.378f, 0.0f, -0.211f, 0.582f, 1.0f, 0.383f, 0.0f, -0.208f, 0.583f, 1.0f, 0.387f, 0.0f, -0.205f, 0.583f, 1.0f, - 0.392f, 0.0f, -0.202f, 0.583f, 1.0f, 0.397f, 0.0f, -0.199f, 0.583f, 1.0f, 0.401f, 0.0f, -0.197f, 0.583f, 1.0f, 0.406f, 0.0f, -0.194f, 0.583f, 1.0f, - 0.411f, 0.0f, -0.191f, 0.583f, 1.0f, 0.416f, 0.0f, -0.188f, 0.583f, 1.0f, 0.42f, 0.0f, -0.186f, 0.583f, 1.0f, 0.425f, 0.0f, -0.183f, 0.583f, 1.0f, - 0.43f, 0.0f, -0.18f, 0.583f, 1.0f, 0.434f, 0.0f, -0.178f, 0.583f, 1.0f, 0.439f, 0.0f, -0.175f, 0.583f, 1.0f, 0.444f, 0.0f, -0.172f, 0.583f, 1.0f, - 0.449f, 0.0f, -0.17f, 0.584f, 1.0f, 0.453f, 0.0f, -0.167f, 0.584f, 1.0f, 0.458f, 0.0f, -0.164f, 0.584f, 1.0f, 0.463f, 0.0f, -0.161f, 0.585f, 1.0f, - 0.468f, 0.0f, -0.158f, 0.585f, 1.0f, 0.473f, 0.0f, -0.155f, 0.585f, 1.0f, 0.478f, 0.0f, -0.152f, 0.585f, 1.0f, 0.483f, 0.0f, -0.149f, 0.585f, 1.0f, - 0.488f, 0.0f, -0.146f, 0.585f, 1.0f, 0.492f, 0.0f, -0.143f, 0.585f, 1.0f, 0.497f, 0.0f, -0.14f, 0.586f, 1.0f, 0.501f, 0.0f, -0.137f, 0.586f, 1.0f, - 0.506f, 0.0f, -0.134f, 0.586f, 1.0f, 0.51f, 0.0f, -0.13f, 0.586f, 1.0f, 0.515f, 0.0f, -0.127f, 0.586f, 1.0f, 0.52f, 0.0f, -0.124f, 0.586f, 1.0f, - 0.524f, 0.0f, -0.12f, 0.586f, 1.0f, 0.529f, 0.0f, -0.117f, 0.586f, 1.0f, 0.534f, 0.0f, -0.113f, 0.586f, 1.0f, 0.539f, 0.0f, -0.109f, 0.586f, 1.0f, - 0.544f, 0.0f, -0.105f, 0.586f, 1.0f, 0.55f, 0.0f, -0.1f, 0.586f, 1.0f, 0.555f, 0.0f, -0.095f, 0.586f, 1.0f, 0.561f, 0.0f, -0.09f, 0.586f, 1.0f, - 0.567f, 0.0f, -0.084f, 0.587f, 1.0f, 0.573f, 0.0f, -0.078f, 0.587f, 1.0f, 0.579f, 0.0f, -0.071f, 0.587f, 1.0f, 0.586f, 0.0f, -0.063f, 0.588f, 1.0f, - 0.593f, 0.0f, -0.055f, 0.588f, 1.0f, 0.6f, 0.0f, -0.047f, 0.588f, 1.0f, 0.607f, 0.0f, -0.038f, 0.589f, 1.0f, 0.614f, 0.0f, -0.028f, 0.589f, 1.0f, - 0.621f, 0.0f, -0.018f, 0.589f, 1.0f, 0.629f, 0.0f, -0.007f, 0.589f, 1.0f, 0.636f, 0.0f, 0.004f, 0.589f, 1.0f, 0.643f, 0.0f, 0.015f, 0.59f, 1.0f, - 0.65f, 0.0f, 0.026f, 0.589f, 1.0f, 0.656f, 0.0f, 0.038f, 0.589f, 1.0f, 0.663f, 0.0f, 0.049f, 0.588f, 1.0f, 0.669f, 0.0f, 0.06f, 0.587f, 1.0f, - 0.676f, 0.0f, 0.072f, 0.584f, 1.0f, 0.682f, 0.0f, 0.084f, 0.579f, 1.0f, 0.688f, 0.0f, 0.096f, 0.571f, 1.0f, 0.694f, 0.0f, 0.108f, 0.558f, 1.0f, - 0.7f, 0.0f, 0.12f, 0.54f, 1.0f, 0.706f, 0.0f, 0.133f, 0.514f, 1.0f, 0.712f, 0.0f, 0.145f, 0.478f, 1.0f, 0.718f, 0.0f, 0.158f, 0.431f, 1.0f, - 0.723f, 0.0f, 0.17f, 0.369f, 1.0f, 0.728f, 0.0f, 0.182f, 0.294f, 1.0f, 0.733f, 0.0f, 0.194f, 0.205f, 1.0f, 0.737f, 0.0f, 0.204f, 0.125f, 1.0f, - 0.743f, 0.0f, 0.218f, 0.0f, 1.0f, -}; - -static const float data25[389 * GP_PRIM_DATABUF_SIZE] = { - -0.284f, 0.0f, -0.444f, 0.0f, 1.0f, -0.285f, 0.0f, -0.448f, 0.0f, 1.0f, -0.285f, 0.0f, -0.45f, 0.0f, 1.0f, -0.286f, 0.0f, -0.454f, 0.0f, 1.0f, - -0.286f, 0.0f, -0.457f, 0.0f, 1.0f, -0.287f, 0.0f, -0.46f, 0.0f, 1.0f, -0.288f, 0.0f, -0.463f, 0.0f, 1.0f, -0.289f, 0.0f, -0.466f, 0.0f, 1.0f, - -0.289f, 0.0f, -0.47f, 0.0f, 1.0f, -0.29f, 0.0f, -0.473f, 0.0f, 1.0f, -0.291f, 0.0f, -0.476f, 0.0f, 1.0f, -0.292f, 0.0f, -0.48f, 0.0f, 1.0f, - -0.293f, 0.0f, -0.484f, 0.0f, 1.0f, -0.294f, 0.0f, -0.487f, 0.0f, 1.0f, -0.295f, 0.0f, -0.491f, 0.0f, 1.0f, -0.296f, 0.0f, -0.494f, 0.0f, 1.0f, - -0.297f, 0.0f, -0.498f, 0.0f, 1.0f, -0.298f, 0.0f, -0.502f, 0.0f, 1.0f, -0.299f, 0.0f, -0.505f, 0.0f, 1.0f, -0.3f, 0.0f, -0.509f, 0.0f, 1.0f, - -0.301f, 0.0f, -0.513f, 0.0f, 1.0f, -0.302f, 0.0f, -0.517f, 0.0f, 1.0f, -0.303f, 0.0f, -0.52f, 0.0f, 1.0f, -0.304f, 0.0f, -0.524f, 0.0f, 1.0f, - -0.305f, 0.0f, -0.528f, 0.0f, 1.0f, -0.306f, 0.0f, -0.532f, 0.0f, 1.0f, -0.307f, 0.0f, -0.535f, 0.0f, 1.0f, -0.308f, 0.0f, -0.539f, 0.0f, 1.0f, - -0.309f, 0.0f, -0.543f, 0.0f, 1.0f, -0.31f, 0.0f, -0.547f, 0.0f, 1.0f, -0.311f, 0.0f, -0.55f, 0.0f, 1.0f, -0.312f, 0.0f, -0.554f, 0.0f, 1.0f, - -0.313f, 0.0f, -0.558f, 0.0f, 1.0f, -0.314f, 0.0f, -0.562f, 0.0f, 1.0f, -0.315f, 0.0f, -0.565f, 0.0f, 1.0f, -0.316f, 0.0f, -0.569f, 0.0f, 1.0f, - -0.317f, 0.0f, -0.573f, 0.0f, 1.0f, -0.318f, 0.0f, -0.576f, 0.0f, 1.0f, -0.319f, 0.0f, -0.58f, 0.0f, 1.0f, -0.32f, 0.0f, -0.583f, 0.0f, 1.0f, - -0.321f, 0.0f, -0.587f, 0.0f, 1.0f, -0.322f, 0.0f, -0.591f, 0.0f, 1.0f, -0.323f, 0.0f, -0.594f, 0.0f, 1.0f, -0.323f, 0.0f, -0.598f, 0.0f, 1.0f, - -0.324f, 0.0f, -0.601f, 0.0f, 1.0f, -0.325f, 0.0f, -0.605f, 0.0f, 1.0f, -0.326f, 0.0f, -0.608f, 0.0f, 1.0f, -0.326f, 0.0f, -0.612f, 0.0f, 1.0f, - -0.327f, 0.0f, -0.615f, 0.0f, 1.0f, -0.328f, 0.0f, -0.619f, 0.0f, 1.0f, -0.328f, 0.0f, -0.622f, 0.0f, 1.0f, -0.329f, 0.0f, -0.625f, 0.0f, 1.0f, - -0.33f, 0.0f, -0.629f, 0.0f, 1.0f, -0.33f, 0.0f, -0.632f, 0.0f, 1.0f, -0.331f, 0.0f, -0.635f, 0.001f, 1.0f, -0.331f, 0.0f, -0.639f, 0.001f, 1.0f, - -0.332f, 0.0f, -0.642f, 0.002f, 1.0f, -0.332f, 0.0f, -0.645f, 0.002f, 1.0f, -0.333f, 0.0f, -0.649f, 0.003f, 1.0f, -0.333f, 0.0f, -0.652f, 0.005f, 1.0f, - -0.334f, 0.0f, -0.655f, 0.006f, 1.0f, -0.334f, 0.0f, -0.658f, 0.009f, 1.0f, -0.335f, 0.0f, -0.662f, 0.011f, 1.0f, -0.335f, 0.0f, -0.665f, 0.015f, 1.0f, - -0.335f, 0.0f, -0.668f, 0.019f, 1.0f, -0.336f, 0.0f, -0.672f, 0.024f, 1.0f, -0.336f, 0.0f, -0.675f, 0.031f, 1.0f, -0.337f, 0.0f, -0.678f, 0.038f, 1.0f, - -0.337f, 0.0f, -0.682f, 0.046f, 1.0f, -0.337f, 0.0f, -0.685f, 0.056f, 1.0f, -0.338f, 0.0f, -0.689f, 0.067f, 1.0f, -0.338f, 0.0f, -0.692f, 0.079f, 1.0f, - -0.338f, 0.0f, -0.696f, 0.093f, 1.0f, -0.339f, 0.0f, -0.699f, 0.107f, 1.0f, -0.339f, 0.0f, -0.703f, 0.123f, 1.0f, -0.34f, 0.0f, -0.706f, 0.139f, 1.0f, - -0.34f, 0.0f, -0.71f, 0.157f, 1.0f, -0.34f, 0.0f, -0.714f, 0.174f, 1.0f, -0.34f, 0.0f, -0.717f, 0.193f, 1.0f, -0.341f, 0.0f, -0.721f, 0.211f, 1.0f, - -0.341f, 0.0f, -0.725f, 0.23f, 1.0f, -0.341f, 0.0f, -0.729f, 0.248f, 1.0f, -0.342f, 0.0f, -0.732f, 0.266f, 1.0f, -0.342f, 0.0f, -0.736f, 0.284f, 1.0f, - -0.342f, 0.0f, -0.74f, 0.302f, 1.0f, -0.342f, 0.0f, -0.744f, 0.318f, 1.0f, -0.342f, 0.0f, -0.748f, 0.334f, 1.0f, -0.342f, 0.0f, -0.752f, 0.349f, 1.0f, - -0.343f, 0.0f, -0.756f, 0.364f, 1.0f, -0.343f, 0.0f, -0.76f, 0.377f, 1.0f, -0.343f, 0.0f, -0.763f, 0.389f, 1.0f, -0.343f, 0.0f, -0.767f, 0.401f, 1.0f, - -0.343f, 0.0f, -0.771f, 0.411f, 1.0f, -0.343f, 0.0f, -0.775f, 0.421f, 1.0f, -0.342f, 0.0f, -0.779f, 0.429f, 1.0f, -0.342f, 0.0f, -0.783f, 0.437f, 1.0f, - -0.342f, 0.0f, -0.786f, 0.444f, 1.0f, -0.342f, 0.0f, -0.79f, 0.451f, 1.0f, -0.342f, 0.0f, -0.794f, 0.456f, 1.0f, -0.341f, 0.0f, -0.797f, 0.461f, 1.0f, - -0.341f, 0.0f, -0.801f, 0.466f, 1.0f, -0.34f, 0.0f, -0.805f, 0.469f, 1.0f, -0.34f, 0.0f, -0.808f, 0.473f, 1.0f, -0.339f, 0.0f, -0.812f, 0.476f, 1.0f, - -0.339f, 0.0f, -0.815f, 0.478f, 1.0f, -0.338f, 0.0f, -0.818f, 0.48f, 1.0f, -0.338f, 0.0f, -0.822f, 0.482f, 1.0f, -0.337f, 0.0f, -0.825f, 0.483f, 1.0f, - -0.336f, 0.0f, -0.828f, 0.484f, 1.0f, -0.335f, 0.0f, -0.831f, 0.485f, 1.0f, -0.334f, 0.0f, -0.834f, 0.486f, 1.0f, -0.333f, 0.0f, -0.837f, 0.487f, 1.0f, - -0.332f, 0.0f, -0.84f, 0.487f, 1.0f, -0.331f, 0.0f, -0.843f, 0.487f, 1.0f, -0.33f, 0.0f, -0.846f, 0.488f, 1.0f, -0.329f, 0.0f, -0.849f, 0.488f, 1.0f, - -0.328f, 0.0f, -0.852f, 0.488f, 1.0f, -0.326f, 0.0f, -0.855f, 0.488f, 1.0f, -0.325f, 0.0f, -0.857f, 0.488f, 1.0f, -0.324f, 0.0f, -0.86f, 0.488f, 1.0f, - -0.322f, 0.0f, -0.863f, 0.488f, 1.0f, -0.321f, 0.0f, -0.865f, 0.488f, 1.0f, -0.319f, 0.0f, -0.868f, 0.488f, 1.0f, -0.318f, 0.0f, -0.871f, 0.488f, 1.0f, - -0.316f, 0.0f, -0.873f, 0.489f, 1.0f, -0.314f, 0.0f, -0.876f, 0.489f, 1.0f, -0.312f, 0.0f, -0.878f, 0.489f, 1.0f, -0.311f, 0.0f, -0.881f, 0.489f, 1.0f, - -0.309f, 0.0f, -0.883f, 0.489f, 1.0f, -0.307f, 0.0f, -0.885f, 0.489f, 1.0f, -0.305f, 0.0f, -0.888f, 0.49f, 1.0f, -0.303f, 0.0f, -0.89f, 0.491f, 1.0f, - -0.301f, 0.0f, -0.892f, 0.491f, 1.0f, -0.298f, 0.0f, -0.894f, 0.492f, 1.0f, -0.296f, 0.0f, -0.897f, 0.494f, 1.0f, -0.294f, 0.0f, -0.899f, 0.495f, 1.0f, - -0.292f, 0.0f, -0.901f, 0.497f, 1.0f, -0.289f, 0.0f, -0.903f, 0.5f, 1.0f, -0.287f, 0.0f, -0.905f, 0.502f, 1.0f, -0.284f, 0.0f, -0.907f, 0.505f, 1.0f, - -0.282f, 0.0f, -0.909f, 0.509f, 1.0f, -0.279f, 0.0f, -0.912f, 0.512f, 1.0f, -0.277f, 0.0f, -0.914f, 0.517f, 1.0f, -0.274f, 0.0f, -0.916f, 0.521f, 1.0f, - -0.271f, 0.0f, -0.918f, 0.526f, 1.0f, -0.269f, 0.0f, -0.919f, 0.531f, 1.0f, -0.266f, 0.0f, -0.921f, 0.537f, 1.0f, -0.263f, 0.0f, -0.923f, 0.543f, 1.0f, - -0.26f, 0.0f, -0.925f, 0.548f, 1.0f, -0.257f, 0.0f, -0.927f, 0.554f, 1.0f, -0.255f, 0.0f, -0.929f, 0.56f, 1.0f, -0.252f, 0.0f, -0.931f, 0.566f, 1.0f, - -0.249f, 0.0f, -0.932f, 0.571f, 1.0f, -0.246f, 0.0f, -0.934f, 0.577f, 1.0f, -0.243f, 0.0f, -0.936f, 0.582f, 1.0f, -0.24f, 0.0f, -0.938f, 0.587f, 1.0f, - -0.237f, 0.0f, -0.939f, 0.592f, 1.0f, -0.234f, 0.0f, -0.941f, 0.597f, 1.0f, -0.231f, 0.0f, -0.943f, 0.601f, 1.0f, -0.228f, 0.0f, -0.944f, 0.605f, 1.0f, - -0.225f, 0.0f, -0.946f, 0.609f, 1.0f, -0.222f, 0.0f, -0.948f, 0.613f, 1.0f, -0.219f, 0.0f, -0.949f, 0.617f, 1.0f, -0.216f, 0.0f, -0.951f, 0.62f, 1.0f, - -0.213f, 0.0f, -0.953f, 0.624f, 1.0f, -0.21f, 0.0f, -0.954f, 0.627f, 1.0f, -0.207f, 0.0f, -0.956f, 0.63f, 1.0f, -0.204f, 0.0f, -0.958f, 0.633f, 1.0f, - -0.201f, 0.0f, -0.959f, 0.636f, 1.0f, -0.198f, 0.0f, -0.961f, 0.639f, 1.0f, -0.195f, 0.0f, -0.962f, 0.641f, 1.0f, -0.191f, 0.0f, -0.964f, 0.643f, 1.0f, - -0.188f, 0.0f, -0.965f, 0.646f, 1.0f, -0.185f, 0.0f, -0.967f, 0.648f, 1.0f, -0.181f, 0.0f, -0.968f, 0.649f, 1.0f, -0.178f, 0.0f, -0.969f, 0.651f, 1.0f, - -0.175f, 0.0f, -0.971f, 0.653f, 1.0f, -0.171f, 0.0f, -0.972f, 0.654f, 1.0f, -0.168f, 0.0f, -0.973f, 0.655f, 1.0f, -0.165f, 0.0f, -0.974f, 0.657f, 1.0f, - -0.161f, 0.0f, -0.976f, 0.658f, 1.0f, -0.158f, 0.0f, -0.977f, 0.659f, 1.0f, -0.154f, 0.0f, -0.978f, 0.66f, 1.0f, -0.151f, 0.0f, -0.979f, 0.661f, 1.0f, - -0.148f, 0.0f, -0.98f, 0.662f, 1.0f, -0.144f, 0.0f, -0.981f, 0.664f, 1.0f, -0.141f, 0.0f, -0.982f, 0.665f, 1.0f, -0.137f, 0.0f, -0.983f, 0.667f, 1.0f, - -0.134f, 0.0f, -0.984f, 0.669f, 1.0f, -0.13f, 0.0f, -0.985f, 0.671f, 1.0f, -0.127f, 0.0f, -0.986f, 0.673f, 1.0f, -0.124f, 0.0f, -0.987f, 0.675f, 1.0f, - -0.12f, 0.0f, -0.988f, 0.678f, 1.0f, -0.117f, 0.0f, -0.989f, 0.68f, 1.0f, -0.113f, 0.0f, -0.99f, 0.683f, 1.0f, -0.11f, 0.0f, -0.991f, 0.685f, 1.0f, - -0.107f, 0.0f, -0.992f, 0.688f, 1.0f, -0.103f, 0.0f, -0.992f, 0.691f, 1.0f, -0.1f, 0.0f, -0.993f, 0.693f, 1.0f, -0.097f, 0.0f, -0.994f, 0.696f, 1.0f, - -0.093f, 0.0f, -0.995f, 0.698f, 1.0f, -0.09f, 0.0f, -0.996f, 0.701f, 1.0f, -0.087f, 0.0f, -0.997f, 0.703f, 1.0f, -0.084f, 0.0f, -0.997f, 0.705f, 1.0f, - -0.08f, 0.0f, -0.998f, 0.707f, 1.0f, -0.077f, 0.0f, -0.999f, 0.708f, 1.0f, -0.074f, 0.0f, -1.0f, 0.71f, 1.0f, -0.07f, 0.0f, -1.0f, 0.712f, 1.0f, - -0.067f, 0.0f, -1.001f, 0.713f, 1.0f, -0.063f, 0.0f, -1.002f, 0.715f, 1.0f, -0.06f, 0.0f, -1.002f, 0.717f, 1.0f, -0.056f, 0.0f, -1.003f, 0.718f, 1.0f, - -0.053f, 0.0f, -1.003f, 0.72f, 1.0f, -0.049f, 0.0f, -1.004f, 0.723f, 1.0f, -0.045f, 0.0f, -1.004f, 0.725f, 1.0f, -0.041f, 0.0f, -1.005f, 0.728f, 1.0f, - -0.038f, 0.0f, -1.005f, 0.73f, 1.0f, -0.034f, 0.0f, -1.006f, 0.733f, 1.0f, -0.03f, 0.0f, -1.006f, 0.736f, 1.0f, -0.026f, 0.0f, -1.007f, 0.738f, 1.0f, - -0.022f, 0.0f, -1.007f, 0.741f, 1.0f, -0.018f, 0.0f, -1.007f, 0.743f, 1.0f, -0.014f, 0.0f, -1.008f, 0.746f, 1.0f, -0.01f, 0.0f, -1.008f, 0.748f, 1.0f, - -0.006f, 0.0f, -1.009f, 0.75f, 1.0f, -0.001f, 0.0f, -1.009f, 0.752f, 1.0f, 0.003f, 0.0f, -1.009f, 0.754f, 1.0f, 0.007f, 0.0f, -1.01f, 0.755f, 1.0f, - 0.011f, 0.0f, -1.01f, 0.757f, 1.0f, 0.015f, 0.0f, -1.01f, 0.758f, 1.0f, 0.02f, 0.0f, -1.011f, 0.759f, 1.0f, 0.024f, 0.0f, -1.011f, 0.76f, 1.0f, - 0.028f, 0.0f, -1.011f, 0.761f, 1.0f, 0.033f, 0.0f, -1.011f, 0.761f, 1.0f, 0.037f, 0.0f, -1.012f, 0.762f, 1.0f, 0.041f, 0.0f, -1.012f, 0.762f, 1.0f, - 0.045f, 0.0f, -1.012f, 0.763f, 1.0f, 0.05f, 0.0f, -1.012f, 0.763f, 1.0f, 0.054f, 0.0f, -1.012f, 0.764f, 1.0f, 0.058f, 0.0f, -1.013f, 0.764f, 1.0f, - 0.062f, 0.0f, -1.013f, 0.764f, 1.0f, 0.066f, 0.0f, -1.013f, 0.764f, 1.0f, 0.071f, 0.0f, -1.013f, 0.764f, 1.0f, 0.075f, 0.0f, -1.013f, 0.765f, 1.0f, - 0.079f, 0.0f, -1.013f, 0.765f, 1.0f, 0.083f, 0.0f, -1.013f, 0.765f, 1.0f, 0.087f, 0.0f, -1.013f, 0.765f, 1.0f, 0.091f, 0.0f, -1.013f, 0.765f, 1.0f, - 0.095f, 0.0f, -1.013f, 0.765f, 1.0f, 0.099f, 0.0f, -1.013f, 0.766f, 1.0f, 0.103f, 0.0f, -1.013f, 0.766f, 1.0f, 0.108f, 0.0f, -1.012f, 0.766f, 1.0f, - 0.112f, 0.0f, -1.012f, 0.766f, 1.0f, 0.116f, 0.0f, -1.012f, 0.766f, 1.0f, 0.119f, 0.0f, -1.012f, 0.767f, 1.0f, 0.123f, 0.0f, -1.011f, 0.767f, 1.0f, - 0.127f, 0.0f, -1.011f, 0.767f, 1.0f, 0.131f, 0.0f, -1.01f, 0.767f, 1.0f, 0.135f, 0.0f, -1.01f, 0.767f, 1.0f, 0.139f, 0.0f, -1.009f, 0.768f, 1.0f, - 0.143f, 0.0f, -1.009f, 0.768f, 1.0f, 0.147f, 0.0f, -1.008f, 0.768f, 1.0f, 0.151f, 0.0f, -1.007f, 0.769f, 1.0f, 0.154f, 0.0f, -1.007f, 0.769f, 1.0f, - 0.158f, 0.0f, -1.006f, 0.769f, 1.0f, 0.162f, 0.0f, -1.005f, 0.769f, 1.0f, 0.166f, 0.0f, -1.004f, 0.77f, 1.0f, 0.17f, 0.0f, -1.003f, 0.77f, 1.0f, - 0.173f, 0.0f, -1.003f, 0.77f, 1.0f, 0.177f, 0.0f, -1.002f, 0.771f, 1.0f, 0.181f, 0.0f, -1.001f, 0.771f, 1.0f, 0.184f, 0.0f, -1.0f, 0.772f, 1.0f, - 0.188f, 0.0f, -0.999f, 0.772f, 1.0f, 0.192f, 0.0f, -0.998f, 0.773f, 1.0f, 0.195f, 0.0f, -0.997f, 0.773f, 1.0f, 0.199f, 0.0f, -0.996f, 0.774f, 1.0f, - 0.202f, 0.0f, -0.995f, 0.774f, 1.0f, 0.206f, 0.0f, -0.994f, 0.775f, 1.0f, 0.209f, 0.0f, -0.993f, 0.776f, 1.0f, 0.213f, 0.0f, -0.992f, 0.776f, 1.0f, - 0.216f, 0.0f, -0.991f, 0.777f, 1.0f, 0.22f, 0.0f, -0.99f, 0.777f, 1.0f, 0.223f, 0.0f, -0.988f, 0.778f, 1.0f, 0.227f, 0.0f, -0.987f, 0.778f, 1.0f, - 0.23f, 0.0f, -0.986f, 0.778f, 1.0f, 0.233f, 0.0f, -0.985f, 0.779f, 1.0f, 0.237f, 0.0f, -0.983f, 0.779f, 1.0f, 0.24f, 0.0f, -0.982f, 0.779f, 1.0f, - 0.243f, 0.0f, -0.981f, 0.779f, 1.0f, 0.246f, 0.0f, -0.979f, 0.778f, 1.0f, 0.249f, 0.0f, -0.978f, 0.778f, 1.0f, 0.252f, 0.0f, -0.976f, 0.777f, 1.0f, - 0.255f, 0.0f, -0.975f, 0.777f, 1.0f, 0.258f, 0.0f, -0.973f, 0.776f, 1.0f, 0.261f, 0.0f, -0.972f, 0.775f, 1.0f, 0.264f, 0.0f, -0.97f, 0.773f, 1.0f, - 0.267f, 0.0f, -0.968f, 0.772f, 1.0f, 0.269f, 0.0f, -0.967f, 0.77f, 1.0f, 0.272f, 0.0f, -0.965f, 0.769f, 1.0f, 0.275f, 0.0f, -0.963f, 0.767f, 1.0f, - 0.277f, 0.0f, -0.961f, 0.765f, 1.0f, 0.279f, 0.0f, -0.959f, 0.763f, 1.0f, 0.282f, 0.0f, -0.957f, 0.761f, 1.0f, 0.284f, 0.0f, -0.955f, 0.759f, 1.0f, - 0.286f, 0.0f, -0.953f, 0.756f, 1.0f, 0.288f, 0.0f, -0.951f, 0.754f, 1.0f, 0.29f, 0.0f, -0.948f, 0.752f, 1.0f, 0.292f, 0.0f, -0.946f, 0.749f, 1.0f, - 0.294f, 0.0f, -0.944f, 0.746f, 1.0f, 0.296f, 0.0f, -0.941f, 0.744f, 1.0f, 0.298f, 0.0f, -0.939f, 0.741f, 1.0f, 0.3f, 0.0f, -0.937f, 0.738f, 1.0f, - 0.302f, 0.0f, -0.934f, 0.736f, 1.0f, 0.303f, 0.0f, -0.932f, 0.733f, 1.0f, 0.305f, 0.0f, -0.929f, 0.73f, 1.0f, 0.306f, 0.0f, -0.926f, 0.727f, 1.0f, - 0.308f, 0.0f, -0.924f, 0.724f, 1.0f, 0.309f, 0.0f, -0.921f, 0.721f, 1.0f, 0.311f, 0.0f, -0.918f, 0.719f, 1.0f, 0.312f, 0.0f, -0.916f, 0.716f, 1.0f, - 0.313f, 0.0f, -0.913f, 0.713f, 1.0f, 0.315f, 0.0f, -0.91f, 0.71f, 1.0f, 0.316f, 0.0f, -0.907f, 0.707f, 1.0f, 0.317f, 0.0f, -0.904f, 0.704f, 1.0f, - 0.318f, 0.0f, -0.901f, 0.7f, 1.0f, 0.319f, 0.0f, -0.898f, 0.697f, 1.0f, 0.32f, 0.0f, -0.895f, 0.693f, 1.0f, 0.321f, 0.0f, -0.892f, 0.69f, 1.0f, - 0.322f, 0.0f, -0.889f, 0.686f, 1.0f, 0.323f, 0.0f, -0.886f, 0.681f, 1.0f, 0.324f, 0.0f, -0.883f, 0.677f, 1.0f, 0.325f, 0.0f, -0.88f, 0.672f, 1.0f, - 0.326f, 0.0f, -0.876f, 0.667f, 1.0f, 0.326f, 0.0f, -0.873f, 0.661f, 1.0f, 0.327f, 0.0f, -0.87f, 0.655f, 1.0f, 0.328f, 0.0f, -0.867f, 0.649f, 1.0f, - 0.329f, 0.0f, -0.864f, 0.643f, 1.0f, 0.329f, 0.0f, -0.861f, 0.637f, 1.0f, 0.33f, 0.0f, -0.857f, 0.63f, 1.0f, 0.331f, 0.0f, -0.854f, 0.624f, 1.0f, - 0.331f, 0.0f, -0.851f, 0.618f, 1.0f, 0.332f, 0.0f, -0.848f, 0.613f, 1.0f, 0.333f, 0.0f, -0.845f, 0.607f, 1.0f, 0.333f, 0.0f, -0.841f, 0.603f, 1.0f, - 0.334f, 0.0f, -0.838f, 0.598f, 1.0f, 0.334f, 0.0f, -0.835f, 0.594f, 1.0f, 0.335f, 0.0f, -0.832f, 0.591f, 1.0f, 0.335f, 0.0f, -0.828f, 0.588f, 1.0f, - 0.335f, 0.0f, -0.825f, 0.586f, 1.0f, 0.336f, 0.0f, -0.821f, 0.584f, 1.0f, 0.336f, 0.0f, -0.818f, 0.582f, 1.0f, 0.336f, 0.0f, -0.814f, 0.581f, 1.0f, - 0.337f, 0.0f, -0.811f, 0.58f, 1.0f, 0.337f, 0.0f, -0.807f, 0.58f, 1.0f, 0.337f, 0.0f, -0.803f, 0.579f, 1.0f, 0.337f, 0.0f, -0.799f, 0.579f, 1.0f, - 0.337f, 0.0f, -0.795f, 0.578f, 1.0f, 0.337f, 0.0f, -0.79f, 0.578f, 1.0f, 0.337f, 0.0f, -0.786f, 0.578f, 1.0f, 0.338f, 0.0f, -0.782f, 0.577f, 1.0f, - 0.338f, 0.0f, -0.777f, 0.576f, 1.0f, 0.337f, 0.0f, -0.772f, 0.574f, 1.0f, 0.337f, 0.0f, -0.767f, 0.572f, 1.0f, 0.337f, 0.0f, -0.762f, 0.569f, 1.0f, - 0.337f, 0.0f, -0.756f, 0.565f, 1.0f, 0.337f, 0.0f, -0.751f, 0.559f, 1.0f, 0.337f, 0.0f, -0.745f, 0.553f, 1.0f, 0.336f, 0.0f, -0.739f, 0.544f, 1.0f, - 0.336f, 0.0f, -0.732f, 0.534f, 1.0f, 0.335f, 0.0f, -0.725f, 0.521f, 1.0f, 0.334f, 0.0f, -0.718f, 0.505f, 1.0f, 0.333f, 0.0f, -0.711f, 0.487f, 1.0f, - 0.332f, 0.0f, -0.703f, 0.466f, 1.0f, 0.331f, 0.0f, -0.694f, 0.441f, 1.0f, 0.33f, 0.0f, -0.686f, 0.413f, 1.0f, 0.328f, 0.0f, -0.677f, 0.383f, 1.0f, - 0.326f, 0.0f, -0.667f, 0.35f, 1.0f, 0.325f, 0.0f, -0.657f, 0.316f, 1.0f, 0.323f, 0.0f, -0.647f, 0.281f, 1.0f, 0.32f, 0.0f, -0.636f, 0.246f, 1.0f, - 0.318f, 0.0f, -0.625f, 0.212f, 1.0f, 0.316f, 0.0f, -0.614f, 0.18f, 1.0f, 0.313f, 0.0f, -0.603f, 0.149f, 1.0f, 0.311f, 0.0f, -0.592f, 0.12f, 1.0f, - 0.308f, 0.0f, -0.581f, 0.093f, 1.0f, 0.306f, 0.0f, -0.57f, 0.069f, 1.0f, 0.303f, 0.0f, -0.559f, 0.046f, 1.0f, 0.301f, 0.0f, -0.55f, 0.027f, 1.0f, - 0.298f, 0.0f, -0.537f, 0.0f, 1.0f, -}; - -static const float data26[41 * GP_PRIM_DATABUF_SIZE] = { - -0.104f, 0.0f, -0.795f, 0.258f, 1.0f, -0.1f, 0.0f, -0.799f, 0.28f, 1.0f, -0.097f, 0.0f, -0.801f, 0.294f, 1.0f, -0.094f, 0.0f, -0.805f, 0.312f, 1.0f, - -0.09f, 0.0f, -0.808f, 0.328f, 1.0f, -0.086f, 0.0f, -0.811f, 0.345f, 1.0f, -0.082f, 0.0f, -0.815f, 0.361f, 1.0f, -0.078f, 0.0f, -0.818f, 0.377f, 1.0f, - -0.073f, 0.0f, -0.821f, 0.392f, 1.0f, -0.068f, 0.0f, -0.824f, 0.407f, 1.0f, -0.063f, 0.0f, -0.827f, 0.421f, 1.0f, -0.057f, 0.0f, -0.83f, 0.435f, 1.0f, - -0.051f, 0.0f, -0.833f, 0.448f, 1.0f, -0.045f, 0.0f, -0.835f, 0.46f, 1.0f, -0.039f, 0.0f, -0.837f, 0.471f, 1.0f, -0.033f, 0.0f, -0.839f, 0.481f, 1.0f, - -0.026f, 0.0f, -0.841f, 0.491f, 1.0f, -0.019f, 0.0f, -0.842f, 0.5f, 1.0f, -0.012f, 0.0f, -0.843f, 0.508f, 1.0f, -0.005f, 0.0f, -0.843f, 0.515f, 1.0f, - 0.002f, 0.0f, -0.843f, 0.522f, 1.0f, 0.009f, 0.0f, -0.843f, 0.527f, 1.0f, 0.016f, 0.0f, -0.842f, 0.532f, 1.0f, 0.023f, 0.0f, -0.841f, 0.535f, 1.0f, - 0.03f, 0.0f, -0.839f, 0.538f, 1.0f, 0.037f, 0.0f, -0.837f, 0.538f, 1.0f, 0.044f, 0.0f, -0.835f, 0.537f, 1.0f, 0.05f, 0.0f, -0.833f, 0.532f, 1.0f, - 0.056f, 0.0f, -0.83f, 0.524f, 1.0f, 0.062f, 0.0f, -0.827f, 0.513f, 1.0f, 0.068f, 0.0f, -0.823f, 0.496f, 1.0f, 0.074f, 0.0f, -0.82f, 0.474f, 1.0f, - 0.079f, 0.0f, -0.817f, 0.446f, 1.0f, 0.084f, 0.0f, -0.813f, 0.411f, 1.0f, 0.089f, 0.0f, -0.809f, 0.37f, 1.0f, 0.093f, 0.0f, -0.806f, 0.323f, 1.0f, - 0.098f, 0.0f, -0.802f, 0.269f, 1.0f, 0.102f, 0.0f, -0.798f, 0.211f, 1.0f, 0.106f, 0.0f, -0.795f, 0.146f, 1.0f, 0.109f, 0.0f, -0.792f, 0.089f, 1.0f, - 0.114f, 0.0f, -0.787f, 0.0f, 1.0f, -}; - -static const float data27[77 * GP_PRIM_DATABUF_SIZE] = { - -0.105f, 0.0f, -0.259f, 0.214f, 1.0f, -0.103f, 0.0f, -0.253f, 0.263f, 1.0f, -0.101f, 0.0f, -0.249f, 0.291f, 1.0f, -0.099f, 0.0f, -0.244f, 0.324f, 1.0f, - -0.098f, 0.0f, -0.24f, 0.351f, 1.0f, -0.096f, 0.0f, -0.235f, 0.376f, 1.0f, -0.094f, 0.0f, -0.231f, 0.397f, 1.0f, -0.092f, 0.0f, -0.227f, 0.416f, 1.0f, - -0.09f, 0.0f, -0.222f, 0.432f, 1.0f, -0.088f, 0.0f, -0.218f, 0.446f, 1.0f, -0.086f, 0.0f, -0.215f, 0.458f, 1.0f, -0.084f, 0.0f, -0.211f, 0.469f, 1.0f, - -0.082f, 0.0f, -0.208f, 0.478f, 1.0f, -0.079f, 0.0f, -0.205f, 0.486f, 1.0f, -0.077f, 0.0f, -0.203f, 0.494f, 1.0f, -0.075f, 0.0f, -0.2f, 0.501f, 1.0f, - -0.073f, 0.0f, -0.198f, 0.508f, 1.0f, -0.071f, 0.0f, -0.197f, 0.515f, 1.0f, -0.068f, 0.0f, -0.195f, 0.521f, 1.0f, -0.066f, 0.0f, -0.194f, 0.528f, 1.0f, - -0.064f, 0.0f, -0.194f, 0.534f, 1.0f, -0.061f, 0.0f, -0.194f, 0.54f, 1.0f, -0.059f, 0.0f, -0.194f, 0.546f, 1.0f, -0.056f, 0.0f, -0.194f, 0.551f, 1.0f, - -0.054f, 0.0f, -0.195f, 0.555f, 1.0f, -0.051f, 0.0f, -0.196f, 0.559f, 1.0f, -0.049f, 0.0f, -0.198f, 0.562f, 1.0f, -0.046f, 0.0f, -0.2f, 0.565f, 1.0f, - -0.044f, 0.0f, -0.201f, 0.567f, 1.0f, -0.041f, 0.0f, -0.204f, 0.568f, 1.0f, -0.039f, 0.0f, -0.206f, 0.569f, 1.0f, -0.036f, 0.0f, -0.208f, 0.57f, 1.0f, - -0.034f, 0.0f, -0.21f, 0.571f, 1.0f, -0.032f, 0.0f, -0.213f, 0.571f, 1.0f, -0.029f, 0.0f, -0.215f, 0.571f, 1.0f, -0.027f, 0.0f, -0.217f, 0.572f, 1.0f, - -0.024f, 0.0f, -0.219f, 0.572f, 1.0f, -0.022f, 0.0f, -0.221f, 0.572f, 1.0f, -0.019f, 0.0f, -0.222f, 0.572f, 1.0f, -0.016f, 0.0f, -0.224f, 0.572f, 1.0f, - -0.013f, 0.0f, -0.225f, 0.572f, 1.0f, -0.01f, 0.0f, -0.226f, 0.573f, 1.0f, -0.007f, 0.0f, -0.227f, 0.573f, 1.0f, -0.004f, 0.0f, -0.227f, 0.573f, 1.0f, - -0.001f, 0.0f, -0.227f, 0.574f, 1.0f, 0.002f, 0.0f, -0.227f, 0.575f, 1.0f, 0.005f, 0.0f, -0.227f, 0.576f, 1.0f, 0.008f, 0.0f, -0.226f, 0.577f, 1.0f, - 0.011f, 0.0f, -0.225f, 0.578f, 1.0f, 0.015f, 0.0f, -0.224f, 0.579f, 1.0f, 0.018f, 0.0f, -0.222f, 0.58f, 1.0f, 0.021f, 0.0f, -0.221f, 0.581f, 1.0f, - 0.024f, 0.0f, -0.219f, 0.582f, 1.0f, 0.027f, 0.0f, -0.217f, 0.582f, 1.0f, 0.03f, 0.0f, -0.215f, 0.583f, 1.0f, 0.033f, 0.0f, -0.213f, 0.583f, 1.0f, - 0.036f, 0.0f, -0.212f, 0.583f, 1.0f, 0.039f, 0.0f, -0.21f, 0.583f, 1.0f, 0.042f, 0.0f, -0.208f, 0.583f, 1.0f, 0.045f, 0.0f, -0.207f, 0.583f, 1.0f, - 0.048f, 0.0f, -0.205f, 0.583f, 1.0f, 0.051f, 0.0f, -0.204f, 0.583f, 1.0f, 0.054f, 0.0f, -0.203f, 0.583f, 1.0f, 0.058f, 0.0f, -0.203f, 0.583f, 1.0f, - 0.061f, 0.0f, -0.202f, 0.583f, 1.0f, 0.064f, 0.0f, -0.202f, 0.574f, 1.0f, 0.067f, 0.0f, -0.202f, 0.565f, 1.0f, 0.07f, 0.0f, -0.203f, 0.556f, 1.0f, - 0.073f, 0.0f, -0.203f, 0.547f, 1.0f, 0.075f, 0.0f, -0.204f, 0.515f, 1.0f, 0.078f, 0.0f, -0.204f, 0.483f, 1.0f, 0.08f, 0.0f, -0.205f, 0.451f, 1.0f, - 0.083f, 0.0f, -0.206f, 0.419f, 1.0f, 0.085f, 0.0f, -0.207f, 0.314f, 1.0f, 0.087f, 0.0f, -0.208f, 0.21f, 1.0f, 0.089f, 0.0f, -0.209f, 0.105f, 1.0f, - 0.091f, 0.0f, -0.21f, 0.0f, 1.0f, -}; - -static const float data28[257 * GP_PRIM_DATABUF_SIZE] = { - -0.637f, 0.0f, -0.172f, 0.0f, 1.0f, -0.641f, 0.0f, -0.172f, 0.0f, 1.0f, -0.643f, 0.0f, -0.172f, 0.0f, 1.0f, -0.646f, 0.0f, -0.172f, 0.0f, 1.0f, - -0.65f, 0.0f, -0.172f, 0.0f, 1.0f, -0.653f, 0.0f, -0.172f, 0.0f, 1.0f, -0.657f, 0.0f, -0.172f, 0.0f, 1.0f, -0.66f, 0.0f, -0.172f, 0.0f, 1.0f, - -0.664f, 0.0f, -0.171f, 0.0f, 1.0f, -0.668f, 0.0f, -0.171f, 0.0f, 1.0f, -0.672f, 0.0f, -0.171f, 0.0f, 1.0f, -0.677f, 0.0f, -0.171f, 0.0f, 1.0f, - -0.681f, 0.0f, -0.171f, 0.0f, 1.0f, -0.685f, 0.0f, -0.171f, 0.0f, 1.0f, -0.69f, 0.0f, -0.17f, 0.0f, 1.0f, -0.694f, 0.0f, -0.17f, 0.0f, 1.0f, - -0.699f, 0.0f, -0.17f, 0.0f, 1.0f, -0.704f, 0.0f, -0.169f, 0.0f, 1.0f, -0.708f, 0.0f, -0.169f, 0.0f, 1.0f, -0.713f, 0.0f, -0.168f, 0.0f, 1.0f, - -0.717f, 0.0f, -0.168f, 0.0f, 1.0f, -0.722f, 0.0f, -0.167f, 0.0f, 1.0f, -0.727f, 0.0f, -0.167f, 0.0f, 1.0f, -0.731f, 0.0f, -0.166f, 0.0f, 1.0f, - -0.735f, 0.0f, -0.166f, 0.0f, 1.0f, -0.74f, 0.0f, -0.165f, 0.0f, 1.0f, -0.744f, 0.0f, -0.164f, 0.0f, 1.0f, -0.749f, 0.0f, -0.163f, 0.0f, 1.0f, - -0.753f, 0.0f, -0.163f, 0.0f, 1.0f, -0.757f, 0.0f, -0.162f, 0.0f, 1.0f, -0.761f, 0.0f, -0.161f, 0.0f, 1.0f, -0.765f, 0.0f, -0.16f, 0.0f, 1.0f, - -0.769f, 0.0f, -0.159f, 0.0f, 1.0f, -0.773f, 0.0f, -0.158f, 0.0f, 1.0f, -0.777f, 0.0f, -0.157f, 0.0f, 1.0f, -0.781f, 0.0f, -0.156f, 0.001f, 1.0f, - -0.785f, 0.0f, -0.155f, 0.001f, 1.0f, -0.789f, 0.0f, -0.154f, 0.002f, 1.0f, -0.793f, 0.0f, -0.153f, 0.003f, 1.0f, -0.797f, 0.0f, -0.152f, 0.004f, 1.0f, - -0.801f, 0.0f, -0.15f, 0.005f, 1.0f, -0.805f, 0.0f, -0.149f, 0.006f, 1.0f, -0.81f, 0.0f, -0.147f, 0.008f, 1.0f, -0.814f, 0.0f, -0.146f, 0.009f, 1.0f, - -0.818f, 0.0f, -0.144f, 0.011f, 1.0f, -0.823f, 0.0f, -0.143f, 0.014f, 1.0f, -0.827f, 0.0f, -0.141f, 0.016f, 1.0f, -0.831f, 0.0f, -0.139f, 0.019f, 1.0f, - -0.836f, 0.0f, -0.138f, 0.022f, 1.0f, -0.84f, 0.0f, -0.136f, 0.024f, 1.0f, -0.844f, 0.0f, -0.135f, 0.026f, 1.0f, -0.849f, 0.0f, -0.133f, 0.027f, 1.0f, - -0.853f, 0.0f, -0.131f, 0.027f, 1.0f, -0.857f, 0.0f, -0.13f, 0.027f, 1.0f, -0.861f, 0.0f, -0.128f, 0.027f, 1.0f, -0.865f, 0.0f, -0.126f, 0.027f, 1.0f, - -0.868f, 0.0f, -0.125f, 0.026f, 1.0f, -0.872f, 0.0f, -0.123f, 0.025f, 1.0f, -0.876f, 0.0f, -0.121f, 0.025f, 1.0f, -0.879f, 0.0f, -0.119f, 0.024f, 1.0f, - -0.883f, 0.0f, -0.118f, 0.023f, 1.0f, -0.886f, 0.0f, -0.116f, 0.022f, 1.0f, -0.89f, 0.0f, -0.114f, 0.022f, 1.0f, -0.894f, 0.0f, -0.112f, 0.021f, 1.0f, - -0.898f, 0.0f, -0.11f, 0.022f, 1.0f, -0.901f, 0.0f, -0.107f, 0.022f, 1.0f, -0.905f, 0.0f, -0.105f, 0.024f, 1.0f, -0.909f, 0.0f, -0.103f, 0.026f, 1.0f, - -0.913f, 0.0f, -0.1f, 0.029f, 1.0f, -0.917f, 0.0f, -0.098f, 0.032f, 1.0f, -0.921f, 0.0f, -0.095f, 0.035f, 1.0f, -0.926f, 0.0f, -0.092f, 0.039f, 1.0f, - -0.93f, 0.0f, -0.09f, 0.043f, 1.0f, -0.934f, 0.0f, -0.087f, 0.047f, 1.0f, -0.938f, 0.0f, -0.084f, 0.051f, 1.0f, -0.942f, 0.0f, -0.081f, 0.055f, 1.0f, - -0.946f, 0.0f, -0.078f, 0.06f, 1.0f, -0.95f, 0.0f, -0.075f, 0.065f, 1.0f, -0.954f, 0.0f, -0.073f, 0.07f, 1.0f, -0.958f, 0.0f, -0.07f, 0.075f, 1.0f, - -0.961f, 0.0f, -0.067f, 0.081f, 1.0f, -0.965f, 0.0f, -0.064f, 0.087f, 1.0f, -0.968f, 0.0f, -0.061f, 0.092f, 1.0f, -0.972f, 0.0f, -0.058f, 0.098f, 1.0f, - -0.975f, 0.0f, -0.055f, 0.103f, 1.0f, -0.979f, 0.0f, -0.053f, 0.108f, 1.0f, -0.982f, 0.0f, -0.05f, 0.112f, 1.0f, -0.985f, 0.0f, -0.047f, 0.116f, 1.0f, - -0.988f, 0.0f, -0.045f, 0.12f, 1.0f, -0.991f, 0.0f, -0.042f, 0.123f, 1.0f, -0.994f, 0.0f, -0.039f, 0.126f, 1.0f, -0.997f, 0.0f, -0.037f, 0.129f, 1.0f, - -1.0f, 0.0f, -0.034f, 0.131f, 1.0f, -1.003f, 0.0f, -0.031f, 0.133f, 1.0f, -1.005f, 0.0f, -0.029f, 0.135f, 1.0f, -1.008f, 0.0f, -0.026f, 0.137f, 1.0f, - -1.01f, 0.0f, -0.024f, 0.139f, 1.0f, -1.013f, 0.0f, -0.021f, 0.141f, 1.0f, -1.016f, 0.0f, -0.018f, 0.143f, 1.0f, -1.018f, 0.0f, -0.016f, 0.144f, 1.0f, - -1.02f, 0.0f, -0.013f, 0.146f, 1.0f, -1.023f, 0.0f, -0.011f, 0.148f, 1.0f, -1.025f, 0.0f, -0.008f, 0.149f, 1.0f, -1.027f, 0.0f, -0.006f, 0.151f, 1.0f, - -1.029f, 0.0f, -0.003f, 0.152f, 1.0f, -1.032f, 0.0f, -0.001f, 0.154f, 1.0f, -1.034f, 0.0f, 0.001f, 0.154f, 1.0f, -1.036f, 0.0f, 0.004f, 0.155f, 1.0f, - -1.038f, 0.0f, 0.006f, 0.156f, 1.0f, -1.041f, 0.0f, 0.008f, 0.156f, 1.0f, -1.043f, 0.0f, 0.01f, 0.157f, 1.0f, -1.045f, 0.0f, 0.013f, 0.157f, 1.0f, - -1.047f, 0.0f, 0.015f, 0.157f, 1.0f, -1.049f, 0.0f, 0.018f, 0.158f, 1.0f, -1.051f, 0.0f, 0.02f, 0.158f, 1.0f, -1.053f, 0.0f, 0.023f, 0.158f, 1.0f, - -1.055f, 0.0f, 0.025f, 0.158f, 1.0f, -1.057f, 0.0f, 0.028f, 0.158f, 1.0f, -1.059f, 0.0f, 0.03f, 0.158f, 1.0f, -1.061f, 0.0f, 0.033f, 0.158f, 1.0f, - -1.063f, 0.0f, 0.036f, 0.158f, 1.0f, -1.065f, 0.0f, 0.038f, 0.158f, 1.0f, -1.067f, 0.0f, 0.041f, 0.158f, 1.0f, -1.069f, 0.0f, 0.044f, 0.157f, 1.0f, - -1.071f, 0.0f, 0.047f, 0.157f, 1.0f, -1.073f, 0.0f, 0.049f, 0.156f, 1.0f, -1.074f, 0.0f, 0.052f, 0.155f, 1.0f, -1.076f, 0.0f, 0.055f, 0.154f, 1.0f, - -1.078f, 0.0f, 0.058f, 0.153f, 1.0f, -1.08f, 0.0f, 0.061f, 0.152f, 1.0f, -1.082f, 0.0f, 0.064f, 0.15f, 1.0f, -1.083f, 0.0f, 0.067f, 0.148f, 1.0f, - -1.085f, 0.0f, 0.07f, 0.146f, 1.0f, -1.087f, 0.0f, 0.073f, 0.144f, 1.0f, -1.089f, 0.0f, 0.076f, 0.142f, 1.0f, -1.091f, 0.0f, 0.08f, 0.14f, 1.0f, - -1.092f, 0.0f, 0.083f, 0.138f, 1.0f, -1.094f, 0.0f, 0.086f, 0.136f, 1.0f, -1.096f, 0.0f, 0.09f, 0.135f, 1.0f, -1.097f, 0.0f, 0.093f, 0.134f, 1.0f, - -1.099f, 0.0f, 0.096f, 0.134f, 1.0f, -1.101f, 0.0f, 0.1f, 0.134f, 1.0f, -1.103f, 0.0f, 0.103f, 0.136f, 1.0f, -1.104f, 0.0f, 0.107f, 0.139f, 1.0f, - -1.106f, 0.0f, 0.111f, 0.144f, 1.0f, -1.107f, 0.0f, 0.114f, 0.15f, 1.0f, -1.109f, 0.0f, 0.118f, 0.158f, 1.0f, -1.11f, 0.0f, 0.122f, 0.167f, 1.0f, - -1.111f, 0.0f, 0.126f, 0.178f, 1.0f, -1.113f, 0.0f, 0.13f, 0.191f, 1.0f, -1.114f, 0.0f, 0.134f, 0.205f, 1.0f, -1.115f, 0.0f, 0.138f, 0.22f, 1.0f, - -1.116f, 0.0f, 0.142f, 0.237f, 1.0f, -1.117f, 0.0f, 0.146f, 0.254f, 1.0f, -1.118f, 0.0f, 0.15f, 0.272f, 1.0f, -1.119f, 0.0f, 0.155f, 0.291f, 1.0f, - -1.119f, 0.0f, 0.159f, 0.31f, 1.0f, -1.12f, 0.0f, 0.163f, 0.329f, 1.0f, -1.121f, 0.0f, 0.167f, 0.348f, 1.0f, -1.121f, 0.0f, 0.172f, 0.367f, 1.0f, - -1.122f, 0.0f, 0.176f, 0.386f, 1.0f, -1.122f, 0.0f, 0.18f, 0.405f, 1.0f, -1.123f, 0.0f, 0.184f, 0.423f, 1.0f, -1.123f, 0.0f, 0.189f, 0.441f, 1.0f, - -1.124f, 0.0f, 0.193f, 0.458f, 1.0f, -1.124f, 0.0f, 0.197f, 0.475f, 1.0f, -1.124f, 0.0f, 0.202f, 0.492f, 1.0f, -1.124f, 0.0f, 0.206f, 0.508f, 1.0f, - -1.125f, 0.0f, 0.21f, 0.524f, 1.0f, -1.125f, 0.0f, 0.214f, 0.539f, 1.0f, -1.125f, 0.0f, 0.218f, 0.554f, 1.0f, -1.124f, 0.0f, 0.223f, 0.568f, 1.0f, - -1.124f, 0.0f, 0.227f, 0.581f, 1.0f, -1.124f, 0.0f, 0.231f, 0.593f, 1.0f, -1.124f, 0.0f, 0.235f, 0.604f, 1.0f, -1.123f, 0.0f, 0.239f, 0.614f, 1.0f, - -1.123f, 0.0f, 0.243f, 0.624f, 1.0f, -1.122f, 0.0f, 0.247f, 0.632f, 1.0f, -1.122f, 0.0f, 0.251f, 0.64f, 1.0f, -1.121f, 0.0f, 0.255f, 0.646f, 1.0f, - -1.121f, 0.0f, 0.258f, 0.653f, 1.0f, -1.12f, 0.0f, 0.262f, 0.658f, 1.0f, -1.119f, 0.0f, 0.266f, 0.663f, 1.0f, -1.118f, 0.0f, 0.269f, 0.668f, 1.0f, - -1.117f, 0.0f, 0.272f, 0.673f, 1.0f, -1.117f, 0.0f, 0.276f, 0.678f, 1.0f, -1.116f, 0.0f, 0.279f, 0.682f, 1.0f, -1.115f, 0.0f, 0.282f, 0.687f, 1.0f, - -1.113f, 0.0f, 0.285f, 0.692f, 1.0f, -1.112f, 0.0f, 0.289f, 0.697f, 1.0f, -1.111f, 0.0f, 0.292f, 0.702f, 1.0f, -1.11f, 0.0f, 0.294f, 0.708f, 1.0f, - -1.109f, 0.0f, 0.297f, 0.713f, 1.0f, -1.108f, 0.0f, 0.3f, 0.718f, 1.0f, -1.106f, 0.0f, 0.303f, 0.724f, 1.0f, -1.105f, 0.0f, 0.306f, 0.73f, 1.0f, - -1.104f, 0.0f, 0.309f, 0.735f, 1.0f, -1.102f, 0.0f, 0.312f, 0.741f, 1.0f, -1.101f, 0.0f, 0.315f, 0.746f, 1.0f, -1.099f, 0.0f, 0.318f, 0.751f, 1.0f, - -1.098f, 0.0f, 0.321f, 0.756f, 1.0f, -1.096f, 0.0f, 0.323f, 0.761f, 1.0f, -1.094f, 0.0f, 0.326f, 0.766f, 1.0f, -1.093f, 0.0f, 0.329f, 0.771f, 1.0f, - -1.091f, 0.0f, 0.332f, 0.776f, 1.0f, -1.089f, 0.0f, 0.335f, 0.781f, 1.0f, -1.087f, 0.0f, 0.338f, 0.786f, 1.0f, -1.085f, 0.0f, 0.341f, 0.791f, 1.0f, - -1.082f, 0.0f, 0.344f, 0.797f, 1.0f, -1.08f, 0.0f, 0.347f, 0.802f, 1.0f, -1.078f, 0.0f, 0.349f, 0.808f, 1.0f, -1.075f, 0.0f, 0.352f, 0.814f, 1.0f, - -1.072f, 0.0f, 0.355f, 0.82f, 1.0f, -1.069f, 0.0f, 0.358f, 0.826f, 1.0f, -1.066f, 0.0f, 0.36f, 0.831f, 1.0f, -1.063f, 0.0f, 0.363f, 0.837f, 1.0f, - -1.059f, 0.0f, 0.366f, 0.842f, 1.0f, -1.055f, 0.0f, 0.368f, 0.847f, 1.0f, -1.051f, 0.0f, 0.371f, 0.851f, 1.0f, -1.047f, 0.0f, 0.373f, 0.856f, 1.0f, - -1.042f, 0.0f, 0.375f, 0.86f, 1.0f, -1.037f, 0.0f, 0.378f, 0.863f, 1.0f, -1.031f, 0.0f, 0.38f, 0.866f, 1.0f, -1.026f, 0.0f, 0.382f, 0.869f, 1.0f, - -1.02f, 0.0f, 0.384f, 0.871f, 1.0f, -1.014f, 0.0f, 0.386f, 0.873f, 1.0f, -1.007f, 0.0f, 0.387f, 0.875f, 1.0f, -1.0f, 0.0f, 0.389f, 0.876f, 1.0f, - -0.994f, 0.0f, 0.39f, 0.877f, 1.0f, -0.987f, 0.0f, 0.392f, 0.878f, 1.0f, -0.979f, 0.0f, 0.393f, 0.879f, 1.0f, -0.972f, 0.0f, 0.394f, 0.88f, 1.0f, - -0.964f, 0.0f, 0.395f, 0.881f, 1.0f, -0.956f, 0.0f, 0.395f, 0.881f, 1.0f, -0.948f, 0.0f, 0.395f, 0.882f, 1.0f, -0.94f, 0.0f, 0.395f, 0.882f, 1.0f, - -0.932f, 0.0f, 0.395f, 0.883f, 1.0f, -0.923f, 0.0f, 0.394f, 0.883f, 1.0f, -0.915f, 0.0f, 0.393f, 0.883f, 1.0f, -0.906f, 0.0f, 0.391f, 0.883f, 1.0f, - -0.896f, 0.0f, 0.389f, 0.881f, 1.0f, -0.887f, 0.0f, 0.386f, 0.876f, 1.0f, -0.877f, 0.0f, 0.382f, 0.866f, 1.0f, -0.867f, 0.0f, 0.378f, 0.85f, 1.0f, - -0.857f, 0.0f, 0.373f, 0.828f, 1.0f, -0.848f, 0.0f, 0.368f, 0.799f, 1.0f, -0.838f, 0.0f, 0.363f, 0.764f, 1.0f, -0.829f, 0.0f, 0.357f, 0.723f, 1.0f, - -0.819f, 0.0f, 0.352f, 0.679f, 1.0f, -0.811f, 0.0f, 0.347f, 0.631f, 1.0f, -0.802f, 0.0f, 0.342f, 0.579f, 1.0f, -0.794f, 0.0f, 0.338f, 0.525f, 1.0f, - -0.786f, 0.0f, 0.333f, 0.469f, 1.0f, -0.779f, 0.0f, 0.329f, 0.412f, 1.0f, -0.772f, 0.0f, 0.325f, 0.351f, 1.0f, -0.766f, 0.0f, 0.321f, 0.3f, 1.0f, - -0.757f, 0.0f, 0.317f, 0.219f, 1.0f, -}; - -static const float data29[205 * GP_PRIM_DATABUF_SIZE] = { - 0.816f, 0.0f, 0.326f, 0.285f, 1.0f, 0.819f, 0.0f, 0.328f, 0.287f, 1.0f, 0.821f, 0.0f, 0.33f, 0.29f, 1.0f, 0.823f, 0.0f, 0.331f, 0.295f, 1.0f, - 0.825f, 0.0f, 0.333f, 0.304f, 1.0f, 0.828f, 0.0f, 0.335f, 0.315f, 1.0f, 0.83f, 0.0f, 0.337f, 0.328f, 1.0f, 0.833f, 0.0f, 0.339f, 0.341f, 1.0f, - 0.836f, 0.0f, 0.341f, 0.355f, 1.0f, 0.839f, 0.0f, 0.343f, 0.368f, 1.0f, 0.842f, 0.0f, 0.345f, 0.38f, 1.0f, 0.845f, 0.0f, 0.347f, 0.392f, 1.0f, - 0.848f, 0.0f, 0.349f, 0.402f, 1.0f, 0.851f, 0.0f, 0.351f, 0.412f, 1.0f, 0.854f, 0.0f, 0.352f, 0.421f, 1.0f, 0.857f, 0.0f, 0.354f, 0.429f, 1.0f, - 0.861f, 0.0f, 0.356f, 0.437f, 1.0f, 0.865f, 0.0f, 0.357f, 0.444f, 1.0f, 0.869f, 0.0f, 0.359f, 0.452f, 1.0f, 0.872f, 0.0f, 0.36f, 0.46f, 1.0f, - 0.876f, 0.0f, 0.361f, 0.47f, 1.0f, 0.881f, 0.0f, 0.363f, 0.481f, 1.0f, 0.885f, 0.0f, 0.364f, 0.491f, 1.0f, 0.889f, 0.0f, 0.365f, 0.501f, 1.0f, - 0.893f, 0.0f, 0.366f, 0.511f, 1.0f, 0.898f, 0.0f, 0.367f, 0.52f, 1.0f, 0.902f, 0.0f, 0.368f, 0.528f, 1.0f, 0.906f, 0.0f, 0.37f, 0.535f, 1.0f, - 0.911f, 0.0f, 0.371f, 0.542f, 1.0f, 0.915f, 0.0f, 0.372f, 0.548f, 1.0f, 0.92f, 0.0f, 0.373f, 0.554f, 1.0f, 0.924f, 0.0f, 0.374f, 0.559f, 1.0f, - 0.929f, 0.0f, 0.375f, 0.564f, 1.0f, 0.933f, 0.0f, 0.376f, 0.567f, 1.0f, 0.938f, 0.0f, 0.377f, 0.57f, 1.0f, 0.943f, 0.0f, 0.378f, 0.572f, 1.0f, - 0.947f, 0.0f, 0.378f, 0.574f, 1.0f, 0.952f, 0.0f, 0.379f, 0.576f, 1.0f, 0.956f, 0.0f, 0.38f, 0.577f, 1.0f, 0.961f, 0.0f, 0.38f, 0.579f, 1.0f, - 0.966f, 0.0f, 0.381f, 0.581f, 1.0f, 0.971f, 0.0f, 0.381f, 0.585f, 1.0f, 0.975f, 0.0f, 0.382f, 0.588f, 1.0f, 0.98f, 0.0f, 0.382f, 0.591f, 1.0f, - 0.985f, 0.0f, 0.382f, 0.595f, 1.0f, 0.989f, 0.0f, 0.382f, 0.597f, 1.0f, 0.994f, 0.0f, 0.382f, 0.6f, 1.0f, 0.999f, 0.0f, 0.382f, 0.603f, 1.0f, - 1.003f, 0.0f, 0.382f, 0.605f, 1.0f, 1.008f, 0.0f, 0.381f, 0.607f, 1.0f, 1.013f, 0.0f, 0.381f, 0.61f, 1.0f, 1.017f, 0.0f, 0.381f, 0.611f, 1.0f, - 1.021f, 0.0f, 0.381f, 0.613f, 1.0f, 1.025f, 0.0f, 0.38f, 0.613f, 1.0f, 1.029f, 0.0f, 0.38f, 0.614f, 1.0f, 1.033f, 0.0f, 0.379f, 0.614f, 1.0f, - 1.037f, 0.0f, 0.379f, 0.614f, 1.0f, 1.041f, 0.0f, 0.378f, 0.614f, 1.0f, 1.044f, 0.0f, 0.378f, 0.614f, 1.0f, 1.048f, 0.0f, 0.377f, 0.614f, 1.0f, - 1.051f, 0.0f, 0.376f, 0.613f, 1.0f, 1.054f, 0.0f, 0.375f, 0.612f, 1.0f, 1.057f, 0.0f, 0.374f, 0.611f, 1.0f, 1.06f, 0.0f, 0.373f, 0.61f, 1.0f, - 1.063f, 0.0f, 0.372f, 0.609f, 1.0f, 1.066f, 0.0f, 0.371f, 0.609f, 1.0f, 1.068f, 0.0f, 0.37f, 0.608f, 1.0f, 1.071f, 0.0f, 0.368f, 0.608f, 1.0f, - 1.073f, 0.0f, 0.367f, 0.608f, 1.0f, 1.076f, 0.0f, 0.365f, 0.608f, 1.0f, 1.078f, 0.0f, 0.364f, 0.607f, 1.0f, 1.081f, 0.0f, 0.362f, 0.607f, 1.0f, - 1.083f, 0.0f, 0.36f, 0.607f, 1.0f, 1.085f, 0.0f, 0.358f, 0.606f, 1.0f, 1.087f, 0.0f, 0.356f, 0.606f, 1.0f, 1.09f, 0.0f, 0.354f, 0.606f, 1.0f, - 1.092f, 0.0f, 0.352f, 0.606f, 1.0f, 1.094f, 0.0f, 0.35f, 0.606f, 1.0f, 1.096f, 0.0f, 0.348f, 0.606f, 1.0f, 1.097f, 0.0f, 0.346f, 0.606f, 1.0f, - 1.099f, 0.0f, 0.344f, 0.606f, 1.0f, 1.101f, 0.0f, 0.341f, 0.606f, 1.0f, 1.103f, 0.0f, 0.339f, 0.606f, 1.0f, 1.104f, 0.0f, 0.337f, 0.607f, 1.0f, - 1.106f, 0.0f, 0.335f, 0.607f, 1.0f, 1.108f, 0.0f, 0.332f, 0.607f, 1.0f, 1.109f, 0.0f, 0.33f, 0.608f, 1.0f, 1.111f, 0.0f, 0.327f, 0.608f, 1.0f, - 1.113f, 0.0f, 0.324f, 0.608f, 1.0f, 1.114f, 0.0f, 0.322f, 0.609f, 1.0f, 1.116f, 0.0f, 0.319f, 0.609f, 1.0f, 1.117f, 0.0f, 0.316f, 0.609f, 1.0f, - 1.118f, 0.0f, 0.313f, 0.609f, 1.0f, 1.12f, 0.0f, 0.31f, 0.609f, 1.0f, 1.121f, 0.0f, 0.307f, 0.609f, 1.0f, 1.123f, 0.0f, 0.304f, 0.608f, 1.0f, - 1.124f, 0.0f, 0.301f, 0.608f, 1.0f, 1.125f, 0.0f, 0.297f, 0.607f, 1.0f, 1.126f, 0.0f, 0.294f, 0.606f, 1.0f, 1.127f, 0.0f, 0.29f, 0.605f, 1.0f, - 1.129f, 0.0f, 0.287f, 0.603f, 1.0f, 1.13f, 0.0f, 0.283f, 0.601f, 1.0f, 1.131f, 0.0f, 0.279f, 0.599f, 1.0f, 1.132f, 0.0f, 0.276f, 0.597f, 1.0f, - 1.132f, 0.0f, 0.272f, 0.595f, 1.0f, 1.133f, 0.0f, 0.268f, 0.593f, 1.0f, 1.134f, 0.0f, 0.264f, 0.592f, 1.0f, 1.135f, 0.0f, 0.26f, 0.591f, 1.0f, - 1.135f, 0.0f, 0.256f, 0.59f, 1.0f, 1.136f, 0.0f, 0.252f, 0.589f, 1.0f, 1.136f, 0.0f, 0.248f, 0.588f, 1.0f, 1.137f, 0.0f, 0.244f, 0.587f, 1.0f, - 1.137f, 0.0f, 0.24f, 0.586f, 1.0f, 1.138f, 0.0f, 0.236f, 0.585f, 1.0f, 1.138f, 0.0f, 0.232f, 0.584f, 1.0f, 1.138f, 0.0f, 0.228f, 0.582f, 1.0f, - 1.138f, 0.0f, 0.224f, 0.581f, 1.0f, 1.138f, 0.0f, 0.22f, 0.579f, 1.0f, 1.138f, 0.0f, 0.216f, 0.578f, 1.0f, 1.138f, 0.0f, 0.212f, 0.576f, 1.0f, - 1.138f, 0.0f, 0.208f, 0.575f, 1.0f, 1.138f, 0.0f, 0.204f, 0.573f, 1.0f, 1.137f, 0.0f, 0.2f, 0.572f, 1.0f, 1.137f, 0.0f, 0.196f, 0.571f, 1.0f, - 1.137f, 0.0f, 0.192f, 0.569f, 1.0f, 1.136f, 0.0f, 0.188f, 0.568f, 1.0f, 1.136f, 0.0f, 0.184f, 0.567f, 1.0f, 1.135f, 0.0f, 0.18f, 0.566f, 1.0f, - 1.134f, 0.0f, 0.176f, 0.565f, 1.0f, 1.133f, 0.0f, 0.172f, 0.563f, 1.0f, 1.132f, 0.0f, 0.168f, 0.561f, 1.0f, 1.131f, 0.0f, 0.164f, 0.559f, 1.0f, - 1.13f, 0.0f, 0.16f, 0.556f, 1.0f, 1.129f, 0.0f, 0.156f, 0.552f, 1.0f, 1.128f, 0.0f, 0.152f, 0.548f, 1.0f, 1.127f, 0.0f, 0.148f, 0.543f, 1.0f, - 1.126f, 0.0f, 0.144f, 0.537f, 1.0f, 1.124f, 0.0f, 0.14f, 0.53f, 1.0f, 1.123f, 0.0f, 0.136f, 0.522f, 1.0f, 1.122f, 0.0f, 0.132f, 0.514f, 1.0f, - 1.12f, 0.0f, 0.128f, 0.505f, 1.0f, 1.118f, 0.0f, 0.123f, 0.495f, 1.0f, 1.117f, 0.0f, 0.119f, 0.486f, 1.0f, 1.115f, 0.0f, 0.115f, 0.476f, 1.0f, - 1.113f, 0.0f, 0.111f, 0.466f, 1.0f, 1.111f, 0.0f, 0.107f, 0.456f, 1.0f, 1.11f, 0.0f, 0.102f, 0.446f, 1.0f, 1.108f, 0.0f, 0.098f, 0.436f, 1.0f, - 1.105f, 0.0f, 0.094f, 0.425f, 1.0f, 1.103f, 0.0f, 0.09f, 0.414f, 1.0f, 1.101f, 0.0f, 0.085f, 0.402f, 1.0f, 1.099f, 0.0f, 0.081f, 0.389f, 1.0f, - 1.096f, 0.0f, 0.077f, 0.377f, 1.0f, 1.094f, 0.0f, 0.072f, 0.364f, 1.0f, 1.091f, 0.0f, 0.068f, 0.351f, 1.0f, 1.088f, 0.0f, 0.063f, 0.338f, 1.0f, - 1.085f, 0.0f, 0.059f, 0.325f, 1.0f, 1.082f, 0.0f, 0.054f, 0.313f, 1.0f, 1.079f, 0.0f, 0.05f, 0.301f, 1.0f, 1.075f, 0.0f, 0.045f, 0.29f, 1.0f, - 1.071f, 0.0f, 0.04f, 0.281f, 1.0f, 1.067f, 0.0f, 0.035f, 0.272f, 1.0f, 1.063f, 0.0f, 0.031f, 0.266f, 1.0f, 1.059f, 0.0f, 0.026f, 0.261f, 1.0f, - 1.054f, 0.0f, 0.021f, 0.258f, 1.0f, 1.049f, 0.0f, 0.016f, 0.257f, 1.0f, 1.043f, 0.0f, 0.011f, 0.259f, 1.0f, 1.037f, 0.0f, 0.006f, 0.264f, 1.0f, - 1.031f, 0.0f, 0.0f, 0.272f, 1.0f, 1.025f, 0.0f, -0.005f, 0.283f, 1.0f, 1.018f, 0.0f, -0.01f, 0.296f, 1.0f, 1.011f, 0.0f, -0.015f, 0.313f, 1.0f, - 1.003f, 0.0f, -0.021f, 0.33f, 1.0f, 0.996f, 0.0f, -0.026f, 0.348f, 1.0f, 0.988f, 0.0f, -0.032f, 0.365f, 1.0f, 0.979f, 0.0f, -0.038f, 0.379f, 1.0f, - 0.971f, 0.0f, -0.044f, 0.389f, 1.0f, 0.962f, 0.0f, -0.05f, 0.394f, 1.0f, 0.953f, 0.0f, -0.057f, 0.392f, 1.0f, 0.944f, 0.0f, -0.063f, 0.384f, 1.0f, - 0.934f, 0.0f, -0.069f, 0.368f, 1.0f, 0.924f, 0.0f, -0.075f, 0.347f, 1.0f, 0.914f, 0.0f, -0.081f, 0.32f, 1.0f, 0.903f, 0.0f, -0.087f, 0.289f, 1.0f, - 0.893f, 0.0f, -0.092f, 0.256f, 1.0f, 0.882f, 0.0f, -0.098f, 0.223f, 1.0f, 0.871f, 0.0f, -0.103f, 0.191f, 1.0f, 0.86f, 0.0f, -0.108f, 0.162f, 1.0f, - 0.849f, 0.0f, -0.112f, 0.136f, 1.0f, 0.838f, 0.0f, -0.117f, 0.112f, 1.0f, 0.827f, 0.0f, -0.121f, 0.091f, 1.0f, 0.815f, 0.0f, -0.125f, 0.074f, 1.0f, - 0.804f, 0.0f, -0.128f, 0.059f, 1.0f, 0.793f, 0.0f, -0.132f, 0.046f, 1.0f, 0.782f, 0.0f, -0.135f, 0.036f, 1.0f, 0.771f, 0.0f, -0.138f, 0.028f, 1.0f, - 0.76f, 0.0f, -0.141f, 0.021f, 1.0f, 0.749f, 0.0f, -0.144f, 0.016f, 1.0f, 0.738f, 0.0f, -0.147f, 0.012f, 1.0f, 0.728f, 0.0f, -0.149f, 0.009f, 1.0f, - 0.718f, 0.0f, -0.152f, 0.006f, 1.0f, 0.708f, 0.0f, -0.154f, 0.004f, 1.0f, 0.699f, 0.0f, -0.157f, 0.003f, 1.0f, 0.691f, 0.0f, -0.159f, 0.002f, 1.0f, - 0.68f, 0.0f, -0.162f, 0.0f, 1.0f, -}; - -static const float data30[33 * GP_PRIM_DATABUF_SIZE] = { - -1.02f, 0.0f, 0.179f, 0.21f, 1.0f, -1.014f, 0.0f, 0.182f, 0.301f, 1.0f, -1.01f, 0.0f, 0.184f, 0.36f, 1.0f, -1.004f, 0.0f, 0.186f, 0.426f, 1.0f, - -0.999f, 0.0f, 0.188f, 0.479f, 1.0f, -0.993f, 0.0f, 0.19f, 0.519f, 1.0f, -0.987f, 0.0f, 0.191f, 0.545f, 1.0f, -0.981f, 0.0f, 0.192f, 0.562f, 1.0f, - -0.975f, 0.0f, 0.193f, 0.575f, 1.0f, -0.968f, 0.0f, 0.193f, 0.582f, 1.0f, -0.961f, 0.0f, 0.193f, 0.587f, 1.0f, -0.954f, 0.0f, 0.191f, 0.592f, 1.0f, - -0.946f, 0.0f, 0.19f, 0.597f, 1.0f, -0.938f, 0.0f, 0.187f, 0.6f, 1.0f, -0.93f, 0.0f, 0.183f, 0.603f, 1.0f, -0.922f, 0.0f, 0.178f, 0.606f, 1.0f, - -0.913f, 0.0f, 0.173f, 0.608f, 1.0f, -0.905f, 0.0f, 0.168f, 0.61f, 1.0f, -0.898f, 0.0f, 0.162f, 0.612f, 1.0f, -0.89f, 0.0f, 0.156f, 0.613f, 1.0f, - -0.883f, 0.0f, 0.15f, 0.612f, 1.0f, -0.877f, 0.0f, 0.143f, 0.608f, 1.0f, -0.871f, 0.0f, 0.137f, 0.602f, 1.0f, -0.865f, 0.0f, 0.131f, 0.593f, 1.0f, - -0.86f, 0.0f, 0.125f, 0.577f, 1.0f, -0.855f, 0.0f, 0.12f, 0.554f, 1.0f, -0.85f, 0.0f, 0.114f, 0.524f, 1.0f, -0.846f, 0.0f, 0.109f, 0.487f, 1.0f, - -0.842f, 0.0f, 0.104f, 0.443f, 1.0f, -0.838f, 0.0f, 0.1f, 0.394f, 1.0f, -0.835f, 0.0f, 0.095f, 0.339f, 1.0f, -0.832f, 0.0f, 0.091f, 0.295f, 1.0f, - -0.828f, 0.0f, 0.086f, 0.227f, 1.0f, -}; - -static const float data31[37 * GP_PRIM_DATABUF_SIZE] = { - 0.777f, 0.0f, 0.096f, 0.278f, 1.0f, 0.779f, 0.0f, 0.1f, 0.307f, 1.0f, 0.781f, 0.0f, 0.103f, 0.326f, 1.0f, 0.782f, 0.0f, 0.106f, 0.349f, 1.0f, - 0.784f, 0.0f, 0.109f, 0.372f, 1.0f, 0.786f, 0.0f, 0.112f, 0.395f, 1.0f, 0.789f, 0.0f, 0.116f, 0.418f, 1.0f, 0.791f, 0.0f, 0.119f, 0.44f, 1.0f, - 0.794f, 0.0f, 0.123f, 0.462f, 1.0f, 0.798f, 0.0f, 0.127f, 0.484f, 1.0f, 0.801f, 0.0f, 0.13f, 0.504f, 1.0f, 0.806f, 0.0f, 0.134f, 0.522f, 1.0f, - 0.81f, 0.0f, 0.138f, 0.54f, 1.0f, 0.815f, 0.0f, 0.142f, 0.556f, 1.0f, 0.82f, 0.0f, 0.146f, 0.571f, 1.0f, 0.826f, 0.0f, 0.15f, 0.584f, 1.0f, - 0.832f, 0.0f, 0.154f, 0.596f, 1.0f, 0.839f, 0.0f, 0.159f, 0.607f, 1.0f, 0.846f, 0.0f, 0.163f, 0.616f, 1.0f, 0.854f, 0.0f, 0.166f, 0.623f, 1.0f, - 0.862f, 0.0f, 0.17f, 0.628f, 1.0f, 0.87f, 0.0f, 0.174f, 0.632f, 1.0f, 0.878f, 0.0f, 0.177f, 0.632f, 1.0f, 0.887f, 0.0f, 0.18f, 0.63f, 1.0f, - 0.895f, 0.0f, 0.183f, 0.623f, 1.0f, 0.903f, 0.0f, 0.186f, 0.611f, 1.0f, 0.912f, 0.0f, 0.188f, 0.592f, 1.0f, 0.92f, 0.0f, 0.19f, 0.567f, 1.0f, - 0.928f, 0.0f, 0.192f, 0.533f, 1.0f, 0.935f, 0.0f, 0.193f, 0.492f, 1.0f, 0.943f, 0.0f, 0.194f, 0.442f, 1.0f, 0.95f, 0.0f, 0.196f, 0.385f, 1.0f, - 0.957f, 0.0f, 0.197f, 0.321f, 1.0f, 0.963f, 0.0f, 0.197f, 0.253f, 1.0f, 0.97f, 0.0f, 0.198f, 0.175f, 1.0f, 0.975f, 0.0f, 0.199f, 0.107f, 1.0f, - 0.983f, 0.0f, 0.199f, 0.0f, 1.0f, -}; - -static const float data32[201 * GP_PRIM_DATABUF_SIZE] = { - -0.437f, 0.0f, 0.508f, 0.0f, 1.0f, -0.435f, 0.0f, 0.51f, 0.0f, 1.0f, -0.434f, 0.0f, 0.511f, 0.0f, 1.0f, -0.432f, 0.0f, 0.512f, 0.0f, 1.0f, - -0.43f, 0.0f, 0.513f, 0.0f, 1.0f, -0.428f, 0.0f, 0.514f, 0.001f, 1.0f, -0.426f, 0.0f, 0.515f, 0.002f, 1.0f, -0.424f, 0.0f, 0.517f, 0.004f, 1.0f, - -0.422f, 0.0f, 0.518f, 0.007f, 1.0f, -0.42f, 0.0f, 0.519f, 0.012f, 1.0f, -0.418f, 0.0f, 0.521f, 0.018f, 1.0f, -0.416f, 0.0f, 0.522f, 0.025f, 1.0f, - -0.414f, 0.0f, 0.523f, 0.034f, 1.0f, -0.411f, 0.0f, 0.525f, 0.043f, 1.0f, -0.409f, 0.0f, 0.526f, 0.053f, 1.0f, -0.407f, 0.0f, 0.528f, 0.063f, 1.0f, - -0.404f, 0.0f, 0.529f, 0.073f, 1.0f, -0.402f, 0.0f, 0.531f, 0.083f, 1.0f, -0.399f, 0.0f, 0.532f, 0.092f, 1.0f, -0.396f, 0.0f, 0.534f, 0.101f, 1.0f, - -0.394f, 0.0f, 0.535f, 0.11f, 1.0f, -0.391f, 0.0f, 0.536f, 0.118f, 1.0f, -0.388f, 0.0f, 0.538f, 0.126f, 1.0f, -0.386f, 0.0f, 0.539f, 0.133f, 1.0f, - -0.383f, 0.0f, 0.54f, 0.14f, 1.0f, -0.38f, 0.0f, 0.542f, 0.147f, 1.0f, -0.377f, 0.0f, 0.543f, 0.153f, 1.0f, -0.374f, 0.0f, 0.544f, 0.159f, 1.0f, - -0.37f, 0.0f, 0.545f, 0.166f, 1.0f, -0.367f, 0.0f, 0.546f, 0.172f, 1.0f, -0.364f, 0.0f, 0.547f, 0.179f, 1.0f, -0.361f, 0.0f, 0.548f, 0.186f, 1.0f, - -0.357f, 0.0f, 0.549f, 0.193f, 1.0f, -0.354f, 0.0f, 0.55f, 0.202f, 1.0f, -0.35f, 0.0f, 0.551f, 0.211f, 1.0f, -0.347f, 0.0f, 0.552f, 0.221f, 1.0f, - -0.343f, 0.0f, 0.552f, 0.233f, 1.0f, -0.339f, 0.0f, 0.553f, 0.245f, 1.0f, -0.336f, 0.0f, 0.553f, 0.258f, 1.0f, -0.332f, 0.0f, 0.554f, 0.272f, 1.0f, - -0.328f, 0.0f, 0.554f, 0.286f, 1.0f, -0.324f, 0.0f, 0.554f, 0.301f, 1.0f, -0.321f, 0.0f, 0.555f, 0.317f, 1.0f, -0.317f, 0.0f, 0.555f, 0.332f, 1.0f, - -0.313f, 0.0f, 0.555f, 0.348f, 1.0f, -0.309f, 0.0f, 0.555f, 0.364f, 1.0f, -0.305f, 0.0f, 0.555f, 0.38f, 1.0f, -0.302f, 0.0f, 0.555f, 0.396f, 1.0f, - -0.298f, 0.0f, 0.555f, 0.411f, 1.0f, -0.294f, 0.0f, 0.555f, 0.426f, 1.0f, -0.29f, 0.0f, 0.554f, 0.44f, 1.0f, -0.287f, 0.0f, 0.554f, 0.454f, 1.0f, - -0.283f, 0.0f, 0.554f, 0.467f, 1.0f, -0.28f, 0.0f, 0.553f, 0.479f, 1.0f, -0.276f, 0.0f, 0.553f, 0.49f, 1.0f, -0.273f, 0.0f, 0.552f, 0.5f, 1.0f, - -0.269f, 0.0f, 0.552f, 0.51f, 1.0f, -0.266f, 0.0f, 0.551f, 0.519f, 1.0f, -0.263f, 0.0f, 0.55f, 0.527f, 1.0f, -0.26f, 0.0f, 0.549f, 0.534f, 1.0f, - -0.256f, 0.0f, 0.549f, 0.541f, 1.0f, -0.253f, 0.0f, 0.548f, 0.547f, 1.0f, -0.25f, 0.0f, 0.547f, 0.552f, 1.0f, -0.247f, 0.0f, 0.546f, 0.557f, 1.0f, - -0.244f, 0.0f, 0.545f, 0.561f, 1.0f, -0.241f, 0.0f, 0.544f, 0.564f, 1.0f, -0.238f, 0.0f, 0.543f, 0.567f, 1.0f, -0.235f, 0.0f, 0.542f, 0.57f, 1.0f, - -0.233f, 0.0f, 0.541f, 0.572f, 1.0f, -0.23f, 0.0f, 0.54f, 0.574f, 1.0f, -0.227f, 0.0f, 0.539f, 0.575f, 1.0f, -0.224f, 0.0f, 0.538f, 0.576f, 1.0f, - -0.221f, 0.0f, 0.537f, 0.577f, 1.0f, -0.219f, 0.0f, 0.535f, 0.578f, 1.0f, -0.216f, 0.0f, 0.534f, 0.578f, 1.0f, -0.213f, 0.0f, 0.533f, 0.579f, 1.0f, - -0.211f, 0.0f, 0.532f, 0.579f, 1.0f, -0.208f, 0.0f, 0.53f, 0.579f, 1.0f, -0.206f, 0.0f, 0.529f, 0.578f, 1.0f, -0.203f, 0.0f, 0.528f, 0.578f, 1.0f, - -0.2f, 0.0f, 0.526f, 0.577f, 1.0f, -0.198f, 0.0f, 0.525f, 0.576f, 1.0f, -0.195f, 0.0f, 0.523f, 0.575f, 1.0f, -0.193f, 0.0f, 0.522f, 0.574f, 1.0f, - -0.19f, 0.0f, 0.52f, 0.572f, 1.0f, -0.188f, 0.0f, 0.518f, 0.571f, 1.0f, -0.185f, 0.0f, 0.517f, 0.569f, 1.0f, -0.182f, 0.0f, 0.515f, 0.568f, 1.0f, - -0.18f, 0.0f, 0.513f, 0.567f, 1.0f, -0.177f, 0.0f, 0.512f, 0.565f, 1.0f, -0.174f, 0.0f, 0.51f, 0.564f, 1.0f, -0.172f, 0.0f, 0.508f, 0.562f, 1.0f, - -0.169f, 0.0f, 0.506f, 0.56f, 1.0f, -0.166f, 0.0f, 0.504f, 0.559f, 1.0f, -0.164f, 0.0f, 0.502f, 0.556f, 1.0f, -0.161f, 0.0f, 0.501f, 0.554f, 1.0f, - -0.158f, 0.0f, 0.499f, 0.552f, 1.0f, -0.155f, 0.0f, 0.497f, 0.55f, 1.0f, -0.153f, 0.0f, 0.495f, 0.547f, 1.0f, -0.15f, 0.0f, 0.493f, 0.545f, 1.0f, - -0.147f, 0.0f, 0.491f, 0.543f, 1.0f, -0.144f, 0.0f, 0.489f, 0.54f, 1.0f, -0.142f, 0.0f, 0.487f, 0.538f, 1.0f, -0.139f, 0.0f, 0.485f, 0.536f, 1.0f, - -0.136f, 0.0f, 0.483f, 0.533f, 1.0f, -0.133f, 0.0f, 0.481f, 0.53f, 1.0f, -0.13f, 0.0f, 0.479f, 0.527f, 1.0f, -0.127f, 0.0f, 0.477f, 0.524f, 1.0f, - -0.124f, 0.0f, 0.475f, 0.521f, 1.0f, -0.121f, 0.0f, 0.473f, 0.519f, 1.0f, -0.118f, 0.0f, 0.471f, 0.516f, 1.0f, -0.115f, 0.0f, 0.469f, 0.514f, 1.0f, - -0.112f, 0.0f, 0.467f, 0.511f, 1.0f, -0.109f, 0.0f, 0.465f, 0.509f, 1.0f, -0.106f, 0.0f, 0.463f, 0.506f, 1.0f, -0.103f, 0.0f, 0.461f, 0.503f, 1.0f, - -0.099f, 0.0f, 0.458f, 0.501f, 1.0f, -0.096f, 0.0f, 0.456f, 0.5f, 1.0f, -0.093f, 0.0f, 0.454f, 0.498f, 1.0f, -0.09f, 0.0f, 0.452f, 0.497f, 1.0f, - -0.086f, 0.0f, 0.45f, 0.496f, 1.0f, -0.083f, 0.0f, 0.448f, 0.496f, 1.0f, -0.079f, 0.0f, 0.446f, 0.495f, 1.0f, -0.076f, 0.0f, 0.444f, 0.495f, 1.0f, - -0.072f, 0.0f, 0.442f, 0.494f, 1.0f, -0.069f, 0.0f, 0.44f, 0.494f, 1.0f, -0.065f, 0.0f, 0.438f, 0.494f, 1.0f, -0.062f, 0.0f, 0.436f, 0.494f, 1.0f, - -0.058f, 0.0f, 0.435f, 0.494f, 1.0f, -0.054f, 0.0f, 0.433f, 0.494f, 1.0f, -0.05f, 0.0f, 0.431f, 0.494f, 1.0f, -0.046f, 0.0f, 0.43f, 0.494f, 1.0f, - -0.042f, 0.0f, 0.428f, 0.494f, 1.0f, -0.038f, 0.0f, 0.427f, 0.494f, 1.0f, -0.033f, 0.0f, 0.426f, 0.494f, 1.0f, -0.029f, 0.0f, 0.425f, 0.494f, 1.0f, - -0.025f, 0.0f, 0.424f, 0.494f, 1.0f, -0.02f, 0.0f, 0.423f, 0.494f, 1.0f, -0.015f, 0.0f, 0.422f, 0.494f, 1.0f, -0.011f, 0.0f, 0.422f, 0.494f, 1.0f, - -0.006f, 0.0f, 0.421f, 0.494f, 1.0f, -0.001f, 0.0f, 0.421f, 0.495f, 1.0f, 0.004f, 0.0f, 0.421f, 0.495f, 1.0f, 0.009f, 0.0f, 0.421f, 0.495f, 1.0f, - 0.014f, 0.0f, 0.422f, 0.495f, 1.0f, 0.019f, 0.0f, 0.422f, 0.495f, 1.0f, 0.024f, 0.0f, 0.423f, 0.495f, 1.0f, 0.029f, 0.0f, 0.424f, 0.495f, 1.0f, - 0.034f, 0.0f, 0.426f, 0.495f, 1.0f, 0.039f, 0.0f, 0.427f, 0.495f, 1.0f, 0.044f, 0.0f, 0.429f, 0.496f, 1.0f, 0.049f, 0.0f, 0.43f, 0.497f, 1.0f, - 0.054f, 0.0f, 0.432f, 0.498f, 1.0f, 0.059f, 0.0f, 0.435f, 0.5f, 1.0f, 0.064f, 0.0f, 0.438f, 0.502f, 1.0f, 0.069f, 0.0f, 0.44f, 0.506f, 1.0f, - 0.074f, 0.0f, 0.443f, 0.51f, 1.0f, 0.08f, 0.0f, 0.446f, 0.516f, 1.0f, 0.085f, 0.0f, 0.45f, 0.522f, 1.0f, 0.09f, 0.0f, 0.453f, 0.528f, 1.0f, - 0.095f, 0.0f, 0.456f, 0.533f, 1.0f, 0.101f, 0.0f, 0.46f, 0.537f, 1.0f, 0.107f, 0.0f, 0.463f, 0.539f, 1.0f, 0.112f, 0.0f, 0.467f, 0.542f, 1.0f, - 0.118f, 0.0f, 0.471f, 0.543f, 1.0f, 0.124f, 0.0f, 0.475f, 0.545f, 1.0f, 0.13f, 0.0f, 0.478f, 0.546f, 1.0f, 0.137f, 0.0f, 0.482f, 0.546f, 1.0f, - 0.143f, 0.0f, 0.486f, 0.547f, 1.0f, 0.149f, 0.0f, 0.49f, 0.546f, 1.0f, 0.156f, 0.0f, 0.493f, 0.544f, 1.0f, 0.163f, 0.0f, 0.497f, 0.54f, 1.0f, - 0.17f, 0.0f, 0.5f, 0.533f, 1.0f, 0.176f, 0.0f, 0.503f, 0.525f, 1.0f, 0.183f, 0.0f, 0.507f, 0.515f, 1.0f, 0.191f, 0.0f, 0.509f, 0.503f, 1.0f, - 0.198f, 0.0f, 0.512f, 0.491f, 1.0f, 0.205f, 0.0f, 0.515f, 0.477f, 1.0f, 0.214f, 0.0f, 0.518f, 0.462f, 1.0f, 0.222f, 0.0f, 0.521f, 0.445f, 1.0f, - 0.23f, 0.0f, 0.524f, 0.427f, 1.0f, 0.238f, 0.0f, 0.527f, 0.409f, 1.0f, 0.245f, 0.0f, 0.529f, 0.388f, 1.0f, 0.254f, 0.0f, 0.531f, 0.366f, 1.0f, - 0.262f, 0.0f, 0.532f, 0.343f, 1.0f, 0.272f, 0.0f, 0.533f, 0.317f, 1.0f, 0.282f, 0.0f, 0.534f, 0.289f, 1.0f, 0.292f, 0.0f, 0.535f, 0.258f, 1.0f, - 0.301f, 0.0f, 0.535f, 0.224f, 1.0f, 0.311f, 0.0f, 0.536f, 0.189f, 1.0f, 0.32f, 0.0f, 0.536f, 0.153f, 1.0f, 0.328f, 0.0f, 0.536f, 0.117f, 1.0f, - 0.338f, 0.0f, 0.537f, 0.084f, 1.0f, 0.346f, 0.0f, 0.537f, 0.057f, 1.0f, 0.353f, 0.0f, 0.536f, 0.037f, 1.0f, 0.361f, 0.0f, 0.536f, 0.022f, 1.0f, - 0.37f, 0.0f, 0.537f, 0.013f, 1.0f, 0.376f, 0.0f, 0.536f, 0.007f, 1.0f, 0.384f, 0.0f, 0.536f, 0.004f, 1.0f, 0.39f, 0.0f, 0.536f, 0.002f, 1.0f, - 0.399f, 0.0f, 0.535f, 0.0f, 1.0f, -}; - -static const float data33[69 * GP_PRIM_DATABUF_SIZE] = { - -0.308f, 0.0f, 0.151f, 0.363f, 1.0f, -0.31f, 0.0f, 0.15f, 0.377f, 1.0f, -0.311f, 0.0f, 0.149f, 0.386f, 1.0f, -0.313f, 0.0f, 0.149f, 0.397f, 1.0f, - -0.314f, 0.0f, 0.149f, 0.408f, 1.0f, -0.316f, 0.0f, 0.148f, 0.42f, 1.0f, -0.318f, 0.0f, 0.148f, 0.431f, 1.0f, -0.32f, 0.0f, 0.148f, 0.443f, 1.0f, - -0.322f, 0.0f, 0.148f, 0.455f, 1.0f, -0.325f, 0.0f, 0.149f, 0.467f, 1.0f, -0.327f, 0.0f, 0.149f, 0.478f, 1.0f, -0.33f, 0.0f, 0.151f, 0.49f, 1.0f, - -0.333f, 0.0f, 0.152f, 0.501f, 1.0f, -0.336f, 0.0f, 0.154f, 0.512f, 1.0f, -0.34f, 0.0f, 0.157f, 0.522f, 1.0f, -0.343f, 0.0f, 0.161f, 0.533f, 1.0f, - -0.346f, 0.0f, 0.166f, 0.543f, 1.0f, -0.349f, 0.0f, 0.171f, 0.553f, 1.0f, -0.351f, 0.0f, 0.178f, 0.563f, 1.0f, -0.352f, 0.0f, 0.186f, 0.572f, 1.0f, - -0.353f, 0.0f, 0.193f, 0.582f, 1.0f, -0.352f, 0.0f, 0.2f, 0.591f, 1.0f, -0.351f, 0.0f, 0.206f, 0.6f, 1.0f, -0.349f, 0.0f, 0.211f, 0.608f, 1.0f, - -0.347f, 0.0f, 0.215f, 0.616f, 1.0f, -0.345f, 0.0f, 0.219f, 0.623f, 1.0f, -0.343f, 0.0f, 0.222f, 0.63f, 1.0f, -0.341f, 0.0f, 0.224f, 0.637f, 1.0f, - -0.339f, 0.0f, 0.226f, 0.642f, 1.0f, -0.337f, 0.0f, 0.228f, 0.647f, 1.0f, -0.335f, 0.0f, 0.229f, 0.652f, 1.0f, -0.333f, 0.0f, 0.23f, 0.656f, 1.0f, - -0.332f, 0.0f, 0.231f, 0.66f, 1.0f, -0.33f, 0.0f, 0.232f, 0.663f, 1.0f, -0.328f, 0.0f, 0.232f, 0.666f, 1.0f, -0.327f, 0.0f, 0.233f, 0.669f, 1.0f, - -0.325f, 0.0f, 0.233f, 0.672f, 1.0f, -0.324f, 0.0f, 0.234f, 0.676f, 1.0f, -0.322f, 0.0f, 0.234f, 0.679f, 1.0f, -0.321f, 0.0f, 0.234f, 0.682f, 1.0f, - -0.319f, 0.0f, 0.234f, 0.686f, 1.0f, -0.317f, 0.0f, 0.234f, 0.689f, 1.0f, -0.316f, 0.0f, 0.234f, 0.693f, 1.0f, -0.314f, 0.0f, 0.234f, 0.697f, 1.0f, - -0.312f, 0.0f, 0.233f, 0.701f, 1.0f, -0.31f, 0.0f, 0.232f, 0.705f, 1.0f, -0.307f, 0.0f, 0.231f, 0.709f, 1.0f, -0.305f, 0.0f, 0.23f, 0.713f, 1.0f, - -0.302f, 0.0f, 0.228f, 0.716f, 1.0f, -0.299f, 0.0f, 0.225f, 0.719f, 1.0f, -0.295f, 0.0f, 0.222f, 0.722f, 1.0f, -0.292f, 0.0f, 0.217f, 0.725f, 1.0f, - -0.289f, 0.0f, 0.21f, 0.727f, 1.0f, -0.287f, 0.0f, 0.202f, 0.728f, 1.0f, -0.285f, 0.0f, 0.194f, 0.729f, 1.0f, -0.286f, 0.0f, 0.185f, 0.729f, 1.0f, - -0.287f, 0.0f, 0.178f, 0.728f, 1.0f, -0.289f, 0.0f, 0.171f, 0.726f, 1.0f, -0.292f, 0.0f, 0.166f, 0.723f, 1.0f, -0.294f, 0.0f, 0.162f, 0.717f, 1.0f, - -0.297f, 0.0f, 0.159f, 0.71f, 1.0f, -0.299f, 0.0f, 0.157f, 0.701f, 1.0f, -0.301f, 0.0f, 0.155f, 0.689f, 1.0f, -0.303f, 0.0f, 0.154f, 0.675f, 1.0f, - -0.305f, 0.0f, 0.152f, 0.659f, 1.0f, -0.306f, 0.0f, 0.151f, 0.641f, 1.0f, -0.308f, 0.0f, 0.151f, 0.62f, 1.0f, -0.309f, 0.0f, 0.15f, 0.602f, 1.0f, - -0.31f, 0.0f, 0.15f, 0.572f, 1.0f, -}; - -static const float data34[57 * GP_PRIM_DATABUF_SIZE] = { - 0.302f, 0.0f, 0.166f, 0.25f, 1.0f, 0.301f, 0.0f, 0.167f, 0.319f, 1.0f, 0.3f, 0.0f, 0.167f, 0.363f, 1.0f, 0.299f, 0.0f, 0.167f, 0.414f, 1.0f, - 0.298f, 0.0f, 0.167f, 0.459f, 1.0f, 0.296f, 0.0f, 0.168f, 0.501f, 1.0f, 0.295f, 0.0f, 0.168f, 0.539f, 1.0f, 0.293f, 0.0f, 0.169f, 0.573f, 1.0f, - 0.291f, 0.0f, 0.17f, 0.603f, 1.0f, 0.289f, 0.0f, 0.171f, 0.629f, 1.0f, 0.286f, 0.0f, 0.173f, 0.652f, 1.0f, 0.283f, 0.0f, 0.176f, 0.672f, 1.0f, - 0.279f, 0.0f, 0.18f, 0.69f, 1.0f, 0.276f, 0.0f, 0.186f, 0.705f, 1.0f, 0.272f, 0.0f, 0.195f, 0.719f, 1.0f, 0.271f, 0.0f, 0.205f, 0.73f, 1.0f, - 0.272f, 0.0f, 0.217f, 0.741f, 1.0f, 0.275f, 0.0f, 0.227f, 0.75f, 1.0f, 0.279f, 0.0f, 0.234f, 0.758f, 1.0f, 0.283f, 0.0f, 0.24f, 0.765f, 1.0f, - 0.287f, 0.0f, 0.243f, 0.771f, 1.0f, 0.291f, 0.0f, 0.245f, 0.776f, 1.0f, 0.294f, 0.0f, 0.247f, 0.781f, 1.0f, 0.296f, 0.0f, 0.248f, 0.785f, 1.0f, - 0.299f, 0.0f, 0.249f, 0.789f, 1.0f, 0.301f, 0.0f, 0.249f, 0.793f, 1.0f, 0.303f, 0.0f, 0.249f, 0.796f, 1.0f, 0.305f, 0.0f, 0.25f, 0.799f, 1.0f, - 0.306f, 0.0f, 0.25f, 0.802f, 1.0f, 0.308f, 0.0f, 0.249f, 0.805f, 1.0f, 0.31f, 0.0f, 0.249f, 0.808f, 1.0f, 0.311f, 0.0f, 0.249f, 0.81f, 1.0f, - 0.313f, 0.0f, 0.249f, 0.813f, 1.0f, 0.314f, 0.0f, 0.248f, 0.816f, 1.0f, 0.316f, 0.0f, 0.248f, 0.819f, 1.0f, 0.317f, 0.0f, 0.247f, 0.822f, 1.0f, - 0.319f, 0.0f, 0.246f, 0.825f, 1.0f, 0.321f, 0.0f, 0.245f, 0.828f, 1.0f, 0.323f, 0.0f, 0.244f, 0.832f, 1.0f, 0.325f, 0.0f, 0.243f, 0.835f, 1.0f, - 0.328f, 0.0f, 0.24f, 0.838f, 1.0f, 0.33f, 0.0f, 0.237f, 0.841f, 1.0f, 0.333f, 0.0f, 0.233f, 0.844f, 1.0f, 0.337f, 0.0f, 0.228f, 0.847f, 1.0f, - 0.339f, 0.0f, 0.219f, 0.849f, 1.0f, 0.341f, 0.0f, 0.209f, 0.852f, 1.0f, 0.34f, 0.0f, 0.197f, 0.854f, 1.0f, 0.336f, 0.0f, 0.186f, 0.856f, 1.0f, - 0.331f, 0.0f, 0.178f, 0.858f, 1.0f, 0.325f, 0.0f, 0.173f, 0.86f, 1.0f, 0.321f, 0.0f, 0.17f, 0.861f, 1.0f, 0.318f, 0.0f, 0.169f, 0.862f, 1.0f, - 0.315f, 0.0f, 0.168f, 0.864f, 1.0f, 0.312f, 0.0f, 0.167f, 0.865f, 1.0f, 0.311f, 0.0f, 0.167f, 0.866f, 1.0f, 0.309f, 0.0f, 0.166f, 0.867f, 1.0f, - 0.308f, 0.0f, 0.166f, 0.868f, 1.0f, -}; - -static const float data35[261 * GP_PRIM_DATABUF_SIZE] = { - -0.685f, 0.0f, 0.408f, 0.0f, 1.0f, -0.683f, 0.0f, 0.41f, 0.023f, 1.0f, -0.681f, 0.0f, 0.412f, 0.051f, 1.0f, -0.679f, 0.0f, 0.414f, 0.092f, 1.0f, - -0.678f, 0.0f, 0.415f, 0.125f, 1.0f, -0.676f, 0.0f, 0.417f, 0.149f, 1.0f, -0.674f, 0.0f, 0.419f, 0.167f, 1.0f, -0.672f, 0.0f, 0.42f, 0.183f, 1.0f, - -0.67f, 0.0f, 0.422f, 0.199f, 1.0f, -0.668f, 0.0f, 0.424f, 0.218f, 1.0f, -0.666f, 0.0f, 0.426f, 0.237f, 1.0f, -0.664f, 0.0f, 0.429f, 0.257f, 1.0f, - -0.661f, 0.0f, 0.431f, 0.275f, 1.0f, -0.659f, 0.0f, 0.434f, 0.291f, 1.0f, -0.657f, 0.0f, 0.436f, 0.305f, 1.0f, -0.655f, 0.0f, 0.439f, 0.315f, 1.0f, - -0.653f, 0.0f, 0.442f, 0.322f, 1.0f, -0.65f, 0.0f, 0.444f, 0.327f, 1.0f, -0.648f, 0.0f, 0.447f, 0.331f, 1.0f, -0.646f, 0.0f, 0.45f, 0.334f, 1.0f, - -0.643f, 0.0f, 0.453f, 0.334f, 1.0f, -0.641f, 0.0f, 0.456f, 0.334f, 1.0f, -0.639f, 0.0f, 0.459f, 0.334f, 1.0f, -0.636f, 0.0f, 0.462f, 0.333f, 1.0f, - -0.634f, 0.0f, 0.466f, 0.332f, 1.0f, -0.631f, 0.0f, 0.469f, 0.332f, 1.0f, -0.628f, 0.0f, 0.473f, 0.332f, 1.0f, -0.625f, 0.0f, 0.476f, 0.333f, 1.0f, - -0.622f, 0.0f, 0.48f, 0.335f, 1.0f, -0.618f, 0.0f, 0.483f, 0.338f, 1.0f, -0.615f, 0.0f, 0.488f, 0.342f, 1.0f, -0.611f, 0.0f, 0.492f, 0.347f, 1.0f, - -0.608f, 0.0f, 0.495f, 0.352f, 1.0f, -0.605f, 0.0f, 0.5f, 0.358f, 1.0f, -0.601f, 0.0f, 0.505f, 0.363f, 1.0f, -0.597f, 0.0f, 0.509f, 0.366f, 1.0f, - -0.593f, 0.0f, 0.514f, 0.367f, 1.0f, -0.589f, 0.0f, 0.518f, 0.367f, 1.0f, -0.585f, 0.0f, 0.522f, 0.369f, 1.0f, -0.582f, 0.0f, 0.526f, 0.372f, 1.0f, - -0.578f, 0.0f, 0.531f, 0.376f, 1.0f, -0.575f, 0.0f, 0.535f, 0.382f, 1.0f, -0.571f, 0.0f, 0.539f, 0.388f, 1.0f, -0.567f, 0.0f, 0.543f, 0.394f, 1.0f, - -0.563f, 0.0f, 0.547f, 0.4f, 1.0f, -0.56f, 0.0f, 0.551f, 0.406f, 1.0f, -0.556f, 0.0f, 0.555f, 0.411f, 1.0f, -0.552f, 0.0f, 0.559f, 0.415f, 1.0f, - -0.548f, 0.0f, 0.563f, 0.418f, 1.0f, -0.544f, 0.0f, 0.566f, 0.419f, 1.0f, -0.54f, 0.0f, 0.569f, 0.42f, 1.0f, -0.537f, 0.0f, 0.572f, 0.421f, 1.0f, - -0.533f, 0.0f, 0.576f, 0.421f, 1.0f, -0.529f, 0.0f, 0.579f, 0.421f, 1.0f, -0.526f, 0.0f, 0.582f, 0.422f, 1.0f, -0.523f, 0.0f, 0.585f, 0.422f, 1.0f, - -0.52f, 0.0f, 0.588f, 0.423f, 1.0f, -0.516f, 0.0f, 0.591f, 0.426f, 1.0f, -0.513f, 0.0f, 0.594f, 0.43f, 1.0f, -0.51f, 0.0f, 0.597f, 0.435f, 1.0f, - -0.507f, 0.0f, 0.6f, 0.441f, 1.0f, -0.504f, 0.0f, 0.603f, 0.447f, 1.0f, -0.501f, 0.0f, 0.606f, 0.453f, 1.0f, -0.498f, 0.0f, 0.609f, 0.458f, 1.0f, - -0.496f, 0.0f, 0.611f, 0.461f, 1.0f, -0.493f, 0.0f, 0.614f, 0.465f, 1.0f, -0.49f, 0.0f, 0.616f, 0.468f, 1.0f, -0.487f, 0.0f, 0.619f, 0.472f, 1.0f, - -0.484f, 0.0f, 0.621f, 0.476f, 1.0f, -0.482f, 0.0f, 0.624f, 0.48f, 1.0f, -0.479f, 0.0f, 0.627f, 0.484f, 1.0f, -0.476f, 0.0f, 0.629f, 0.487f, 1.0f, - -0.473f, 0.0f, 0.632f, 0.491f, 1.0f, -0.471f, 0.0f, 0.634f, 0.495f, 1.0f, -0.468f, 0.0f, 0.637f, 0.499f, 1.0f, -0.465f, 0.0f, 0.639f, 0.504f, 1.0f, - -0.462f, 0.0f, 0.641f, 0.508f, 1.0f, -0.459f, 0.0f, 0.643f, 0.513f, 1.0f, -0.456f, 0.0f, 0.646f, 0.519f, 1.0f, -0.453f, 0.0f, 0.648f, 0.525f, 1.0f, - -0.45f, 0.0f, 0.65f, 0.533f, 1.0f, -0.447f, 0.0f, 0.652f, 0.54f, 1.0f, -0.444f, 0.0f, 0.655f, 0.546f, 1.0f, -0.441f, 0.0f, 0.657f, 0.553f, 1.0f, - -0.438f, 0.0f, 0.659f, 0.56f, 1.0f, -0.435f, 0.0f, 0.662f, 0.567f, 1.0f, -0.432f, 0.0f, 0.664f, 0.574f, 1.0f, -0.429f, 0.0f, 0.666f, 0.58f, 1.0f, - -0.426f, 0.0f, 0.669f, 0.585f, 1.0f, -0.423f, 0.0f, 0.671f, 0.591f, 1.0f, -0.419f, 0.0f, 0.673f, 0.595f, 1.0f, -0.416f, 0.0f, 0.675f, 0.6f, 1.0f, - -0.412f, 0.0f, 0.678f, 0.604f, 1.0f, -0.409f, 0.0f, 0.68f, 0.609f, 1.0f, -0.405f, 0.0f, 0.682f, 0.613f, 1.0f, -0.401f, 0.0f, 0.684f, 0.618f, 1.0f, - -0.398f, 0.0f, 0.687f, 0.622f, 1.0f, -0.394f, 0.0f, 0.689f, 0.627f, 1.0f, -0.39f, 0.0f, 0.692f, 0.632f, 1.0f, -0.386f, 0.0f, 0.694f, 0.638f, 1.0f, - -0.381f, 0.0f, 0.697f, 0.643f, 1.0f, -0.377f, 0.0f, 0.7f, 0.649f, 1.0f, -0.373f, 0.0f, 0.702f, 0.654f, 1.0f, -0.368f, 0.0f, 0.705f, 0.659f, 1.0f, - -0.363f, 0.0f, 0.707f, 0.663f, 1.0f, -0.359f, 0.0f, 0.71f, 0.667f, 1.0f, -0.354f, 0.0f, 0.712f, 0.671f, 1.0f, -0.349f, 0.0f, 0.715f, 0.674f, 1.0f, - -0.345f, 0.0f, 0.717f, 0.677f, 1.0f, -0.34f, 0.0f, 0.72f, 0.68f, 1.0f, -0.335f, 0.0f, 0.722f, 0.683f, 1.0f, -0.33f, 0.0f, 0.725f, 0.685f, 1.0f, - -0.326f, 0.0f, 0.727f, 0.687f, 1.0f, -0.321f, 0.0f, 0.73f, 0.689f, 1.0f, -0.316f, 0.0f, 0.732f, 0.691f, 1.0f, -0.312f, 0.0f, 0.734f, 0.693f, 1.0f, - -0.307f, 0.0f, 0.736f, 0.694f, 1.0f, -0.302f, 0.0f, 0.738f, 0.696f, 1.0f, -0.298f, 0.0f, 0.74f, 0.697f, 1.0f, -0.293f, 0.0f, 0.741f, 0.698f, 1.0f, - -0.288f, 0.0f, 0.743f, 0.699f, 1.0f, -0.284f, 0.0f, 0.745f, 0.699f, 1.0f, -0.279f, 0.0f, 0.746f, 0.7f, 1.0f, -0.275f, 0.0f, 0.748f, 0.701f, 1.0f, - -0.27f, 0.0f, 0.749f, 0.702f, 1.0f, -0.265f, 0.0f, 0.751f, 0.702f, 1.0f, -0.261f, 0.0f, 0.752f, 0.704f, 1.0f, -0.256f, 0.0f, 0.753f, 0.705f, 1.0f, - -0.252f, 0.0f, 0.755f, 0.706f, 1.0f, -0.247f, 0.0f, 0.756f, 0.707f, 1.0f, -0.242f, 0.0f, 0.757f, 0.709f, 1.0f, -0.237f, 0.0f, 0.758f, 0.711f, 1.0f, - -0.233f, 0.0f, 0.759f, 0.713f, 1.0f, -0.228f, 0.0f, 0.761f, 0.715f, 1.0f, -0.223f, 0.0f, 0.762f, 0.717f, 1.0f, -0.218f, 0.0f, 0.763f, 0.719f, 1.0f, - -0.213f, 0.0f, 0.764f, 0.721f, 1.0f, -0.209f, 0.0f, 0.765f, 0.723f, 1.0f, -0.204f, 0.0f, 0.765f, 0.726f, 1.0f, -0.199f, 0.0f, 0.766f, 0.728f, 1.0f, - -0.194f, 0.0f, 0.767f, 0.73f, 1.0f, -0.189f, 0.0f, 0.768f, 0.731f, 1.0f, -0.183f, 0.0f, 0.769f, 0.733f, 1.0f, -0.178f, 0.0f, 0.77f, 0.735f, 1.0f, - -0.173f, 0.0f, 0.77f, 0.736f, 1.0f, -0.168f, 0.0f, 0.771f, 0.738f, 1.0f, -0.163f, 0.0f, 0.772f, 0.739f, 1.0f, -0.158f, 0.0f, 0.772f, 0.741f, 1.0f, - -0.152f, 0.0f, 0.773f, 0.742f, 1.0f, -0.147f, 0.0f, 0.774f, 0.744f, 1.0f, -0.142f, 0.0f, 0.774f, 0.746f, 1.0f, -0.137f, 0.0f, 0.775f, 0.748f, 1.0f, - -0.132f, 0.0f, 0.775f, 0.749f, 1.0f, -0.127f, 0.0f, 0.776f, 0.751f, 1.0f, -0.122f, 0.0f, 0.776f, 0.752f, 1.0f, -0.117f, 0.0f, 0.776f, 0.753f, 1.0f, - -0.112f, 0.0f, 0.777f, 0.754f, 1.0f, -0.108f, 0.0f, 0.777f, 0.755f, 1.0f, -0.103f, 0.0f, 0.777f, 0.755f, 1.0f, -0.099f, 0.0f, 0.777f, 0.756f, 1.0f, - -0.095f, 0.0f, 0.778f, 0.757f, 1.0f, -0.09f, 0.0f, 0.778f, 0.758f, 1.0f, -0.086f, 0.0f, 0.778f, 0.759f, 1.0f, -0.082f, 0.0f, 0.778f, 0.759f, 1.0f, - -0.077f, 0.0f, 0.778f, 0.76f, 1.0f, -0.073f, 0.0f, 0.779f, 0.76f, 1.0f, -0.069f, 0.0f, 0.779f, 0.761f, 1.0f, -0.064f, 0.0f, 0.779f, 0.761f, 1.0f, - -0.06f, 0.0f, 0.779f, 0.761f, 1.0f, -0.055f, 0.0f, 0.78f, 0.762f, 1.0f, -0.051f, 0.0f, 0.78f, 0.762f, 1.0f, -0.046f, 0.0f, 0.78f, 0.762f, 1.0f, - -0.041f, 0.0f, 0.78f, 0.762f, 1.0f, -0.037f, 0.0f, 0.781f, 0.762f, 1.0f, -0.032f, 0.0f, 0.781f, 0.763f, 1.0f, -0.027f, 0.0f, 0.781f, 0.763f, 1.0f, - -0.022f, 0.0f, 0.781f, 0.763f, 1.0f, -0.017f, 0.0f, 0.781f, 0.764f, 1.0f, -0.012f, 0.0f, 0.782f, 0.764f, 1.0f, -0.006f, 0.0f, 0.782f, 0.764f, 1.0f, - -0.001f, 0.0f, 0.782f, 0.765f, 1.0f, 0.004f, 0.0f, 0.782f, 0.766f, 1.0f, 0.009f, 0.0f, 0.782f, 0.766f, 1.0f, 0.015f, 0.0f, 0.782f, 0.767f, 1.0f, - 0.02f, 0.0f, 0.782f, 0.768f, 1.0f, 0.025f, 0.0f, 0.782f, 0.769f, 1.0f, 0.031f, 0.0f, 0.782f, 0.77f, 1.0f, 0.036f, 0.0f, 0.782f, 0.771f, 1.0f, - 0.042f, 0.0f, 0.782f, 0.772f, 1.0f, 0.048f, 0.0f, 0.782f, 0.773f, 1.0f, 0.053f, 0.0f, 0.782f, 0.774f, 1.0f, 0.059f, 0.0f, 0.782f, 0.775f, 1.0f, - 0.065f, 0.0f, 0.782f, 0.775f, 1.0f, 0.07f, 0.0f, 0.782f, 0.776f, 1.0f, 0.076f, 0.0f, 0.782f, 0.776f, 1.0f, 0.082f, 0.0f, 0.782f, 0.776f, 1.0f, - 0.088f, 0.0f, 0.782f, 0.776f, 1.0f, 0.094f, 0.0f, 0.782f, 0.777f, 1.0f, 0.1f, 0.0f, 0.781f, 0.777f, 1.0f, 0.106f, 0.0f, 0.781f, 0.778f, 1.0f, - 0.111f, 0.0f, 0.781f, 0.779f, 1.0f, 0.117f, 0.0f, 0.781f, 0.779f, 1.0f, 0.123f, 0.0f, 0.781f, 0.78f, 1.0f, 0.129f, 0.0f, 0.78f, 0.78f, 1.0f, - 0.135f, 0.0f, 0.78f, 0.781f, 1.0f, 0.141f, 0.0f, 0.779f, 0.781f, 1.0f, 0.147f, 0.0f, 0.779f, 0.782f, 1.0f, 0.153f, 0.0f, 0.778f, 0.783f, 1.0f, - 0.159f, 0.0f, 0.777f, 0.784f, 1.0f, 0.165f, 0.0f, 0.776f, 0.785f, 1.0f, 0.171f, 0.0f, 0.775f, 0.786f, 1.0f, 0.178f, 0.0f, 0.774f, 0.787f, 1.0f, - 0.185f, 0.0f, 0.773f, 0.788f, 1.0f, 0.192f, 0.0f, 0.772f, 0.789f, 1.0f, 0.2f, 0.0f, 0.771f, 0.79f, 1.0f, 0.208f, 0.0f, 0.77f, 0.791f, 1.0f, - 0.218f, 0.0f, 0.768f, 0.793f, 1.0f, 0.228f, 0.0f, 0.766f, 0.796f, 1.0f, 0.239f, 0.0f, 0.764f, 0.799f, 1.0f, 0.25f, 0.0f, 0.762f, 0.802f, 1.0f, - 0.261f, 0.0f, 0.759f, 0.806f, 1.0f, 0.271f, 0.0f, 0.755f, 0.81f, 1.0f, 0.282f, 0.0f, 0.752f, 0.815f, 1.0f, 0.293f, 0.0f, 0.748f, 0.819f, 1.0f, - 0.304f, 0.0f, 0.744f, 0.825f, 1.0f, 0.315f, 0.0f, 0.74f, 0.83f, 1.0f, 0.326f, 0.0f, 0.736f, 0.836f, 1.0f, 0.337f, 0.0f, 0.731f, 0.843f, 1.0f, - 0.349f, 0.0f, 0.727f, 0.85f, 1.0f, 0.361f, 0.0f, 0.722f, 0.858f, 1.0f, 0.372f, 0.0f, 0.718f, 0.866f, 1.0f, 0.384f, 0.0f, 0.712f, 0.874f, 1.0f, - 0.395f, 0.0f, 0.706f, 0.882f, 1.0f, 0.407f, 0.0f, 0.7f, 0.89f, 1.0f, 0.418f, 0.0f, 0.693f, 0.898f, 1.0f, 0.43f, 0.0f, 0.685f, 0.905f, 1.0f, - 0.442f, 0.0f, 0.677f, 0.912f, 1.0f, 0.458f, 0.0f, 0.666f, 0.918f, 1.0f, 0.473f, 0.0f, 0.654f, 0.924f, 1.0f, 0.49f, 0.0f, 0.64f, 0.93f, 1.0f, - 0.506f, 0.0f, 0.625f, 0.935f, 1.0f, 0.522f, 0.0f, 0.611f, 0.939f, 1.0f, 0.538f, 0.0f, 0.596f, 0.941f, 1.0f, 0.554f, 0.0f, 0.58f, 0.942f, 1.0f, - 0.569f, 0.0f, 0.564f, 0.941f, 1.0f, 0.584f, 0.0f, 0.548f, 0.935f, 1.0f, 0.598f, 0.0f, 0.533f, 0.925f, 1.0f, 0.612f, 0.0f, 0.517f, 0.91f, 1.0f, - 0.625f, 0.0f, 0.501f, 0.891f, 1.0f, 0.638f, 0.0f, 0.484f, 0.868f, 1.0f, 0.65f, 0.0f, 0.468f, 0.839f, 1.0f, 0.662f, 0.0f, 0.452f, 0.806f, 1.0f, - 0.671f, 0.0f, 0.437f, 0.766f, 1.0f, 0.679f, 0.0f, 0.423f, 0.718f, 1.0f, 0.685f, 0.0f, 0.412f, 0.661f, 1.0f, 0.691f, 0.0f, 0.403f, 0.595f, 1.0f, - 0.697f, 0.0f, 0.396f, 0.519f, 1.0f, 0.701f, 0.0f, 0.391f, 0.44f, 1.0f, 0.704f, 0.0f, 0.387f, 0.344f, 1.0f, 0.707f, 0.0f, 0.384f, 0.264f, 1.0f, - 0.711f, 0.0f, 0.38f, 0.133f, 1.0f, -}; /* ***************************************************************** */ /* Monkey Color Data */ @@ -1390,32 +503,32 @@ static const ColorTemplate gp_monkey_pct_black = { static const ColorTemplate gp_monkey_pct_skin = { "Skin", - {0.553f, 0.39f, 0.266f, 0.0f}, - {0.733f, 0.567f, 0.359f, 1.0f}, + {0.733f, 0.569f, 0.361f, 1.0f}, + {0.745f, 0.502f, 0.278f, 1.0f} }; static const ColorTemplate gp_monkey_pct_skin_light = { "Skin_Light", - {0.553f, 0.39f, 0.266f, 0.0f}, - {0.913f, 0.828f, 0.637f, 1.0f}, + {0.914f, 0.827f, 0.635f, 1.0f}, + {0.913f, 0.828f, 0.637f, 0.0f} }; static const ColorTemplate gp_monkey_pct_skin_shadow = { "Skin_Shadow", - {0.553f, 0.39f, 0.266f, 0.0f}, - {0.32f, 0.29f, 0.223f, 1.0f}, + {0.322f, 0.29f, 0.224f, 0.5f}, + {0.32f, 0.29f, 0.223f, 0.3f} }; static const ColorTemplate gp_monkey_pct_eyes = { "Eyes", {0.553f, 0.39f, 0.266f, 0.0f}, - {0.773f, 0.762f, 0.73f, 1.0f}, + {0.847f, 0.723f, 0.599f, 1.0f} }; static const ColorTemplate gp_monkey_pct_pupils = { "Pupils", - {0.107f, 0.075f, 0.051f, 0.0f}, - {0.153f, 0.057f, 0.063f, 1.0f}, + {0.0f, 0.0f, 0.0f, 0.0f}, + {0.0f, 0.0f, 0.0f, 1.0f} }; /* ***************************************************************** */ @@ -1432,12 +545,12 @@ void ED_gpencil_create_monkey(bContext *C, float mat[4][4]) bGPDstroke *gps; /* create colors */ - int color_Black = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_black); - int color_Skin = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin); - int color_Skin_Light = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin_light); - int color_Skin_Shadow = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin_shadow); - int color_Eyes = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_eyes); - int color_Pupils = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_pupils); + int color_Black = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_black, true, false); + int color_Skin = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin, false, true); + int color_Skin_Light = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin_light, true, false); + int color_Skin_Shadow = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin_shadow, true, false); + int color_Eyes = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_eyes, false, true); + int color_Pupils = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_pupils, false, true); /* set first color as active */ ob->actcol = color_Black + 1; @@ -1448,122 +561,98 @@ void ED_gpencil_create_monkey(bContext *C, float mat[4][4]) /* layers */ /* NOTE: For now, we just add new layers, to make it easier to separate out old/new instances */ - bGPDlayer *Colors = BKE_gpencil_layer_addnew(gpd, "Colors", false); + bGPDlayer *Fills = BKE_gpencil_layer_addnew(gpd, "Fills", false); bGPDlayer *Lines = BKE_gpencil_layer_addnew(gpd, "Lines", true); /* frames */ /* NOTE: No need to check for existing, as this will take care of it for us */ - bGPDframe *frameColor = BKE_gpencil_frame_addnew(Colors, cfra_eval); + bGPDframe *frameFills = BKE_gpencil_frame_addnew(Fills, cfra_eval); bGPDframe *frameLines = BKE_gpencil_frame_addnew(Lines, cfra_eval); /* generate strokes */ - gps = BKE_gpencil_add_stroke(frameColor, color_Skin, 538, 75); - BKE_gpencil_stroke_add_points(gps, data0, 538, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Eyes, 136, 75); - BKE_gpencil_stroke_add_points(gps, data1, 136, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Skin, 2, 75); - BKE_gpencil_stroke_add_points(gps, data2, 2, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 1, 75); - BKE_gpencil_stroke_add_points(gps, data3, 1, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 1, 75); - BKE_gpencil_stroke_add_points(gps, data4, 1, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 48, 75); - BKE_gpencil_stroke_add_points(gps, data5, 48, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 47, 75); - BKE_gpencil_stroke_add_points(gps, data6, 47, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 162, 75); - BKE_gpencil_stroke_add_points(gps, data7, 162, mat); - - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 55, 75); - BKE_gpencil_stroke_add_points(gps, data8, 55, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin, 270, 75); + BKE_gpencil_stroke_add_points(gps, data0, 270, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 70, 75); - BKE_gpencil_stroke_add_points(gps, data9, 70, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 33, 60); + BKE_gpencil_stroke_add_points(gps, data1, 33, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Light, 227, 75); - BKE_gpencil_stroke_add_points(gps, data10, 227, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 18, 60); + BKE_gpencil_stroke_add_points(gps, data2, 18, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 1, 75); - BKE_gpencil_stroke_add_points(gps, data11, 1, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 64, 60); + BKE_gpencil_stroke_add_points(gps, data3, 64, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 123, 75); - BKE_gpencil_stroke_add_points(gps, data12, 123, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 33, 60); + BKE_gpencil_stroke_add_points(gps, data4, 33, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 125, 75); - BKE_gpencil_stroke_add_points(gps, data13, 125, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 64, 60); + BKE_gpencil_stroke_add_points(gps, data5, 64, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 45, 75); - BKE_gpencil_stroke_add_points(gps, data14, 45, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 33, 60); + BKE_gpencil_stroke_add_points(gps, data6, 33, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 44, 75); - BKE_gpencil_stroke_add_points(gps, data15, 44, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 18, 40); + BKE_gpencil_stroke_add_points(gps, data7, 18, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 84, 75); - BKE_gpencil_stroke_add_points(gps, data16, 84, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Eyes, 49, 60); + BKE_gpencil_stroke_add_points(gps, data8, 49, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 56, 75); - BKE_gpencil_stroke_add_points(gps, data17, 56, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 33, 60); + BKE_gpencil_stroke_add_points(gps, data9, 33, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 59, 75); - BKE_gpencil_stroke_add_points(gps, data18, 59, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Eyes, 49, 60); + BKE_gpencil_stroke_add_points(gps, data10, 49, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Skin_Shadow, 100, 75); - BKE_gpencil_stroke_add_points(gps, data19, 100, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 18, 40); + BKE_gpencil_stroke_add_points(gps, data11, 18, mat); - gps = BKE_gpencil_add_stroke(frameColor, color_Eyes, 136, 75); - BKE_gpencil_stroke_add_points(gps, data20, 136, mat); + gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 18, 40); + BKE_gpencil_stroke_add_points(gps, data12, 18, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 353, 75); - BKE_gpencil_stroke_add_points(gps, data21, 353, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60); + BKE_gpencil_stroke_add_points(gps, data13, 33, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 309, 75); - BKE_gpencil_stroke_add_points(gps, data22, 309, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60); + BKE_gpencil_stroke_add_points(gps, data14, 33, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 209, 75); - BKE_gpencil_stroke_add_points(gps, data23, 209, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 65, 60); + BKE_gpencil_stroke_add_points(gps, data15, 65, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 133, 75); - BKE_gpencil_stroke_add_points(gps, data24, 133, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 34, 60); + BKE_gpencil_stroke_add_points(gps, data16, 34, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 389, 75); - BKE_gpencil_stroke_add_points(gps, data25, 389, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60); + BKE_gpencil_stroke_add_points(gps, data17, 33, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 41, 75); - BKE_gpencil_stroke_add_points(gps, data26, 41, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 40); + BKE_gpencil_stroke_add_points(gps, data18, 33, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 77, 75); - BKE_gpencil_stroke_add_points(gps, data27, 77, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 34, 40); + BKE_gpencil_stroke_add_points(gps, data19, 34, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 257, 75); - BKE_gpencil_stroke_add_points(gps, data28, 257, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60); + BKE_gpencil_stroke_add_points(gps, data20, 33, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 205, 75); - BKE_gpencil_stroke_add_points(gps, data29, 205, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 64, 60); + BKE_gpencil_stroke_add_points(gps, data21, 64, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 75); - BKE_gpencil_stroke_add_points(gps, data30, 33, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 26, 60); + BKE_gpencil_stroke_add_points(gps, data22, 26, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 37, 75); - BKE_gpencil_stroke_add_points(gps, data31, 37, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 26, 60); + BKE_gpencil_stroke_add_points(gps, data23, 26, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 201, 75); - BKE_gpencil_stroke_add_points(gps, data32, 201, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60); + BKE_gpencil_stroke_add_points(gps, data24, 33, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 69, 75); - BKE_gpencil_stroke_add_points(gps, data33, 69, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 18, 40); + BKE_gpencil_stroke_add_points(gps, data25, 18, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 57, 75); - BKE_gpencil_stroke_add_points(gps, data34, 57, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 18, 40); + BKE_gpencil_stroke_add_points(gps, data26, 18, mat); - gps = BKE_gpencil_add_stroke(frameLines, color_Black, 261, 75); - BKE_gpencil_stroke_add_points(gps, data35, 261, mat); + gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60); + BKE_gpencil_stroke_add_points(gps, data27, 33, mat); /* update depsgraph */ DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY); From 2c0c1f494dcfadb3c01d23e2348e28bc8864e9f3 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Sat, 22 Dec 2018 15:10:24 +0100 Subject: [PATCH 26/94] Point locale sub-repo to blender2.7 branch. Since we start translating for 2.8 very soon, better to archive 2.7x translations in their own branch. ;) --- release/datafiles/locale | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/datafiles/locale b/release/datafiles/locale index d3349b42856d..fec9a7e88c86 160000 --- a/release/datafiles/locale +++ b/release/datafiles/locale @@ -1 +1 @@ -Subproject commit d3349b42856d00c278f72f2a5909a6c96b9cdb5e +Subproject commit fec9a7e88c8686830e9210099818a61489e699e4 From 1574b691f3cc5928c408f24901c8b5a3ebfe7103 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Sun, 23 Dec 2018 10:16:57 +0100 Subject: [PATCH 27/94] Fix T59782: Replace RMB by MMB in bottom help text --- source/blender/editors/gpencil/gpencil_primitive.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c index 5c72827fb9b5..f015c01a8e67 100644 --- a/source/blender/editors/gpencil/gpencil_primitive.c +++ b/source/blender/editors/gpencil/gpencil_primitive.c @@ -401,19 +401,19 @@ static void gpencil_primitive_status_indicators(bContext *C, tGPDprimitive *tgpi char msg_str[UI_MAX_DRAW_STR]; if (tgpi->type == GP_STROKE_LINE) { - BLI_strncpy(msg_str, IFACE_("Line: ESC to cancel, LMB set origin, Enter/RMB to confirm, WHEEL/+- to adjust subdivision number, Shift to align, Alt to center"), UI_MAX_DRAW_STR); + BLI_strncpy(msg_str, IFACE_("Line: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to align, Alt to center"), UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_BOX) { - BLI_strncpy(msg_str, IFACE_("Rectangle: ESC to cancel, LMB set origin, Enter/RMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center"), UI_MAX_DRAW_STR); + BLI_strncpy(msg_str, IFACE_("Rectangle: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center"), UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_CIRCLE) { - BLI_strncpy(msg_str, IFACE_("Circle: ESC to cancel, Enter/RMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center"), UI_MAX_DRAW_STR); + BLI_strncpy(msg_str, IFACE_("Circle: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center"), UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_ARC) { - BLI_strncpy(msg_str, IFACE_("Arc: ESC to cancel, Enter/RMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, M: Flip"), UI_MAX_DRAW_STR); + BLI_strncpy(msg_str, IFACE_("Arc: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, M: Flip"), UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_CURVE) { - BLI_strncpy(msg_str, IFACE_("Curve: ESC to cancel, Enter/RMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, E: extrude"), UI_MAX_DRAW_STR); + BLI_strncpy(msg_str, IFACE_("Curve: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, E: extrude"), UI_MAX_DRAW_STR); } if (ELEM(tgpi->type, GP_STROKE_CIRCLE, GP_STROKE_ARC, GP_STROKE_LINE, GP_STROKE_BOX)) { From 02f083cdcecf74a169114850337a99c802c53e34 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Sun, 23 Dec 2018 15:25:40 +0300 Subject: [PATCH 28/94] BLI_math_rotation: properly name the quaternion power function. "angular mult factor" is a completely unintelligible description for a function that raises a unit quaternion to the scalar power. --- source/blender/blenlib/BLI_math_rotation.h | 3 ++- source/blender/blenlib/intern/math_rotation.c | 5 +++-- source/blender/editors/sculpt_paint/sculpt.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/source/blender/blenlib/BLI_math_rotation.h b/source/blender/blenlib/BLI_math_rotation.h index 5b1568ab9029..2bc82bac8d8f 100644 --- a/source/blender/blenlib/BLI_math_rotation.h +++ b/source/blender/blenlib/BLI_math_rotation.h @@ -53,7 +53,8 @@ void copy_qt_qt(float q[4], const float a[4]); void mul_qt_qtqt(float q[4], const float a[4], const float b[4]); void mul_qt_v3(const float q[4], float r[3]); void mul_qt_fl(float q[4], const float f); -void mul_fac_qt_fl(float q[4], const float f); + +void pow_qt_fl_normalized(float q[4], const float f); void sub_qt_qtqt(float q[4], const float a[4], const float b[4]); diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c index 3e74173ef787..8e5b3f0000e8 100644 --- a/source/blender/blenlib/intern/math_rotation.c +++ b/source/blender/blenlib/intern/math_rotation.c @@ -193,9 +193,10 @@ void sub_qt_qtqt(float q[4], const float q1[4], const float q2[4]) mul_qt_qtqt(q, q1, nq2); } -/* angular mult factor */ -void mul_fac_qt_fl(float q[4], const float fac) +/* raise a unit quaternion to the specified power */ +void pow_qt_fl_normalized(float q[4], const float fac) { + BLI_ASSERT_UNIT_QUAT(q); const float angle = fac * saacos(q[0]); /* quat[0] = cos(0.5 * angle), but now the 0.5 and 2.0 rule out */ const float co = cosf(angle); const float si = sinf(angle); diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index a4605eddd793..5694c760371c 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -276,7 +276,7 @@ static void sculpt_rake_rotate( sub_v3_v3v3(vec_rot, v_co, sculpt_co); copy_qt_qt(q_interp, ss->cache->rake_rotation_symmetry); - mul_fac_qt_fl(q_interp, factor); + pow_qt_fl_normalized(q_interp, factor); mul_qt_v3(q_interp, vec_rot); add_v3_v3(vec_rot, sculpt_co); From c3650e496b6fa67616280617f3444a9a4bbc7e66 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Sun, 23 Dec 2018 17:02:38 +0300 Subject: [PATCH 29/94] Fix missing update when toggling NLA solo mode. --- .../blender/editors/animation/anim_channels_defines.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c index 341bc25875e5..c00b1a4d2fa7 100644 --- a/source/blender/editors/animation/anim_channels_defines.c +++ b/source/blender/editors/animation/anim_channels_defines.c @@ -4095,10 +4095,11 @@ static void achannel_setting_flush_widget_cb(bContext *C, void *ale_npoin, void } /* callback for wrapping NLA Track "solo" toggle logic */ -static void achannel_nlatrack_solo_widget_cb(bContext *C, void *adt_poin, void *nlt_poin) +static void achannel_nlatrack_solo_widget_cb(bContext *C, void *ale_poin, void *UNUSED(arg2)) { - AnimData *adt = adt_poin; - NlaTrack *nlt = nlt_poin; + bAnimListElem *ale = ale_poin; + AnimData *adt = ale->adt; + NlaTrack *nlt = ale->data; /* Toggle 'solo' mode. There are several complications here which need explaining: * - The method call is needed to perform a few additional validation operations @@ -4111,6 +4112,7 @@ static void achannel_nlatrack_solo_widget_cb(bContext *C, void *adt_poin, void * BKE_nlatrack_solo_toggle(adt, nlt); /* send notifiers */ + DEG_id_tag_update(ale->id, ID_RECALC_ANIMATION | ID_RECALC_COPY_ON_WRITE); WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_RENAME, NULL); } @@ -4407,7 +4409,7 @@ static void draw_setting_widget(bAnimContext *ac, bAnimListElem *ale, const bAni /* settings needing special attention */ case ACHANNEL_SETTING_SOLO: /* NLA Tracks - Solo toggle */ - UI_but_func_set(but, achannel_nlatrack_solo_widget_cb, ale->adt, ale->data); + UI_but_funcN_set(but, achannel_nlatrack_solo_widget_cb, MEM_dupallocN(ale), NULL); break; /* no flushing */ From a5cfeaba9ee26b4a5e917745c664d1ed16393b21 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Sun, 23 Dec 2018 17:31:55 +0300 Subject: [PATCH 30/94] Fix missing update when deleting animation channels. --- source/blender/editors/animation/anim_channels_edit.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index 84b598357508..2ace4874dae8 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -58,6 +58,7 @@ #include "BKE_global.h" #include "BKE_scene.h" +#include "DEG_depsgraph.h" #include "DEG_depsgraph_build.h" #include "UI_view2d.h" @@ -1672,8 +1673,10 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) } /* free the group itself */ - if (adt->action) + if (adt->action) { BLI_freelinkN(&adt->action->groups, agrp); + DEG_id_tag_update_ex(CTX_data_main(C), &adt->action->id, ID_RECALC_COPY_ON_WRITE); + } else MEM_freeN(agrp); } @@ -1698,6 +1701,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) /* try to free F-Curve */ ANIM_fcurve_delete_from_animdata(&ac, adt, fcu); + ale->update = ANIM_UPDATE_DEPS; break; } case ANIMTYPE_NLACURVE: @@ -1719,6 +1723,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) /* unlink and free the F-Curve */ BLI_remlink(&strip->fcurves, fcu); free_fcurve(fcu); + ale->update = ANIM_UPDATE_DEPS; break; } case ANIMTYPE_GPLAYER: @@ -1729,6 +1734,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) /* try to delete the layer's data and the layer itself */ BKE_gpencil_layer_delete(gpd, gpl); + ale->update = ANIM_UPDATE_DEPS; break; } case ANIMTYPE_MASKLAYER: @@ -1745,6 +1751,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op)) } /* cleanup */ + ANIM_animdata_update(&ac, &anim_data); ANIM_animdata_freelist(&anim_data); /* send notifier that things have changed */ From f5166233dbaa3f70dcd019e8d76a924651841d75 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Sun, 23 Dec 2018 16:12:28 +0100 Subject: [PATCH 31/94] Fix T59783: Convert GP stroke to geometry menu disabled The Convert operator works only in Object mode but it was defined in Edit menu. Now the operator is defined in object menu and in specials menu. --- release/scripts/startup/bl_ui/space_view3d.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 46a57d2501e5..b4bf8dcbed07 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -1652,7 +1652,11 @@ def draw(self, context): layout.separator() - layout.operator_menu_enum("object.convert", "target") + ob = context.active_object + if ob and ob.type == 'GPENCIL' and context.gpencil_data: + layout.operator_menu_enum("gpencil.convert", "type", text="Convert to") + else: + layout.operator_menu_enum("object.convert", "target") layout.separator() @@ -3948,10 +3952,6 @@ def draw(self, context): layout.separator() - layout.operator_menu_enum("gpencil.convert", "type", text="Convert to Geometry...") - - layout.separator() - layout.menu("VIEW3D_MT_edit_gpencil_delete") layout.operator("gpencil.stroke_cyclical_set", text="Toggle Cyclic").type = 'TOGGLE' From 8746575d09394b7aec1e322fbd5af70b45399b58 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Sun, 23 Dec 2018 16:45:36 +0100 Subject: [PATCH 32/94] GP: Add Shift+F to define strength for primitives --- .../blender/editors/gpencil/gpencil_intern.h | 1 + .../editors/gpencil/gpencil_primitive.c | 89 +++++++++++++++---- 2 files changed, 72 insertions(+), 18 deletions(-) diff --git a/source/blender/editors/gpencil/gpencil_intern.h b/source/blender/editors/gpencil/gpencil_intern.h index 3fb2464aaf36..71d293d52446 100644 --- a/source/blender/editors/gpencil/gpencil_intern.h +++ b/source/blender/editors/gpencil/gpencil_intern.h @@ -158,6 +158,7 @@ typedef struct tGPDprimitive { int orign_type; /* original type of primitive */ bool curve; /* type of primitive is a curve */ int brush_size; /* brush size */ + float brush_strength; /* brush strength */ short flip; /* flip option */ tGPspoint *points; /* array of data-points for stroke */ int point_count; /* number of edges allocated */ diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c index f015c01a8e67..310f47f25cbd 100644 --- a/source/blender/editors/gpencil/gpencil_primitive.c +++ b/source/blender/editors/gpencil/gpencil_primitive.c @@ -97,6 +97,7 @@ #define IN_CURVE_EDIT 2 #define IN_MOVE 3 #define IN_BRUSH_SIZE 4 +#define IN_BRUSH_STRENGTH 5 #define SELECT_NONE 0 #define SELECT_START 1 @@ -1329,10 +1330,34 @@ static void gpencil_primitive_edit_event_handling(bContext *C, wmOperator *op, w } } +/* brush strength */ +static void gpencil_primitive_strength(tGPDprimitive *tgpi, bool reset) +{ + Brush *brush = tgpi->brush; + if (brush) { + if (reset) { + brush->gpencil_settings->draw_strength = tgpi->brush_strength; + tgpi->brush_strength = 0.0f; + } + else { + if (tgpi->brush_strength == 0.0f) { + tgpi->brush_strength = brush->gpencil_settings->draw_strength; + } + float move[2]; + sub_v2_v2v2(move, tgpi->mval, tgpi->mvalo); + float adjust = (move[1] > 0.0f) ? 0.01f : -0.01f; + brush->gpencil_settings->draw_strength += adjust * fabsf(len_manhattan_v2(move)); + } + + /* limit low limit because below 0.2f the stroke is invisible */ + CLAMP(brush->gpencil_settings->draw_strength, 0.2f, 1.0f); + } +} + /* brush size */ static void gpencil_primitive_size(tGPDprimitive *tgpi, bool reset) { - Brush * brush = tgpi->brush; + Brush *brush = tgpi->brush; if (brush) { if (reset) { brush->size = tgpi->brush_size; @@ -1415,23 +1440,46 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e } else if (tgpi->flag == IN_BRUSH_SIZE) { switch (event->type) { - case MOUSEMOVE: - gpencil_primitive_size(tgpi, false); - gpencil_primitive_update(C, op, tgpi); - break; - case ESCKEY: - case MIDDLEMOUSE: - case LEFTMOUSE: - tgpi->brush_size = 0; - tgpi->flag = IN_CURVE_EDIT; - break; - case RIGHTMOUSE: - if (event->val == KM_RELEASE) { + case MOUSEMOVE: + gpencil_primitive_size(tgpi, false); + gpencil_primitive_update(C, op, tgpi); + break; + case ESCKEY: + case MIDDLEMOUSE: + case LEFTMOUSE: + tgpi->brush_size = 0; tgpi->flag = IN_CURVE_EDIT; - gpencil_primitive_size(tgpi, true); + break; + case RIGHTMOUSE: + if (event->val == KM_RELEASE) { + tgpi->flag = IN_CURVE_EDIT; + gpencil_primitive_size(tgpi, true); + gpencil_primitive_update(C, op, tgpi); + } + break; + } + copy_v2_v2(tgpi->mvalo, tgpi->mval); + return OPERATOR_RUNNING_MODAL; + } + else if (tgpi->flag == IN_BRUSH_STRENGTH) { + switch (event->type) { + case MOUSEMOVE: + gpencil_primitive_strength(tgpi, false); gpencil_primitive_update(C, op, tgpi); - } - break; + break; + case ESCKEY: + case MIDDLEMOUSE: + case LEFTMOUSE: + tgpi->brush_strength = 0.0f; + tgpi->flag = IN_CURVE_EDIT; + break; + case RIGHTMOUSE: + if (event->val == KM_RELEASE) { + tgpi->flag = IN_CURVE_EDIT; + gpencil_primitive_strength(tgpi, true); + gpencil_primitive_update(C, op, tgpi); + } + break; } copy_v2_v2(tgpi->mvalo, tgpi->mval); return OPERATOR_RUNNING_MODAL; @@ -1528,10 +1576,15 @@ static int gpencil_primitive_modal(bContext *C, wmOperator *op, const wmEvent *e } break; } - case FKEY: /* brush thickness */ + case FKEY: /* brush thickness/ brush strength */ { if ((event->val == KM_PRESS)) { - tgpi->flag = IN_BRUSH_SIZE; + if (event->shift) { + tgpi->flag = IN_BRUSH_STRENGTH; + } + else { + tgpi->flag = IN_BRUSH_SIZE; + } WM_cursor_modal_set(win, BC_NS_SCROLLCURSOR); } break; From 6b13f10d40e5960dbe93153388f3eca3ab82620a Mon Sep 17 00:00:00 2001 From: Antonioya Date: Sun, 23 Dec 2018 16:54:14 +0100 Subject: [PATCH 33/94] GP: Small changes to help text --- .../editors/gpencil/gpencil_primitive.c | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c index 310f47f25cbd..0035d679018c 100644 --- a/source/blender/editors/gpencil/gpencil_primitive.c +++ b/source/blender/editors/gpencil/gpencil_primitive.c @@ -402,19 +402,33 @@ static void gpencil_primitive_status_indicators(bContext *C, tGPDprimitive *tgpi char msg_str[UI_MAX_DRAW_STR]; if (tgpi->type == GP_STROKE_LINE) { - BLI_strncpy(msg_str, IFACE_("Line: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to align, Alt to center"), UI_MAX_DRAW_STR); + BLI_strncpy( + msg_str, + IFACE_("Line: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to align, Alt to center, E: extrude"), + UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_BOX) { - BLI_strncpy(msg_str, IFACE_("Rectangle: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center"), UI_MAX_DRAW_STR); + BLI_strncpy( + msg_str, + IFACE_("Rectangle: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center"), + UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_CIRCLE) { - BLI_strncpy(msg_str, IFACE_("Circle: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center"), UI_MAX_DRAW_STR); + BLI_strncpy( + msg_str, + IFACE_("Circle: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center"), + UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_ARC) { - BLI_strncpy(msg_str, IFACE_("Arc: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, M: Flip"), UI_MAX_DRAW_STR); + BLI_strncpy(msg_str, + IFACE_("Arc: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, M: Flip, E: extrude"), + UI_MAX_DRAW_STR); } else if (tgpi->type == GP_STROKE_CURVE) { - BLI_strncpy(msg_str, IFACE_("Curve: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, E: extrude"), UI_MAX_DRAW_STR); + BLI_strncpy( + msg_str, + IFACE_("Curve: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust edge number, Shift to square, Alt to center, E: extrude"), + UI_MAX_DRAW_STR); } if (ELEM(tgpi->type, GP_STROKE_CIRCLE, GP_STROKE_ARC, GP_STROKE_LINE, GP_STROKE_BOX)) { From 064cbe9f3fe07e65b3f74ef7fd034e0e62934ace Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Sun, 23 Dec 2018 18:04:48 +0100 Subject: [PATCH 34/94] Avoid creating & registering zero sized AZones Would allocate memory for AZones and register them even if their coordinates/bounding-box was all 0, meaning they're not visible and not interactive. --- source/blender/editors/screen/area.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index a01eaa2b5a48..43ff12540db9 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -957,12 +957,26 @@ static void region_azone_tab_plus(ScrArea *sa, AZone *az, ARegion *ar) BLI_rcti_init(&az->rect, az->x1, az->x2, az->y1, az->y2); } +static bool region_azone_edge_poll(const ARegion *ar, const bool is_fullscreen) +{ + const bool is_hidden = (ar->flag & (RGN_FLAG_HIDDEN | RGN_FLAG_TOO_SMALL)); + + if (is_hidden && is_fullscreen) { + return false; + } + if (!is_hidden && ar->regiontype == RGN_TYPE_HEADER) { + return false; + } + + return true; +} + static void region_azone_edge_initialize(ScrArea *sa, ARegion *ar, AZEdge edge, const bool is_fullscreen) { AZone *az = NULL; const bool is_hidden = (ar->flag & (RGN_FLAG_HIDDEN | RGN_FLAG_TOO_SMALL)); - if (is_hidden && is_fullscreen) { + if (!region_azone_edge_poll(ar, is_fullscreen)) { return; } @@ -975,7 +989,7 @@ static void region_azone_edge_initialize(ScrArea *sa, ARegion *ar, AZEdge edge, if (is_hidden) { region_azone_tab_plus(sa, az, ar); } - else if (!is_hidden && (ar->regiontype != RGN_TYPE_HEADER)) { + else { region_azone_edge(az, ar); } } From 1158b9f73a3d9903657a95736897f570c2cb46ad Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Sun, 23 Dec 2018 21:58:59 +0100 Subject: [PATCH 35/94] Cleanup: First batch of UI messages fixes (typos, final points...). Also contains some code typo fixes (mostly, adtaptative -> adaptive, former is nearly innexistant in English, let's stick to simple valid words ;) ). --- .../bl_i18n_utils/utils_spell_check.py | 42 ++++++++++++++++++- .../startup/bl_ui/properties_data_camera.py | 4 +- .../startup/bl_ui/properties_data_gpencil.py | 2 +- .../startup/bl_ui/properties_paint_common.py | 2 +- source/blender/blenfont/intern/blf_glyph.c | 4 +- .../blenkernel/intern/gpencil_modifier.c | 2 +- .../blenloader/intern/blend_validate.c | 14 +++---- source/blender/blenloader/intern/writefile.c | 2 +- .../draw/engines/eevee/eevee_lightcache.c | 4 +- .../draw/engines/gpencil/gpencil_draw_utils.c | 2 +- source/blender/editors/gpencil/gpencil_edit.c | 3 +- .../interface_eyedropper_colorband.c | 2 +- .../blender/editors/screen/screen_user_menu.c | 4 +- .../makesdna/DNA_gpencil_modifier_types.h | 2 +- source/blender/makesdna/DNA_gpencil_types.h | 4 +- source/blender/makesrna/intern/rna_gpencil.c | 8 ++-- .../makesrna/intern/rna_gpencil_modifier.c | 6 +-- source/blender/makesrna/intern/rna_modifier.c | 3 +- source/blender/makesrna/intern/rna_scene.c | 2 +- .../blender/makesrna/intern/rna_shader_fx.c | 8 ++-- .../blender/windowmanager/intern/wm_files.c | 2 +- 21 files changed, 81 insertions(+), 41 deletions(-) diff --git a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py index b811c1c7d710..f8a23a7deba7 100644 --- a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py +++ b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py @@ -46,6 +46,7 @@ class SpellChecker: "hetero", "hoc", # ad-hoc "indices", + "instantiation", "iridas", "isn", # isn't "iterable", @@ -53,6 +54,7 @@ class SpellChecker: "latin", "merchantability", "mplayer", + "ons", # add-ons "pong", # ping pong "teleport", "teleporting", "vertices", @@ -64,6 +66,7 @@ class SpellChecker: "autocomplete", "autoexec", "autoexecution", + "autolock", "autoname", "autopack", "autosave", @@ -124,6 +127,8 @@ class SpellChecker: "mixdown", "multi", "multifractal", + "multiframe", + "multilayer" "multipaint", "multires", "multiresolution", "multisampling", @@ -135,6 +140,7 @@ class SpellChecker: "namespace", "nodetree", "nodetrees", "keyconfig", + "offscreen", "online", "playhead", "popup", "popups", @@ -172,10 +178,12 @@ class SpellChecker: "startup", "stateful", "starfield", + "studiolight", "subflare", "subflares", "subframe", "subframes", "subclass", "subclasses", "subclassing", "subdirectory", "subdirectories", "subdir", "subdirs", + "subitem", "submodule", "submodules", "subpath", "subsize", @@ -192,7 +200,7 @@ class SpellChecker: "uncomment", "unculled", "undeformed", - "undistort", "undistortion", + "undistort", "undistorted", "undistortion", "ungroup", "ungrouped", "unhide", "unindent", @@ -212,6 +220,7 @@ class SpellChecker: "whitespace", "whitespaces", "worldspace", "workflow", + "workspace", "workspaces", # Neologisms, slangs "affectable", @@ -223,6 +232,7 @@ class SpellChecker: "deformer", "deformers", "determinator", "editability", + "effectors", "keyer", "lacunarity", "numerics", @@ -233,7 +243,9 @@ class SpellChecker: "pointiness", "polycount", "polygonization", "polygonalization", # yuck! + "scalings", "selectability", + "spherize", "spherized", "stitchable", "symmetrize", "trackability", @@ -243,6 +255,7 @@ class SpellChecker: # Really bad!!! "convertor", + "fullscr", # Abbreviations "aero", @@ -311,8 +324,13 @@ class SpellChecker: "xy", "xz", "yx", "yz", "zx", "zy", # General computer/science terms + "affine", + "albedo", + "anamorphic", "bitangent", "boid", "boids", + "curvilinear", + "equiangular", "equisolid", "euler", "eulers", "fribidi", @@ -320,6 +338,7 @@ class SpellChecker: "hashable", "hotspot", "intrinsics", + "irradiance", "isosurface", "jitter", "jittering", "jittered", "keymap", "keymaps", @@ -330,16 +349,21 @@ class SpellChecker: "nand", "xnor", "normals", "numpad", + "octahedral", "octree", "omnidirectional", "opengl", "openmp", + "parametrization", "photoreceptor", "poly", "polyline", "polylines", "pulldown", "pulldowns", "quantized", + "quartic", + "quintic", "samplerate", + "sawtooth", "scrollback", "scrollbar", "scroller", @@ -351,6 +375,8 @@ class SpellChecker: "unicode", "viewport", "viewports", "viscoelastic", + "vorticity", + "waveform", "waveforms", "wildcard", "wildcards", # General computer graphics terms @@ -365,12 +391,14 @@ class SpellChecker: "bokeh", "catadioptric", "centroid", + "chroma", "chrominance", "clearcoat", "codec", "codecs", "collada", "compositing", "crossfade", + "cubemap", "cuda", "deinterlace", "dropoff", @@ -383,9 +411,11 @@ class SpellChecker: "grayscale", "icosphere", "inpaint", + "kerning", "lightmap", "linearlight", "lossless", "lossy", + "luminance", "matcap", "midtones", "mipmap", "mipmaps", "mip", @@ -399,9 +429,11 @@ class SpellChecker: "radiosity", "raycasting", "raytrace", "raytracing", "raytraced", + "refractions", "renderfarm", "scanfill", "shader", "shaders", + "shadowmap", "shadowmaps", "softlight", "specular", "specularity", "spillmap", @@ -411,6 +443,7 @@ class SpellChecker: "toon", "timecode", "vividlight", + "volumetrics", "voronoi", "voxel", "voxels", "vsync", @@ -420,6 +453,7 @@ class SpellChecker: # Blender terms "audaspace", + "azone", # action zone "bbone", "bendy", # bones "bmesh", @@ -438,12 +472,14 @@ class SpellChecker: "dyntopo", "editbone", "editmode", + "eevee", "fcurve", "fcurves", "fedge", "fedges", "filmic", "fluidsim", "freestyle", "enum", "enums", + "gizmogroup", "gpencil", "idcol", "keyframe", "keyframes", "keyframing", "keyframed", @@ -464,6 +500,7 @@ class SpellChecker: "pushpull", "pyconstraint", "pyconstraints", "qe", # keys... + "shaderfx", "shapekey", "shapekeys", "shrinkfatten", "shrinkwrap", @@ -554,7 +591,7 @@ class SpellChecker: "gpu", "gpus", "hc", "hdc", - "hdr", + "hdr", "hdri", "hdris", "hh", "mm", "ss", "ff", # hh:mm:ss:ff timecode "hsv", "hsva", "hsl", "id", @@ -621,6 +658,7 @@ class SpellChecker: "fbxnode", "ffmpeg", "flac", + "gltf", "gzip", "ico", "jpg", "jpeg", diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py index 6e919e645f87..d600bde492d2 100644 --- a/release/scripts/startup/bl_ui/properties_data_camera.py +++ b/release/scripts/startup/bl_ui/properties_data_camera.py @@ -106,10 +106,10 @@ def draw(self, context): col.prop(ccam, "fisheye_fov") elif ccam.panorama_type == 'EQUIRECTANGULAR': sub = col.column(align=True) - sub.prop(ccam, "latitude_min", text="Latitute Min") + sub.prop(ccam, "latitude_min", text="Latitude Min") sub.prop(ccam, "latitude_max", text="Max") sub = col.column(align=True) - sub.prop(ccam, "longitude_min", text="Longiture Min") + sub.prop(ccam, "longitude_min", text="Longitude Min") sub.prop(ccam, "longitude_max", text="Max") elif engine in {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}: if cam.lens_unit == 'MILLIMETERS': diff --git a/release/scripts/startup/bl_ui/properties_data_gpencil.py b/release/scripts/startup/bl_ui/properties_data_gpencil.py index f1205b05f3d6..b6347afb13ff 100644 --- a/release/scripts/startup/bl_ui/properties_data_gpencil.py +++ b/release/scripts/startup/bl_ui/properties_data_gpencil.py @@ -357,7 +357,7 @@ def draw(self, context): layout.prop(gpd, "show_stroke_direction", text="Show Stroke Directions") layout.prop(gpd, "use_force_fill_recalc", text="Force Fill Update") - layout.prop(gpd, "use_adaptative_uv", text="Adaptative UVs") + layout.prop(gpd, "use_adaptive_uv", text="Adaptive UVs") class DATA_PT_gpencil_canvas(DataButtonsPanel, Panel): diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py index 72f48457faa9..f22279a10739 100644 --- a/release/scripts/startup/bl_ui/properties_paint_common.py +++ b/release/scripts/startup/bl_ui/properties_paint_common.py @@ -264,7 +264,7 @@ def brush_texture_settings(layout, brush, sculpt): if brush.sculpt_capabilities.has_random_texture_angle: col.prop(tex_slot, "use_random", text="Random") if tex_slot.use_random: - col.prop(tex_slot, "random_angle", text="Raandom Angle") + col.prop(tex_slot, "random_angle", text="Random Angle") else: col.prop(tex_slot, "use_random", text="Random") if tex_slot.use_random: diff --git a/source/blender/blenfont/intern/blf_glyph.c b/source/blender/blenfont/intern/blf_glyph.c index 2679deea2549..8fcba1fc2afa 100644 --- a/source/blender/blenfont/intern/blf_glyph.c +++ b/source/blender/blenfont/intern/blf_glyph.c @@ -413,7 +413,7 @@ static void blf_texture5_draw(const unsigned char color_in[4], int tex_w, int te float ofs[2] = { 2 / (float)tex_w, 2 / (float)tex_h }; float uv_flag[2][2]; copy_v4_v4((float *)uv_flag, (float *)uv); - /* flag the x and y component signs for 5x5 bluring */ + /* flag the x and y component signs for 5x5 blurring */ uv_flag[0][0] = -(uv_flag[0][0] - ofs[0]); uv_flag[0][1] = -(uv_flag[0][1] - ofs[1]); uv_flag[1][0] = -(uv_flag[1][0] + ofs[0]); @@ -428,7 +428,7 @@ static void blf_texture3_draw(const unsigned char color_in[4], int tex_w, int te float ofs[2] = { 1 / (float)tex_w, 1 / (float)tex_h }; float uv_flag[2][2]; copy_v4_v4((float *)uv_flag, (float *)uv); - /* flag the x component sign for 3x3 bluring */ + /* flag the x component sign for 3x3 blurring */ uv_flag[0][0] = -(uv_flag[0][0] - ofs[0]); uv_flag[0][1] = (uv_flag[0][1] - ofs[1]); uv_flag[1][0] = -(uv_flag[1][0] + ofs[0]); diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c index 68691cd3d05c..534166bf629c 100644 --- a/source/blender/blenkernel/intern/gpencil_modifier.c +++ b/source/blender/blenkernel/intern/gpencil_modifier.c @@ -275,7 +275,7 @@ void BKE_gpencil_simplify_stroke(bGPDstroke *gps, float factor) MEM_SAFE_FREE(points2d); } -/* Simplify alternate vertex of stroke except extrems */ +/* Simplify alternate vertex of stroke except extremes */ void BKE_gpencil_simplify_fixed(bGPDstroke *gps) { if (gps->totpoints < 5) { diff --git a/source/blender/blenloader/intern/blend_validate.c b/source/blender/blenloader/intern/blend_validate.c index 1bc503719b46..07d0379553de 100644 --- a/source/blender/blenloader/intern/blend_validate.c +++ b/source/blender/blenloader/intern/blend_validate.c @@ -68,7 +68,7 @@ bool BLO_main_validate_libraries(struct Main *bmain, struct ReportList *reports) if (id->lib != NULL) { is_valid = false; BKE_reportf(reports, RPT_ERROR, - "ID %s is in local database while being linked from library %s!\n", id->name, id->lib->name); + "ID %s is in local database while being linked from library %s!", id->name, id->lib->name); } } } @@ -77,7 +77,7 @@ bool BLO_main_validate_libraries(struct Main *bmain, struct ReportList *reports) Library *curlib = curmain->curlib; if (curlib == NULL) { BKE_reportf(reports, RPT_ERROR, - "Library database with NULL library datablock!\n"); + "Library database with NULL library datablock!"); continue; } @@ -86,7 +86,7 @@ bool BLO_main_validate_libraries(struct Main *bmain, struct ReportList *reports) if (bh == NULL) { BKE_reportf(reports, RPT_ERROR, - "Library ID %s not found at expected path %s!\n", curlib->id.name, curlib->filepath); + "Library ID %s not found at expected path %s!", curlib->id.name, curlib->filepath); continue; } @@ -100,7 +100,7 @@ bool BLO_main_validate_libraries(struct Main *bmain, struct ReportList *reports) if (GS(id->name) == ID_LI) { is_valid = false; BKE_reportf(reports, RPT_ERROR, - "Library ID %s in library %s, this should not happen!\n", id->name, curlib->name); + "Library ID %s in library %s, this should not happen!", id->name, curlib->name); continue; } @@ -110,13 +110,13 @@ bool BLO_main_validate_libraries(struct Main *bmain, struct ReportList *reports) if (id->lib == NULL) { is_valid = false; BKE_reportf(reports, RPT_ERROR, - "ID %s has NULL lib pointer while being in library %s!\n", id->name, curlib->name); + "ID %s has NULL lib pointer while being in library %s!", id->name, curlib->name); continue; } if (id->lib != curlib) { is_valid = false; BKE_reportf(reports, RPT_ERROR, - "ID %s has mismatched lib pointer!\n", id->name); + "ID %s has mismatched lib pointer!", id->name); continue; } @@ -131,7 +131,7 @@ bool BLO_main_validate_libraries(struct Main *bmain, struct ReportList *reports) if (name == NULL) { is_valid = false; BKE_reportf(reports, RPT_ERROR, - "ID %s not found in library %s anymore!\n", id->name, id->lib->name); + "ID %s not found in library %s anymore!", id->name, id->lib->name); continue; } } diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index c1d09a836cca..d806a9f9bd86 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -4128,7 +4128,7 @@ bool BLO_write_file( const int path_list_flag = (BKE_BPATH_TRAVERSE_SKIP_LIBRARY | BKE_BPATH_TRAVERSE_SKIP_MULTIFILE); if (G.debug & G_DEBUG_IO && mainvar->lock != NULL) { - BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *BEFORE* save to disk."); + BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *BEFORE* save to disk"); BLO_main_validate_libraries(mainvar, reports); } diff --git a/source/blender/draw/engines/eevee/eevee_lightcache.c b/source/blender/draw/engines/eevee/eevee_lightcache.c index 74cac25367cb..dd27b53ebc81 100644 --- a/source/blender/draw/engines/eevee/eevee_lightcache.c +++ b/source/blender/draw/engines/eevee/eevee_lightcache.c @@ -184,7 +184,7 @@ void EEVEE_lightcache_info_update(SceneEEVEE *eevee) if (lcache != NULL) { if (lcache->flag & LIGHTCACHE_BAKING) { - BLI_strncpy(eevee->light_cache_info, IFACE_("Baking light cache."), sizeof(eevee->light_cache_info)); + BLI_strncpy(eevee->light_cache_info, IFACE_("Baking light cache"), sizeof(eevee->light_cache_info)); return; } @@ -196,7 +196,7 @@ void EEVEE_lightcache_info_update(SceneEEVEE *eevee) BLI_snprintf(eevee->light_cache_info, sizeof(eevee->light_cache_info), IFACE_("%d Ref. Cubemaps, %d Irr. Samples (%s in memory)"), lcache->cube_len - 1, irr_samples, formatted_mem); } else { - BLI_strncpy(eevee->light_cache_info, IFACE_("No light cache in this scene."), sizeof(eevee->light_cache_info)); + BLI_strncpy(eevee->light_cache_info, IFACE_("No light cache in this scene"), sizeof(eevee->light_cache_info)); } } diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c index 8b655854ca17..273a8f216a45 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c @@ -1121,7 +1121,7 @@ void DRW_gpencil_triangulate_stroke_fill(Object *ob, bGPDstroke *gps) float minv[2]; float maxv[2]; /* first needs bounding box data */ - if (gpd->flag & GP_DATA_UV_ADAPTATIVE) { + if (gpd->flag & GP_DATA_UV_ADAPTIVE) { gpencil_calc_2d_bounding_box(points2d, gps->totpoints, minv, maxv); } else { diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c index 5cfc35d122ad..b61ea617b15d 100644 --- a/source/blender/editors/gpencil/gpencil_edit.c +++ b/source/blender/editors/gpencil/gpencil_edit.c @@ -2101,7 +2101,8 @@ void GPENCIL_OT_dissolve(wmOperatorType *ot) ot->flag = OPTYPE_UNDO | OPTYPE_REGISTER; /* props */ - ot->prop = RNA_def_enum(ot->srna, "type", prop_gpencil_dissolve_types, 0, "Type", "Method used for disolving Stroke points"); + ot->prop = RNA_def_enum(ot->srna, "type", prop_gpencil_dissolve_types, 0, + "Type", "Method used for dissolving Stroke points"); } /* ****************** Snapping - Strokes <-> Cursor ************************ */ diff --git a/source/blender/editors/interface/interface_eyedropper_colorband.c b/source/blender/editors/interface/interface_eyedropper_colorband.c index f414d524cd8e..a807a16671c6 100644 --- a/source/blender/editors/interface/interface_eyedropper_colorband.c +++ b/source/blender/editors/interface/interface_eyedropper_colorband.c @@ -321,7 +321,7 @@ void UI_OT_eyedropper_colorband_point(wmOperatorType *ot) /* identifiers */ ot->name = "Eyedropper colorband (points)"; ot->idname = "UI_OT_eyedropper_colorband_point"; - ot->description = "Pointsample a color band"; + ot->description = "Point-sample a color band"; /* api callbacks */ ot->invoke = eyedropper_colorband_invoke; diff --git a/source/blender/editors/screen/screen_user_menu.c b/source/blender/editors/screen/screen_user_menu.c index 399cbb1057dc..ef8588ca58c4 100644 --- a/source/blender/editors/screen/screen_user_menu.c +++ b/source/blender/editors/screen/screen_user_menu.c @@ -264,8 +264,8 @@ static void screen_user_menu_draw(const bContext *C, Menu *menu) MEM_freeN(um_array); if (is_empty) { - uiItemL(menu->layout, IFACE_("No menu items found."), ICON_NONE); - uiItemL(menu->layout, IFACE_("Right click on buttons to add them to this menu."), ICON_NONE); + uiItemL(menu->layout, IFACE_("No menu items found"), ICON_NONE); + uiItemL(menu->layout, IFACE_("Right click on buttons to add them to this menu"), ICON_NONE); } } diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h index af680b8fb9da..476bec9a9f81 100644 --- a/source/blender/makesdna/DNA_gpencil_modifier_types.h +++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h @@ -425,7 +425,7 @@ typedef enum eSimplifyGpencil_Mode { /* Keep only one vertex every n vertices */ GP_SIMPLIFY_FIXED = 0, /* Use RDP algorithm */ - GP_SIMPLIFY_ADAPTATIVE = 1, + GP_SIMPLIFY_ADAPTIVE = 1, } eSimplifyGpencil_Mode; typedef struct OffsetGpencilModifierData { diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index 4ed87a487fcc..3357c97a8d62 100644 --- a/source/blender/makesdna/DNA_gpencil_types.h +++ b/source/blender/makesdna/DNA_gpencil_types.h @@ -477,8 +477,8 @@ typedef enum eGPdata_Flag { GP_DATA_STROKE_FORCE_RECALC = (1 << 17), /* Special mode drawing polygons */ GP_DATA_STROKE_POLYGON = (1 << 18), - /* Use adaptative UV scales */ - GP_DATA_UV_ADAPTATIVE = (1 << 19), + /* Use adaptive UV scales */ + GP_DATA_UV_ADAPTIVE = (1 << 19), /* Autolock not active layers */ GP_DATA_AUTOLOCK_LAYERS = (1 << 20), /* Internal flag for python update */ diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c index fabb2ec73089..6cec826dccbb 100644 --- a/source/blender/makesrna/intern/rna_gpencil.c +++ b/source/blender/makesrna/intern/rna_gpencil.c @@ -1474,7 +1474,7 @@ static void rna_def_gpencil_data(BlenderRNA *brna) prop = RNA_def_property(srna, "xray_mode", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "xray_mode"); RNA_def_property_enum_items(prop, rna_enum_gpencil_xraymodes_items); - RNA_def_property_ui_text(prop, "Xray", ""); + RNA_def_property_ui_text(prop, "X-Ray", ""); RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, "rna_GPencil_update"); /* Flags */ @@ -1535,9 +1535,9 @@ static void rna_def_gpencil_data(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Force Fill Update", "Force recalc of fill data after use deformation modifiers (reduce FPS)"); RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, "rna_GPencil_update"); - prop = RNA_def_property(srna, "use_adaptative_uv", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_DATA_UV_ADAPTATIVE); - RNA_def_property_ui_text(prop, "Adaptative UV", "Automatic UVs are calculated depending of the stroke size"); + prop = RNA_def_property(srna, "use_adaptive_uv", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_DATA_UV_ADAPTIVE); + RNA_def_property_ui_text(prop, "Adaptive UV", "Automatic UVs are calculated depending of the stroke size"); RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, "rna_GPencil_update"); prop = RNA_def_property(srna, "use_autolock_layers", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c index aa1517a96d81..4edc10dcaf64 100644 --- a/source/blender/makesrna/intern/rna_gpencil_modifier.c +++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c @@ -544,9 +544,9 @@ static void rna_def_modifier_gpencilsimplify(BlenderRNA *brna) static EnumPropertyItem prop_gpencil_simplify_mode_items[] = { {GP_SIMPLIFY_FIXED, "FIXED", ICON_IPO_CONSTANT, "Fixed", - "Delete alternative vertices in the stroke, except extrems"}, - {GP_SIMPLIFY_ADAPTATIVE, "ADAPTATIVE", ICON_IPO_EASE_IN_OUT, "Adaptative", - "Use a RDP algorithm to simplify" }, + "Delete alternative vertices in the stroke, except extremes"}, + {GP_SIMPLIFY_ADAPTIVE, "ADAPTIVE", ICON_IPO_EASE_IN_OUT, "Adaptive", + "Use a RDP algorithm to simplify" }, {0, NULL, 0, NULL, NULL} }; diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index 9714a6e5484e..b9777be07684 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -3157,7 +3157,8 @@ static void rna_def_modifier_bevel(BlenderRNA *brna) prop = RNA_def_property(srna, "set_wn_strength", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flags", MOD_BEVEL_SET_WN_STR); - RNA_def_property_ui_text(prop, "Face Strength", "Set face strength of beveled faces for use in WN Modifier"); + RNA_def_property_ui_text(prop, "Face Strength", + "Set face strength of beveled faces for use in Weighted Normal modifier"); RNA_def_property_update(prop, 0, "rna_Modifier_update"); } diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 90aa997d1798..d6f6c54d055c 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -6238,7 +6238,7 @@ static void rna_def_scene_eevee(BlenderRNA *brna) RNA_def_property_boolean_sdna(prop, NULL, "flag", SCE_EEVEE_OVERSCAN); RNA_def_property_boolean_default(prop, 0); RNA_def_property_ui_text(prop, "Overscan", "Internally render past the image border to avoid " - "screen-space effects disapearing"); + "screen-space effects disappearing"); RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_STATIC); prop = RNA_def_property(srna, "overscan_size", PROP_FLOAT, PROP_PERCENTAGE); diff --git a/source/blender/makesrna/intern/rna_shader_fx.c b/source/blender/makesrna/intern/rna_shader_fx.c index 5c6e2addfc27..84ac8d1ad28b 100644 --- a/source/blender/makesrna/intern/rna_shader_fx.c +++ b/source/blender/makesrna/intern/rna_shader_fx.c @@ -371,7 +371,7 @@ static void rna_def_shader_fx_rim(BlenderRNA *brna) RNA_def_property_range(prop, 0.0, 1.0); RNA_def_property_float_sdna(prop, NULL, "mask_rgb"); RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Mask Color", "Color that must be keept"); + RNA_def_property_ui_text(prop, "Mask Color", "Color that must be kept"); RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE); @@ -383,7 +383,7 @@ static void rna_def_shader_fx_rim(BlenderRNA *brna) prop = RNA_def_property(srna, "blur", PROP_INT, PROP_PIXEL); RNA_def_property_int_sdna(prop, NULL, "blur"); RNA_def_property_range(prop, 0, INT_MAX); - RNA_def_property_ui_text(prop, "Blur", "Number of pixels for bluring rim (set to 0 to disable)"); + RNA_def_property_ui_text(prop, "Blur", "Number of pixels for blurring rim (set to 0 to disable)"); RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); @@ -470,7 +470,7 @@ static void rna_def_shader_fx_shadow(BlenderRNA *brna) prop = RNA_def_property(srna, "blur", PROP_INT, PROP_PIXEL); RNA_def_property_int_sdna(prop, NULL, "blur"); RNA_def_property_range(prop, 0, INT_MAX); - RNA_def_property_ui_text(prop, "Blur", "Number of pixels for bluring shadow (set to 0 to disable)"); + RNA_def_property_ui_text(prop, "Blur", "Number of pixels for blurring shadow (set to 0 to disable)"); RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); @@ -533,7 +533,7 @@ static void rna_def_shader_fx_glow(BlenderRNA *brna) prop = RNA_def_property(srna, "radius", PROP_INT, PROP_PIXEL); RNA_def_property_int_sdna(prop, NULL, "blur[0]"); RNA_def_property_range(prop, 0, INT_MAX); - RNA_def_property_ui_text(prop, "Radius", "Number of pixels for bluring glow (set to 0 to disable)"); + RNA_def_property_ui_text(prop, "Radius", "Number of pixels for blurring glow (set to 0 to disable)"); RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_ShaderFx_update"); prop = RNA_def_property(srna, "samples", PROP_INT, PROP_NONE); diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 5c7d9c1be48a..ccd71ff15bf7 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -853,7 +853,7 @@ void wm_homefile_read( app_template, app_template_system, sizeof(app_template_system))) { /* Can safely continue with code below, just warn it's not found. */ - BKE_reportf(reports, RPT_WARNING, "Application Template '%s' not found.", app_template); + BKE_reportf(reports, RPT_WARNING, "Application Template '%s' not found", app_template); } /* Insert template name into startup file. */ From 59b530ca1810f109c3696814655e427d912ad6b7 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Sun, 23 Dec 2018 22:03:12 +0100 Subject: [PATCH 36/94] Fix and workaround for i18n messages extraction code. --- .../bl_i18n_utils/bl_extract_messages.py | 5 +-- .../scripts/modules/bl_i18n_utils/settings.py | 2 ++ .../scripts/modules/bl_i18n_utils/utils.py | 33 +++++++++++-------- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py index f22675b481f5..0285a22a9238 100644 --- a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py +++ b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py @@ -379,7 +379,8 @@ def walk_keymap_hierarchy(hier, msgsrc_prev): km_i18n_context = bpy.app.translations.contexts.id_windowmanager for lvl in hier: msgsrc = msgsrc_prev + "." + lvl[1] - process_msg(msgs, km_i18n_context, lvl[0], msgsrc, reports, None, settings) + if isinstance(lvl[0], str): # Can be a function too, now, with tool system... + process_msg(msgs, km_i18n_context, lvl[0], msgsrc, reports, None, settings) if lvl[3]: walk_keymap_hierarchy(lvl[3], msgsrc) @@ -987,7 +988,7 @@ def main(): args = parser.parse_args(argv) settings = settings_i18n.I18nSettings() - settings.from_json(args.settings) + settings.load(args.settings) if args.output: settings.FILE_NAME_POT = args.output diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py index 230c351d80c2..8a0170b86d49 100644 --- a/release/scripts/modules/bl_i18n_utils/settings.py +++ b/release/scripts/modules/bl_i18n_utils/settings.py @@ -552,6 +552,8 @@ def load(self, fname, reset=False): self.__dict__ = {uid: data for uid, data in globals().items() if not uid.startswith("_")} if isinstance(fname, str): if not os.path.isfile(fname): + # Assume it is already real JSon string... + self.from_json(fname) return with open(fname) as f: self.from_json(f.read()) diff --git a/release/scripts/modules/bl_i18n_utils/utils.py b/release/scripts/modules/bl_i18n_utils/utils.py index 1db0beabb920..2116e39fd8e5 100644 --- a/release/scripts/modules/bl_i18n_utils/utils.py +++ b/release/scripts/modules/bl_i18n_utils/utils.py @@ -180,26 +180,33 @@ def enable_addons(addons=None, support=None, disable=False, check_only=False): prefs = bpy.context.preferences used_ext = {ext.module for ext in prefs.addons} + # XXX TEMP WORKAROUND + black_list = {"space_view3d_math_vis", + "object_scatter"} ret = [ mod for mod in addon_utils.modules() - if ((addons and mod.__name__ in addons) or - (not addons and addon_utils.module_bl_info(mod)["support"] in support)) + if (((addons and mod.__name__ in addons) or + (not addons and addon_utils.module_bl_info(mod)["support"] in support)) and + (mod.__name__ not in black_list)) ] if not check_only: for mod in ret: - module_name = mod.__name__ - if disable: - if module_name not in used_ext: - continue - print(" Disabling module ", module_name) - bpy.ops.wm.addon_disable(module=module_name) - else: - if module_name in used_ext: - continue - print(" Enabling module ", module_name) - bpy.ops.wm.addon_enable(module=module_name) + try: + module_name = mod.__name__ + if disable: + if module_name not in used_ext: + continue + print(" Disabling module ", module_name) + bpy.ops.wm.addon_disable(module=module_name) + else: + if module_name in used_ext: + continue + print(" Enabling module ", module_name) + bpy.ops.wm.addon_enable(module=module_name) + except Exception as e: # XXX TEMP WORKAROUND + print(e) # XXX There are currently some problems with bpy/rna... # *Very* tricky to solve! From e5e885d0ecb9430a73e0a904cdb6035a2ef77e98 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Sun, 23 Dec 2018 22:31:04 +0100 Subject: [PATCH 37/94] Fix floating panel (HUD) applying DPI incorrectly ARegion.sizex/y should never have DPI factor applied. For regular panel regions, DPI will be applied in region_rect_recursive already, causing it to be applied twice when region size is set dynamically (= based on content dimensions). --- .../blender/editors/interface/interface_region_hud.c | 4 ++-- source/blender/editors/screen/area.c | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/blender/editors/interface/interface_region_hud.c b/source/blender/editors/interface/interface_region_hud.c index 0a5a88f2cb6a..c30958a4d3a8 100644 --- a/source/blender/editors/interface/interface_region_hud.c +++ b/source/blender/editors/interface/interface_region_hud.c @@ -188,8 +188,8 @@ static void hud_region_layout(const bContext *C, ARegion *ar) if (ar->panels.first && (ar->sizey != size_y)) { View2D *v2d = &ar->v2d; - ar->winx = ar->sizex; - ar->winy = ar->sizey; + ar->winx = ar->sizex * UI_DPI_FAC; + ar->winy = ar->sizey * UI_DPI_FAC; ar->winrct.xmax = (ar->winrct.xmin + ar->winx) - 1; ar->winrct.ymax = (ar->winrct.ymin + ar->winy) - 1; diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 43ff12540db9..47c44468bc72 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -1250,8 +1250,8 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, rct max_ii(0, BLI_rcti_size_y(overlap_remainder) - UI_UNIT_Y / 2)); ar->winrct.xmin = overlap_remainder_margin.xmin; ar->winrct.ymin = overlap_remainder_margin.ymin; - ar->winrct.xmax = ar->winrct.xmin + ar->sizex - 1; - ar->winrct.ymax = ar->winrct.ymin + ar->sizey - 1; + ar->winrct.xmax = ar->winrct.xmin + prefsizex - 1; + ar->winrct.ymax = ar->winrct.ymin + prefsizey - 1; BLI_rcti_isect(&ar->winrct, &overlap_remainder_margin, &ar->winrct); @@ -2308,8 +2308,8 @@ void ED_region_panels_layout_ex( Panel *panel = ar->panels.last; if (panel != NULL) { int size_dyn[2] = { - UI_UNIT_X * ((panel->flag & PNL_CLOSED) ? 8 : 14), - UI_panel_size_y(panel), + UI_UNIT_X * ((panel->flag & PNL_CLOSED) ? 8 : 14) / UI_DPI_FAC, + UI_panel_size_y(panel) / UI_DPI_FAC, }; /* region size is layout based and needs to be updated */ if ((ar->sizex != size_dyn[0]) || @@ -2319,7 +2319,7 @@ void ED_region_panels_layout_ex( ar->sizey = size_dyn[1]; sa->flag |= AREA_FLAG_REGION_SIZE_UPDATE; } - y = ABS(ar->sizey - 1); + y = ABS(ar->sizey * UI_DPI_FAC - 1); } } else if (vertical) { From 28520e9652df2264bacf1f1f25ab657384d8817a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 24 Dec 2018 09:01:21 +0100 Subject: [PATCH 38/94] Fix T59799: crash entering texture paint mode. --- source/blender/draw/modes/shaders/paint_wire_vert.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/draw/modes/shaders/paint_wire_vert.glsl b/source/blender/draw/modes/shaders/paint_wire_vert.glsl index a92591b957db..b5ef921b8dce 100644 --- a/source/blender/draw/modes/shaders/paint_wire_vert.glsl +++ b/source/blender/draw/modes/shaders/paint_wire_vert.glsl @@ -13,7 +13,7 @@ void main() gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0); /* Add offset in Z to avoid zfighting and render selected wires on top. */ /* TODO scale this bias using znear and zfar range. */ - gl_Position.zw -= exp2(-20) * (is_select ? 2.0 : 1.0); + gl_Position.zw -= exp2(-20.0) * (is_select ? 2.0 : 1.0); if (is_hidden) { gl_Position = vec4(-2.0, -2.0, -2.0, 1.0); From 410142caffd1df20463925251f4925d5f105f23d Mon Sep 17 00:00:00 2001 From: Jonathan Merritt Date: Mon, 24 Dec 2018 12:05:58 +0100 Subject: [PATCH 39/94] Fix T59722: stencil texture overlay not working on macOS. --- source/blender/editors/sculpt_paint/paint_cursor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c index 6a2a374f87d1..75324f46cc6b 100644 --- a/source/blender/editors/sculpt_paint/paint_cursor.c +++ b/source/blender/editors/sculpt_paint/paint_cursor.c @@ -692,7 +692,7 @@ static void paint_draw_tex_overlay( } /* draw textured quad */ - immUniform1i("image", GL_TEXTURE0); + immUniform1i("image", 0); immBegin(GPU_PRIM_TRI_FAN, 4); immAttr2f(texCoord, 0.0f, 0.0f); From 1ac311cedc1a4694a3dd410776296747f8625e1d Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 24 Dec 2018 12:31:39 +0100 Subject: [PATCH 40/94] Fix/cleanup another bunch of UI messages issues. Also (mostly in comments): behaviour -> behavior (we use American English). --- .../scripts/modules/bl_i18n_utils/settings.py | 9 ++++++ .../bl_i18n_utils/utils_spell_check.py | 31 +++++++++++++++++-- .../bl_ui/properties_grease_pencil_common.py | 2 +- release/scripts/startup/bl_ui/space_view3d.py | 6 ++-- .../blender/alembic/intern/abc_customdata.cc | 2 +- source/blender/blenfont/intern/blf_font.c | 2 +- source/blender/blenkernel/intern/gpencil.c | 2 +- source/blender/blenkernel/intern/object.c | 2 +- .../blender/blenlib/intern/list_sort_impl.h | 2 +- source/blender/blenlib/intern/path_util.c | 2 +- .../blenloader/intern/versioning_270.c | 2 +- .../compositor/intern/COM_NodeOperation.h | 2 +- .../draw/engines/eevee/eevee_private.h | 2 +- .../blender/draw/intern/draw_manager_exec.c | 2 +- .../editors/animation/anim_channels_edit.c | 2 +- .../blender/editors/animation/anim_filter.c | 2 +- source/blender/editors/animation/keyframing.c | 8 ++--- .../blender/editors/gpencil/gpencil_brush.c | 4 +-- .../blender/editors/gpencil/gpencil_select.c | 2 +- source/blender/editors/io/io_collada.c | 4 +-- .../editors/space_action/action_data.c | 2 +- .../blender/editors/space_nla/nla_channels.c | 2 +- .../editors/transform/transform_conversions.c | 2 +- source/blender/editors/undo/ed_undo.c | 2 +- source/blender/gpu/intern/gpu_codegen.c | 2 +- .../makesdna/DNA_gpencil_modifier_types.h | 2 +- source/blender/makesrna/intern/rna_curve.c | 2 +- source/blender/makesrna/intern/rna_modifier.c | 2 +- source/blender/makesrna/intern/rna_nodetree.c | 10 ++++-- .../makesrna/intern/rna_object_force.c | 4 +-- source/blender/makesrna/intern/rna_scene.c | 2 +- .../makesrna/intern/rna_sculpt_paint.c | 2 +- source/blender/makesrna/intern/rna_space.c | 2 +- source/blender/makesrna/intern/rna_ui.c | 2 +- source/blender/makesrna/intern/rna_wm_api.c | 2 +- .../blender/windowmanager/intern/wm_files.c | 2 +- tests/gtests/blenlib/BLI_string_utf8_test.cc | 2 +- 37 files changed, 86 insertions(+), 48 deletions(-) diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py index 8a0170b86d49..9dc0a1ae89e4 100644 --- a/release/scripts/modules/bl_i18n_utils/settings.py +++ b/release/scripts/modules/bl_i18n_utils/settings.py @@ -331,20 +331,27 @@ "brown fox", "can't save image while rendering", "constructive modifier", + "cursor", + "custom matrix", + "custom orientation", "edge data", "expected a timeline/animation area to be active", "expected a view3d region", "expected a view3d region & editcurve", "expected a view3d region & editmesh", "face data", + "gimbal", + "global", "image file not found", "image format is read-only", "image path can't be written to", "in memory to enable editing!", "jumps over", "left", + "local", "multi-res modifier", "non-triangle face", + "normal", "right", "the lazy dog", "unable to load movie clip", @@ -359,7 +366,9 @@ "unsupported movie clip format", "vertex data", "verts only", + "view", "virtual parents", + "wmOwnerID '%s' not in workspace '%s'", } WARN_MSGID_NOT_CAPITALIZED_ALLOWED |= set(lng[2] for lng in LANGUAGES) diff --git a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py index f8a23a7deba7..87f4ad7f59e6 100644 --- a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py +++ b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py @@ -32,6 +32,7 @@ class SpellChecker: # These must be all lower case for comparisons uimsgs = { # OK words + "adaptively", "aren", # aren't "betweens", # yuck! in-betweens! "boolean", "booleans", @@ -45,6 +46,7 @@ class SpellChecker: "hasn", # hasn't "hetero", "hoc", # ad-hoc + "incompressible", "indices", "instantiation", "iridas", @@ -56,6 +58,7 @@ class SpellChecker: "mplayer", "ons", # add-ons "pong", # ping pong + "smoothen", "teleport", "teleporting", "vertices", @@ -78,6 +81,7 @@ class SpellChecker: "backscattered", "bandnoise", "bindcode", + "bitdepth", "bitflag", "bitflags", "bitrate", "blackbody", @@ -112,9 +116,11 @@ class SpellChecker: "gridline", "hardlight", "hemi", + "hostname", "inbetween", "inscatter", "inscattering", "libdata", + "lightprobe", "lightprobes", "lightless", "lineset", "linestyle", "linestyles", @@ -158,6 +164,7 @@ class SpellChecker: "raytree", "readonly", "realtime", + "reinject", "reinjected", "rekey", "remesh", "reprojection", "reproject", @@ -205,11 +212,13 @@ class SpellChecker: "unhide", "unindent", "unkeyed", + "unlink", "unlinked", "unmute", "unpremultiply", "unprojected", "unprotect", "unreacted", + "unreferenced", "unregister", "unselected", "unselectable", "unsubdivided", "unsubdivide", @@ -233,8 +242,10 @@ class SpellChecker: "determinator", "editability", "effectors", + "instancer", "keyer", "lacunarity", + "linkable", "numerics", "occluder", "occluders", "passepartout", @@ -244,14 +255,14 @@ class SpellChecker: "polycount", "polygonization", "polygonalization", # yuck! "scalings", - "selectability", + "selectable", "selectability", "spherize", "spherized", "stitchable", "symmetrize", "trackability", "transmissivity", "rasterized", "rasterization", "rasterizer", - "renderer", "renderable", "renderability", + "renderer", "renderers", "renderable", "renderability", # Really bad!!! "convertor", @@ -327,8 +338,10 @@ class SpellChecker: "affine", "albedo", "anamorphic", + "anisotropic", "bitangent", "boid", "boids", + "ceil", "curvilinear", "equiangular", "equisolid", @@ -337,6 +350,7 @@ class SpellChecker: "gettext", "hashable", "hotspot", + "interocular", "intrinsics", "irradiance", "isosurface", @@ -358,9 +372,11 @@ class SpellChecker: "photoreceptor", "poly", "polyline", "polylines", + "probabilistically", "pulldown", "pulldowns", "quantized", "quartic", + "quaternion", "quaternions", "quintic", "samplerate", "sawtooth", @@ -369,6 +385,7 @@ class SpellChecker: "scroller", "searchable", "spacebar", + "subtractive", "tooltip", "tooltips", "trackpad", "tuple", @@ -398,7 +415,7 @@ class SpellChecker: "collada", "compositing", "crossfade", - "cubemap", + "cubemap", "cubemaps", "cuda", "deinterlace", "dropoff", @@ -463,6 +480,7 @@ class SpellChecker: "colorband", "datablock", "datablocks", "despeckle", + "depsgraph", "dopesheet", "dupliface", "duplifaces", "dupliframe", "dupliframes", @@ -483,6 +501,7 @@ class SpellChecker: "gpencil", "idcol", "keyframe", "keyframes", "keyframing", "keyframed", + "lookdev", "luminocity", "mathvis", "metaball", "metaballs", "mball", @@ -494,6 +513,7 @@ class SpellChecker: "nabla", "navmesh", "outliner", + "overscan", "paintmap", "paintmaps", "polygroup", "polygroups", "poselib", @@ -532,11 +552,14 @@ class SpellChecker: # Algorithm/library names "ashikhmin", # Ashikhmin-Shirley "beckmann", + "blackman", # Blackman-Harris "blosc", + "burley", # Christensen-Burley "catmull", "catrom", "chebychev", "courant", + "cryptomatte", "crypto", "hosek", "kutta", "lennard", @@ -595,6 +618,7 @@ class SpellChecker: "hh", "mm", "ss", "ff", # hh:mm:ss:ff timecode "hsv", "hsva", "hsl", "id", + "ies", "ior", "itu", "lhs", @@ -608,6 +632,7 @@ class SpellChecker: "precisa", "px", "qmc", + "rdp", "rgb", "rgba", "rhs", "rv", diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py index 11aeb7413529..65d194e54d2e 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -212,7 +212,7 @@ def draw(self, context): col.operator("gpencil.stroke_subdivide", text="Subdivide") row = col.row(align=True) row.operator("gpencil.stroke_simplify_fixed", text="Simplify") - row.operator("gpencil.stroke_simplify", text="Adaptative") + row.operator("gpencil.stroke_simplify", text="Adaptive") col.separator() diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index b4bf8dcbed07..93f772785a55 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -3852,7 +3852,7 @@ class VIEW3D_MT_gpencil_simplify(Menu): def draw(self, context): layout = self.layout layout.operator("gpencil.stroke_simplify_fixed", text="Fixed") - layout.operator("gpencil.stroke_simplify", text="Adaptative") + layout.operator("gpencil.stroke_simplify", text="Adaptive") class VIEW3D_MT_paint_gpencil(Menu): @@ -5542,7 +5542,7 @@ def draw(self, context): layout.operator("gpencil.stroke_smooth", text="Smooth") layout.operator("gpencil.stroke_subdivide", text="Subdivide") layout.operator("gpencil.stroke_simplify_fixed", text="Simplify") - layout.operator("gpencil.stroke_simplify", text="Simplify Adaptative") + layout.operator("gpencil.stroke_simplify", text="Simplify Adaptive") layout.separator() layout.menu("GPENCIL_MT_separate", text="Separate") @@ -5588,7 +5588,7 @@ def draw(self, context): layout.operator("gpencil.stroke_subdivide", text="Subdivide") layout.operator("gpencil.stroke_simplify_fixed", text="Simplify") - layout.operator("gpencil.stroke_simplify", text="Simplify Adaptative") + layout.operator("gpencil.stroke_simplify", text="Simplify Adaptive") if context.mode == 'WEIGHT_GPENCIL': layout.separator() diff --git a/source/blender/alembic/intern/abc_customdata.cc b/source/blender/alembic/intern/abc_customdata.cc index 96685b6ac3a5..da69938f34ff 100644 --- a/source/blender/alembic/intern/abc_customdata.cc +++ b/source/blender/alembic/intern/abc_customdata.cc @@ -142,7 +142,7 @@ const char *get_uv_sample(UVSample &sample, const CDStreamConfig &config, Custom /* Convention to write UVs: * - V2fGeomParam on the arbGeomParam * - set scope as face varying - * - (optional due to its behaviour) tag as UV using Alembic::AbcGeom::SetIsUV + * - (optional due to its behavior) tag as UV using Alembic::AbcGeom::SetIsUV */ static void write_uv(const OCompoundProperty &prop, const CDStreamConfig &config, void *data, const char *name) { diff --git a/source/blender/blenfont/intern/blf_font.c b/source/blender/blenfont/intern/blf_font.c index eaf45d910344..c5d39a05c5d3 100644 --- a/source/blender/blenfont/intern/blf_font.c +++ b/source/blender/blenfont/intern/blf_font.c @@ -86,7 +86,7 @@ static SpinLock ft_lib_mutex; /** * Drawcalls are precious! make them count! * Since most of the Text elems are not covered by other UI elements, we can - * group some strings together and render them in one drawcall. This behaviour + * group some strings together and render them in one drawcall. This behavior * is on demand only, between BLF_batch_start() and BLF_batch_end(). **/ static void blf_batch_draw_init(void) diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c index 9eb95f91c61a..5f4445418901 100644 --- a/source/blender/blenkernel/intern/gpencil.c +++ b/source/blender/blenkernel/intern/gpencil.c @@ -364,7 +364,7 @@ bGPDlayer *BKE_gpencil_layer_addnew(bGPdata *gpd, const char *name, bool setacti BLI_insertlinkafter(&gpd->layers, gpl_active, gpl); } - /* annotation vs GP Object behaviour is slightly different */ + /* annotation vs GP Object behavior is slightly different */ if (gpd->flag & GP_DATA_ANNOTATIONS) { /* set default color of new strokes for this layer */ copy_v4_v4(gpl->color, U.gpencil_new_layer_col); diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index fd047c50d2cc..0bff2362661f 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1997,7 +1997,7 @@ static void ob_parbone(Object *ob, Object *par, float mat[4][4]) /* get bone transform */ if (pchan->bone->flag & BONE_RELATIVE_PARENTING) { - /* the new option uses the root - expected behaviour, but differs from old... */ + /* the new option uses the root - expected behavior, but differs from old... */ /* XXX check on version patching? */ copy_m4_m4(mat, pchan->chan_mat); } diff --git a/source/blender/blenlib/intern/list_sort_impl.h b/source/blender/blenlib/intern/list_sort_impl.h index 249ed470d6ed..062b4e396477 100644 --- a/source/blender/blenlib/intern/list_sort_impl.h +++ b/source/blender/blenlib/intern/list_sort_impl.h @@ -226,7 +226,7 @@ BLI_INLINE list_node *sweep_up(struct SortInfo *si, list_node *list, unsigned in * When inserting higher-ranked lists, we choose to clear out the lower ranks * in the interests of keeping the sort stable, but this makes analysis harder. * Note that clearing the lower-ranked lists is `O(length(list))--` thus it - * shouldn't affect the `O(n log n)` behaviour. + * shouldn't affect the `O(n log n)` behavior. * In other words, inserting one `rank-i` list is equivalent to inserting * `2**i` `rank-0` lists, thus even if we do `i` additional merges * in the clearing-out (taking at most `2**i` time) we are still fine. diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c index 2461a6ed50b7..5c9a56e33d2c 100644 --- a/source/blender/blenlib/intern/path_util.c +++ b/source/blender/blenlib/intern/path_util.c @@ -243,7 +243,7 @@ void BLI_cleanup_path(const char *relabase, char *path) /* Note: previous version of following call used an offset of 3 instead of 4, * which meant that the "/../home/me" example actually became "home/me". - * Using offset of 3 gives behaviour consistent with the abovementioned + * Using offset of 3 gives behavior consistent with the abovementioned * Python routine. */ memmove(path, path + 3, strlen(path + 3) + 1); } diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 8613ffc97fb4..7e201aaf1d1d 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -1515,7 +1515,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain) } if (!DNA_struct_elem_find(fd->filesdna, "FFMpegCodecData", "int", "constant_rate_factor")) { for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) { - /* fall back to behaviour from before we introduced CRF for old files */ + /* fall back to behavior from before we introduced CRF for old files */ scene->r.ffcodecdata.constant_rate_factor = FFM_CRF_NONE; } } diff --git a/source/blender/compositor/intern/COM_NodeOperation.h b/source/blender/compositor/intern/COM_NodeOperation.h index 101613434445..ad9842caa74c 100644 --- a/source/blender/compositor/intern/COM_NodeOperation.h +++ b/source/blender/compositor/intern/COM_NodeOperation.h @@ -151,7 +151,7 @@ class NodeOperation : public SocketReader { /** * \brief isOutputOperation determines whether this operation is an output of the ExecutionSystem during rendering or editing. * - * Default behaviour if not overridden, this operation will not be evaluated as being an output of the ExecutionSystem. + * Default behavior if not overridden, this operation will not be evaluated as being an output of the ExecutionSystem. * * \see ExecutionSystem * \group check diff --git a/source/blender/draw/engines/eevee/eevee_private.h b/source/blender/draw/engines/eevee/eevee_private.h index 451b1013103b..a321e68b8152 100644 --- a/source/blender/draw/engines/eevee/eevee_private.h +++ b/source/blender/draw/engines/eevee/eevee_private.h @@ -742,7 +742,7 @@ typedef struct EEVEE_LampEngineData { DrawData dd; bool need_update; - /* This needs to be out of the union to avoid undefined behaviour. */ + /* This needs to be out of the union to avoid undefined behavior. */ short prev_cube_shadow_id; union { struct EEVEE_LightData ld; diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c index 88db0f072673..73859423eb9a 100644 --- a/source/blender/draw/intern/draw_manager_exec.c +++ b/source/blender/draw/intern/draw_manager_exec.c @@ -927,7 +927,7 @@ static void bind_ubo(GPUUniformBuffer *ubo, char bind_type) return; } } - /* printf so user can report bad behaviour */ + /* printf so user can report bad behavior */ printf("Not enough ubo slots! This should not happen!\n"); /* This is not depending on user input. * It is our responsibility to make sure there is enough slots. */ diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index 2ace4874dae8..26de5c3afc8d 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -3058,7 +3058,7 @@ static void ANIM_OT_channels_click(wmOperatorType *ot) ot->flag = OPTYPE_UNDO; /* properties */ - /* NOTE: don't save settings, otherwise, can end up with some weird behaviour (sticky extend) */ + /* NOTE: don't save settings, otherwise, can end up with some weird behavior (sticky extend) */ prop = RNA_def_boolean(ot->srna, "extend", false, "Extend Select", ""); // SHIFTKEY RNA_def_property_flag(prop, PROP_SKIP_SAVE); diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c index 2d528a0f0b91..1567c72c2b26 100644 --- a/source/blender/editors/animation/anim_filter.c +++ b/source/blender/editors/animation/anim_filter.c @@ -2991,7 +2991,7 @@ static size_t animdata_filter_dopesheet(bAnimContext *ac, ListBase *anim_data, b * to make it easier to predict where items are in the hierarchy * - This order only really matters if we need to show all channels in the list (e.g. for drawing) * (XXX: What about lingering "active" flags? The order may now become unpredictable) - * - Don't do this if this behaviour has been turned off (i.e. due to it being too slow) + * - Don't do this if this behavior has been turned off (i.e. due to it being too slow) * - Don't do this if there's just a single object */ if ((filter_mode & ANIMFILTER_LIST_CHANNELS) && !(ads->flag & ADS_FLAG_NO_DB_SORT) && diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c index b93c2ae5c7b8..02d5e2cb28af 100644 --- a/source/blender/editors/animation/keyframing.c +++ b/source/blender/editors/animation/keyframing.c @@ -479,7 +479,7 @@ int insert_vert_fcurve(FCurve *fcu, float x, float y, eBezTriple_KeyframeType ke /* set default handle types and interpolation mode */ if (flag & INSERTKEY_NO_USERPREF) { - /* for Py-API, we want scripts to have predictable behaviour, + /* for Py-API, we want scripts to have predictable behavior, * hence the option to not depend on the userpref defaults */ beztr.h1 = beztr.h2 = HD_AUTO_ANIM; @@ -1007,7 +1007,7 @@ bool insert_keyframe_direct(Depsgraph *depsgraph, ReportList *reports, PointerRN } } - /* update F-Curve flags to ensure proper behaviour for property type */ + /* update F-Curve flags to ensure proper behavior for property type */ update_autoflags_fcurve_direct(fcu, prop); /* adjust frame on which to add keyframe */ @@ -1949,9 +1949,9 @@ static int insert_key_button_exec(bContext *C, wmOperator *op) /* Special exception for keyframing transforms: * Set "group" for this manually, instead of having them appearing at the bottom (ungrouped) - * part of the channels list. Leaving these ungrouped is not a nice user behaviour in this case. + * part of the channels list. Leaving these ungrouped is not a nice user behavior in this case. * - * TODO: Perhaps we can extend this behaviour in future for other properties... + * TODO: Perhaps we can extend this behavior in future for other properties... */ if (ptr.type == &RNA_PoseBone) { bPoseChannel *pchan = (bPoseChannel *)ptr.data; diff --git a/source/blender/editors/gpencil/gpencil_brush.c b/source/blender/editors/gpencil/gpencil_brush.c index 5ec55d1e98eb..2c2a45102951 100644 --- a/source/blender/editors/gpencil/gpencil_brush.c +++ b/source/blender/editors/gpencil/gpencil_brush.c @@ -224,13 +224,13 @@ static GP_Sculpt_Data *gpsculpt_get_brush(Scene *scene, bool is_weight_mode) /* Brush Operations ------------------------------- */ -/* Invert behaviour of brush? */ +/* Invert behavior of brush? */ static bool gp_brush_invert_check(tGP_BrushEditData *gso) { /* The basic setting is the brush's setting (from the panel) */ bool invert = ((gso->gp_brush->flag & GP_SCULPT_FLAG_INVERT) != 0); - /* During runtime, the user can hold down the Ctrl key to invert the basic behaviour */ + /* During runtime, the user can hold down the Ctrl key to invert the basic behavior */ if (gso->flag & GP_SCULPT_FLAG_INVERT) { invert ^= true; } diff --git a/source/blender/editors/gpencil/gpencil_select.c b/source/blender/editors/gpencil/gpencil_select.c index 8b1f652f7c59..fff753cf3a95 100644 --- a/source/blender/editors/gpencil/gpencil_select.c +++ b/source/blender/editors/gpencil/gpencil_select.c @@ -1419,7 +1419,7 @@ static int gpencil_select_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - /* adjust selection behaviour - for toggle option */ + /* adjust selection behavior - for toggle option */ if (toggle) { deselect = (hit_point->flag & GP_SPOINT_SELECT) != 0; } diff --git a/source/blender/editors/io/io_collada.c b/source/blender/editors/io/io_collada.c index 943f6743ec06..01cbeee7d280 100644 --- a/source/blender/editors/io/io_collada.c +++ b/source/blender/editors/io/io_collada.c @@ -456,7 +456,7 @@ void WM_OT_collada_export(wmOperatorType *ot) WM_FILESEL_FILEPATH, FILE_DEFAULTDISPLAY, FILE_SORT_ALPHA); RNA_def_enum(func, "prop_bc_export_ui_section", prop_bc_export_ui_section, 0, - "Export Section", "Only for User Interface Organisation"); + "Export Section", "Only for User Interface organization"); RNA_def_boolean(func, "apply_modifiers", 0, "Apply Modifiers", @@ -501,7 +501,7 @@ void WM_OT_collada_export(wmOperatorType *ot) "Keep Smooth curves", "Export also the curve handles (if available).\nThis does only work when the inverse parent matrix is the Unity matrix\nOtherwise you may end up with odd results\n"); RNA_def_boolean(func, "keep_keyframes", 0, - "Keep Keyframes", "Use existing keyframes as additional sample points.\nThis helps when you want to keep manual tweeks"); + "Keep Keyframes", "Use existing keyframes as additional sample points (this helps when you want to keep manual tweaks)"); RNA_def_boolean(func, "active_uv_only", 0, "Only Selected UV Map", "Export only the selected UV Map"); diff --git a/source/blender/editors/space_action/action_data.c b/source/blender/editors/space_action/action_data.c index a3773110d0fb..fa5a13a81b69 100644 --- a/source/blender/editors/space_action/action_data.c +++ b/source/blender/editors/space_action/action_data.c @@ -647,7 +647,7 @@ static int action_unlink_exec(bContext *C, wmOperator *op) static int action_unlink_invoke(bContext *C, wmOperator *op, const wmEvent *evt) { - /* NOTE: this is hardcoded to match the behaviour for the unlink button (in interface_templates.c) */ + /* NOTE: this is hardcoded to match the behavior for the unlink button (in interface_templates.c) */ RNA_boolean_set(op->ptr, "force_delete", evt->shift != 0); return action_unlink_exec(C, op); } diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c index 0dae0e20319c..2bd5bafe2d49 100644 --- a/source/blender/editors/space_nla/nla_channels.c +++ b/source/blender/editors/space_nla/nla_channels.c @@ -557,7 +557,7 @@ static int nla_action_unlink_exec(bContext *C, wmOperator *op) static int nla_action_unlink_invoke(bContext *C, wmOperator *op, const wmEvent *evt) { - /* NOTE: this is hardcoded to match the behaviour for the unlink button (in interface_templates.c) */ + /* NOTE: this is hardcoded to match the behavior for the unlink button (in interface_templates.c) */ RNA_boolean_set(op->ptr, "force_delete", evt->shift != 0); return nla_action_unlink_exec(C, op); } diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index b04a9b080877..8c3187d92a02 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -5059,7 +5059,7 @@ void flushTransGraphData(TransInfo *t) break; case SACTSNAP_TSTEP: /* second step */ - /* XXX: the handle behaviour in this case is still not quite right... */ + /* XXX: the handle behavior in this case is still not quite right... */ td2d->loc[0] = floor(((double)td2d->loc[0] / secf) + 0.5) * secf; td->loc[0] = floor(((double)td->loc[0] / secf) + 0.5) * secf; break; diff --git a/source/blender/editors/undo/ed_undo.c b/source/blender/editors/undo/ed_undo.c index dd4597490299..9c29b370b923 100644 --- a/source/blender/editors/undo/ed_undo.c +++ b/source/blender/editors/undo/ed_undo.c @@ -206,7 +206,7 @@ static int ed_undo_step(bContext *C, int step, const char *undoname, ReportList if (G.debug & G_DEBUG_IO) { Main *bmain = CTX_data_main(C); if (bmain->lock != NULL) { - BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *AFTER* undo step."); + BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *AFTER* undo step"); BLO_main_validate_libraries(bmain, reports); } } diff --git a/source/blender/gpu/intern/gpu_codegen.c b/source/blender/gpu/intern/gpu_codegen.c index 952886bafeda..4360941e3326 100644 --- a/source/blender/gpu/intern/gpu_codegen.c +++ b/source/blender/gpu/intern/gpu_codegen.c @@ -1972,7 +1972,7 @@ void GPU_pass_compile(GPUPass *pass, const char *shname) shname); /* NOTE: Some drivers / gpu allows more active samplers than the opengl limit. - * We need to make sure to count active samplers to avoid undefined behaviour. */ + * We need to make sure to count active samplers to avoid undefined behavior. */ if (!gpu_pass_shader_validate(pass)) { if (pass->shader != NULL) { fprintf(stderr, "GPUShader: error: too many samplers in shader.\n"); diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h index 476bec9a9f81..5a0707d385f5 100644 --- a/source/blender/makesdna/DNA_gpencil_modifier_types.h +++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h @@ -280,7 +280,7 @@ typedef struct BuildGpencilModifierData { float start_delay; /* For each pair of gp keys, number of frames before strokes start appearing */ float length; /* For each pair of gp keys, number of frames that build effect must be completed within */ - short flag; /* (eGpencilBuild_Flag) Options for controlling modifier behaviour */ + short flag; /* (eGpencilBuild_Flag) Options for controlling modifier behavior */ short mode; /* (eGpencilBuild_Mode) How are strokes ordered */ short transition; /* (eGpencilBuild_Transition) In what order do stroke points appear/disappear */ diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c index 17159d15ddee..b6bdb91720e6 100644 --- a/source/blender/makesrna/intern/rna_curve.c +++ b/source/blender/makesrna/intern/rna_curve.c @@ -999,7 +999,7 @@ static void rna_def_font(BlenderRNA *UNUSED(brna), StructRNA *srna) RNA_def_property_enum_items(prop, prop_overflow_items); RNA_def_property_enum_default(prop, CU_OVERFLOW_NONE); RNA_def_property_ui_text(prop, "Textbox Overflow", - "Handle the text behaviour when it doesn't fit in the text boxes"); + "Handle the text behavior when it doesn't fit in the text boxes"); RNA_def_property_update(prop, 0, "rna_Curve_update_data"); /* number values */ diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index b9777be07684..541e5c772f8d 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -1554,7 +1554,7 @@ static void rna_def_modifier_mirror(BlenderRNA *brna) prop = RNA_def_property(srna, "use_bisect_axis", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MIR_BISECT_AXIS_X); RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Bisect Axis", "Cuts the mesh across the mirrorplane"); + RNA_def_property_ui_text(prop, "Bisect Axis", "Cuts the mesh across the mirror plane"); RNA_def_property_update(prop, 0, "rna_Modifier_update"); prop = RNA_def_property(srna, "use_bisect_flip_axis", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index ca532b16bc33..05f757124554 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -3333,9 +3333,13 @@ static const EnumPropertyItem node_hair_items[] = { }; static const EnumPropertyItem node_principled_hair_items[] = { - {SHD_PRINCIPLED_HAIR_DIRECT_ABSORPTION, "ABSORPTION", 0, "Absorption coefficient", "Directly set the absorption coefficient sigma_a. This is not the most intuitive way to color hair."}, - {SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION, "MELANIN", 0, "Melanin concentration", "Define the melanin concentrations below to get the most realistic-looking hair. You can get the concentrations for different types of hair online."}, - {SHD_PRINCIPLED_HAIR_REFLECTANCE, "COLOR", 0, "Direct coloring", "Choose the color of your preference, and the shader will approximate the absorption coefficient to render lookalike hair."}, + {SHD_PRINCIPLED_HAIR_DIRECT_ABSORPTION, "ABSORPTION", 0, "Absorption coefficient", + "Directly set the absorption coefficient sigma_a (this is not the most intuitive way to color hair)"}, + {SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION, "MELANIN", 0, "Melanin concentration", + "Define the melanin concentrations below to get the most realistic-looking hair" + "(you can get the concentrations for different types of hair online)"}, + {SHD_PRINCIPLED_HAIR_REFLECTANCE, "COLOR", 0, "Direct coloring", + "Choose the color of your preference, and the shader will approximate the absorption coefficient to render lookalike hair"}, {0, NULL, 0, NULL, NULL} }; diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c index ee58fff2e788..6513fb44cf35 100644 --- a/source/blender/makesrna/intern/rna_object_force.c +++ b/source/blender/makesrna/intern/rna_object_force.c @@ -843,7 +843,7 @@ static void rna_def_ptcache_point_caches(BlenderRNA *brna, PropertyRNA *cprop) /* And define another RNA type for those collection items. */ srna = RNA_def_struct(brna, "PointCacheItem", NULL); RNA_def_struct_sdna(srna, "PointCache"); - RNA_def_struct_ui_text(srna, "Point Cache", "point cache for physics simulations"); + RNA_def_struct_ui_text(srna, "Point Cache", "Point cache for physics simulations"); RNA_def_struct_ui_icon(srna, ICON_PHYSICS); rna_def_pointcache_common(srna); @@ -1603,7 +1603,7 @@ static void rna_def_softbody(BlenderRNA *brna) prop = RNA_def_property(srna, "spring_length", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "springpreload"); RNA_def_property_range(prop, 0.0f, 200.0f); - RNA_def_property_ui_text(prop, "view_layer", "Alter spring length to shrink/blow up (unit %) 0 to disable"); + RNA_def_property_ui_text(prop, "View Layer", "Alter spring length to shrink/blow up (unit %) 0 to disable"); RNA_def_property_update(prop, 0, "rna_softbody_update"); prop = RNA_def_property(srna, "aero", PROP_INT, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index d6f6c54d055c..a9a23ad4cea6 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -118,7 +118,7 @@ const EnumPropertyItem rna_enum_uv_sculpt_tool_items[] = { const EnumPropertyItem rna_enum_snap_target_items[] = { {SCE_SNAP_TARGET_CLOSEST, "CLOSEST", 0, "Closest", "Snap closest point onto target"}, - {SCE_SNAP_TARGET_CENTER, "CENTER", 0, "Center", "Snap transormation center onto target"}, + {SCE_SNAP_TARGET_CENTER, "CENTER", 0, "Center", "Snap transformation center onto target"}, {SCE_SNAP_TARGET_MEDIAN, "MEDIAN", 0, "Median", "Snap median onto target"}, {SCE_SNAP_TARGET_ACTIVE, "ACTIVE", 0, "Active", "Snap active onto target"}, {0, NULL, 0, NULL, NULL} diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c index 609c602c27ea..0a2ba07f6ff5 100644 --- a/source/blender/makesrna/intern/rna_sculpt_paint.c +++ b/source/blender/makesrna/intern/rna_sculpt_paint.c @@ -1360,7 +1360,7 @@ static void rna_def_gpencil_sculpt(BlenderRNA *brna) RNA_def_property_array(prop, 3); RNA_def_property_range(prop, 0.0f, 1.0f); RNA_def_property_float_array_default(prop, default_2); - RNA_def_property_ui_text(prop, "Cursor Sub", "Color for the cursor for substration"); + RNA_def_property_ui_text(prop, "Cursor Sub", "Color for the cursor for substraction"); RNA_def_parameter_clear_flags(prop, PROP_ANIMATABLE, 0); prop = RNA_def_property(srna, "use_cursor", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index c5ac3cdc4d1b..6dc1b0c32e72 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -3328,7 +3328,7 @@ static void rna_def_space_view3d(BlenderRNA *brna) prop = RNA_def_property(srna, "icon_from_show_object_viewport", PROP_INT, PROP_NONE); RNA_def_property_int_funcs(prop, "rna_SpaceView3D_icon_from_show_object_viewport_get", NULL, NULL); RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Visibility Iconm", ""); + RNA_def_property_ui_text(prop, "Visibility Icon", ""); } /* Nested Structs */ diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c index 7c792f04f023..f51aad43f69f 100644 --- a/source/blender/makesrna/intern/rna_ui.c +++ b/source/blender/makesrna/intern/rna_ui.c @@ -1234,7 +1234,7 @@ static void rna_def_panel(BlenderRNA *brna) prop = RNA_def_property(srna, "bl_parent_id", PROP_STRING, PROP_NONE); RNA_def_property_string_sdna(prop, NULL, "type->parent_id"); RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); - RNA_def_property_ui_text(prop, "Parent ID Name", "If this is set, the panel becomes a subpanel"); + RNA_def_property_ui_text(prop, "Parent ID Name", "If this is set, the panel becomes a sub-panel"); prop = RNA_def_property(srna, "bl_ui_units_x", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, NULL, "type->ui_units_x"); diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c index f698f71ad248..51291f70cfaa 100644 --- a/source/blender/makesrna/intern/rna_wm_api.c +++ b/source/blender/makesrna/intern/rna_wm_api.c @@ -253,7 +253,7 @@ static wmKeyMapItem *rna_KeyMap_item_new_from_item( /* wmWindowManager *wm = CTX_wm_manager(C); */ if ((km->flag & KEYMAP_MODAL) == (kmi_src->idname[0] != '\0')) { - BKE_report(reports, RPT_ERROR, "Can not mix mondal/non-modal items"); + BKE_report(reports, RPT_ERROR, "Can not mix modal/non-modal items"); return NULL; } diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index ccd71ff15bf7..715ab5166b64 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -2419,7 +2419,7 @@ static uiBlock *block_create_autorun_warning(struct bContext *C, struct ARegion uiLayout *sub = uiLayoutRow(col, true); uiLayoutSetRedAlert(sub, true); uiItemL(sub, G.autoexec_fail, ICON_BLANK1); - uiItemL(col, IFACE_("This may lead to unexpected behavior."), ICON_BLANK1); + uiItemL(col, IFACE_("This may lead to unexpected behavior"), ICON_BLANK1); uiItemS(layout); diff --git a/tests/gtests/blenlib/BLI_string_utf8_test.cc b/tests/gtests/blenlib/BLI_string_utf8_test.cc index 30dbccc97fea..755f3e48c559 100644 --- a/tests/gtests/blenlib/BLI_string_utf8_test.cc +++ b/tests/gtests/blenlib/BLI_string_utf8_test.cc @@ -271,7 +271,7 @@ const char *utf8_invalid_tests[][3] = { // (to convert between UTF-16LE and UTF-16BE). // With such internal use of noncharacters, it may be desirable and safer to block those code points in // UTF-8 decoders, as they should never occur legitimately in incoming UTF-8 data, and could trigger -// unsafe behaviour in subsequent processing. +// unsafe behavior in subsequent processing. // // Particularly problematic noncharacters in 16-bit applications: {"5.3.1 U+FFFE = ef bf be = \"\xef\xbf\xbe\" |", From 64671e53d20c2a30c64b98c747b0e002218c3952 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 24 Dec 2018 14:36:04 +0100 Subject: [PATCH 41/94] Build script: Don't use external Pugi for OSL Now, things are becoming REALLY confusing. The script does build pugi, but is never telling OIIO to use an external one. Which makes it to use a bundled one. Trying to link OSL to a different version of pugi causes a lot of linking errors. Interestingly enough, that was me who made OSL to use external pugi to solve configuration problem. But now i can not reproduce that anymore. Ideally we would either link everything against our pugi, or not compile it at all. --- build_files/build_environment/cmake/osl.cmake | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build_files/build_environment/cmake/osl.cmake b/build_files/build_environment/cmake/osl.cmake index b3cf73569260..795892f29e2d 100644 --- a/build_files/build_environment/cmake/osl.cmake +++ b/build_files/build_environment/cmake/osl.cmake @@ -81,11 +81,6 @@ if(WIN32) ${OSL_EXTRA_ARGS} -DPUGIXML_HOME=${LIBDIR}/pugixml ) -elseif(UNIX AND NOT APPLE) - set(OSL_EXTRA_ARGS - ${OSL_EXTRA_ARGS} - -DPUGIXML_HOME=${LIBDIR}/pugixml - ) elseif(APPLE) # Make symbol hiding consistent with OIIO which defaults to OFF, # avoids linker warnings on macOS From 6d89337257b6f3ec0b300e13c1322f5171d966af Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 24 Dec 2018 15:02:20 +0100 Subject: [PATCH 42/94] Fix/cleanup typos and such in UI messages (and some comments). --- intern/cycles/blender/addon/properties.py | 2 +- .../scripts/modules/bl_i18n_utils/settings.py | 9 +++- .../bl_i18n_utils/utils_spell_check.py | 38 +++++++++++-- .../bl_ui/properties_grease_pencil_common.py | 2 +- .../scripts/startup/bl_ui/space_userpref.py | 4 +- source/blender/blenloader/intern/writefile.c | 2 +- source/blender/editors/io/io_collada.c | 54 +++++++++---------- source/blender/editors/screen/screen_ops.c | 2 +- .../editors/sculpt_paint/paint_cursor.c | 2 +- source/blender/editors/space_node/node_edit.c | 2 +- source/blender/editors/undo/ed_undo.c | 2 +- .../editors/uvedit/uvedit_smart_stitch.c | 4 +- .../intern/python/BPy_MediumType.cpp | 2 +- .../blender/freestyle/intern/stroke/Stroke.h | 2 +- source/blender/makesrna/intern/rna_access.c | 4 +- .../makesrna/intern/rna_gpencil_modifier.c | 2 +- .../blender/makesrna/intern/rna_lightprobe.c | 2 +- source/blender/makesrna/intern/rna_nodetree.c | 2 +- source/blender/makesrna/intern/rna_particle.c | 2 +- .../makesrna/intern/rna_sculpt_paint.c | 2 +- .../blender/makesrna/intern/rna_shader_fx.c | 2 +- tests/gtests/blenlib/BLI_math_base_test.cc | 2 +- 22 files changed, 90 insertions(+), 55 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 6ffe651d90e8..243e0571a97f 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -1144,7 +1144,7 @@ class CyclesObjectSettings(bpy.types.PropertyGroup): name="Holdout", description="Render objects as a holdout or matte, creating a " "hole in the image with zero alpha, to fill out in " - "compositing with real footange or another render", + "compositing with real footage or another render", default=False, ) diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py index 9dc0a1ae89e4..12bef06f022b 100644 --- a/release/scripts/modules/bl_i18n_utils/settings.py +++ b/release/scripts/modules/bl_i18n_utils/settings.py @@ -296,6 +296,11 @@ "fps: %i", "gimbal", "global", + "glTF 2.0 (.glb/.gltf)", + "glTF Binary (.glb)", + "glTF Embedded (.gltf)", + "glTF Separate (.gltf + .bin + textures)", + "invoke() needs to be called before execute()", "iScale", "iso-8859-15", "iTaSC", @@ -325,6 +330,7 @@ "vBVH", "view", "wav", + "wmOwnerID '%s' not in workspace '%s'", "y", # Sub-strings. "available with", @@ -332,6 +338,7 @@ "can't save image while rendering", "constructive modifier", "cursor", + "custom", "custom matrix", "custom orientation", "edge data", @@ -368,7 +375,6 @@ "verts only", "view", "virtual parents", - "wmOwnerID '%s' not in workspace '%s'", } WARN_MSGID_NOT_CAPITALIZED_ALLOWED |= set(lng[2] for lng in LANGUAGES) @@ -380,6 +386,7 @@ "Pad.", " RNA Path: bpy.types.", "Temp. Diff.", + "Temperature Diff.", } PARSER_CACHE_HASH = 'sha1' diff --git a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py index 87f4ad7f59e6..3418b4af7698 100644 --- a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py +++ b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py @@ -39,6 +39,7 @@ class SpellChecker: "couldn", # couldn't "decrement", "derivate", + "deterministically", "doesn", # doesn't "equi", # equi-angular, etc. "fader", @@ -58,7 +59,10 @@ class SpellChecker: "mplayer", "ons", # add-ons "pong", # ping pong + "scalable", + "shadeless", "smoothen", + "spacings", "teleport", "teleporting", "vertices", @@ -69,6 +73,7 @@ class SpellChecker: "autocomplete", "autoexec", "autoexecution", + "autogenerated", "autolock", "autoname", "autopack", @@ -134,7 +139,7 @@ class SpellChecker: "multi", "multifractal", "multiframe", - "multilayer" + "multilayer", "multipaint", "multires", "multiresolution", "multisampling", @@ -153,6 +158,7 @@ class SpellChecker: "pre", "precache", "precaching", "precalculate", + "precomputing", "prefetch", "premultiply", "premultiplied", "prepass", @@ -171,6 +177,7 @@ class SpellChecker: "resize", "restpose", "retarget", "retargets", "retargeting", "retargeted", + "retiming", "rigidbody", "ringnoise", "rolloff", @@ -191,6 +198,7 @@ class SpellChecker: "subclass", "subclasses", "subclassing", "subdirectory", "subdirectories", "subdir", "subdirs", "subitem", + "submode", "submodule", "submodules", "subpath", "subsize", @@ -214,17 +222,19 @@ class SpellChecker: "unkeyed", "unlink", "unlinked", "unmute", + "unphysical", "unpremultiply", "unprojected", "unprotect", "unreacted", "unreferenced", "unregister", - "unselected", "unselectable", + "unselect", "unselected", "unselectable", "unsubdivided", "unsubdivide", "unshadowed", "unspill", "unstitchable", + "untrusted", "vectorscope", "whitespace", "whitespaces", "worldspace", @@ -242,12 +252,14 @@ class SpellChecker: "determinator", "editability", "effectors", + "expander", "instancer", "keyer", "lacunarity", "linkable", "numerics", "occluder", "occluders", + "overridable", "passepartout", "perspectively", "pixelate", @@ -256,6 +268,7 @@ class SpellChecker: "polygonization", "polygonalization", # yuck! "scalings", "selectable", "selectability", + "shaper", "spherize", "spherized", "stitchable", "symmetrize", @@ -288,10 +301,12 @@ class SpellChecker: "expr", "fac", "fra", + "fract", "frs", "grless", "http", "init", + "irr", # Irradiance "kbit", "kb", "lang", "langs", "lclick", "rclick", @@ -320,6 +335,7 @@ class SpellChecker: "sel", "spec", "struct", "structs", + "subdiv", "sys", "tex", "tmr", # timer @@ -330,6 +346,7 @@ class SpellChecker: "vel", # velocity! "vert", "verts", "vis", + "vram", "xor", "xyz", "xzy", "yxz", "yzx", "zxy", "zyx", "xy", "xz", "yx", "yz", "zx", "zy", @@ -338,10 +355,11 @@ class SpellChecker: "affine", "albedo", "anamorphic", - "anisotropic", + "anisotropic", "anisotropy", "bitangent", "boid", "boids", "ceil", + "compressibility", "curvilinear", "equiangular", "equisolid", @@ -421,6 +439,7 @@ class SpellChecker: "dropoff", "dv", "eigenvectors", + "emissive", "equirectangular", "fisheye", "framerate", @@ -455,10 +474,12 @@ class SpellChecker: "specular", "specularity", "spillmap", "sobel", + "stereoscopy", "texel", + "timecode", "tonemap", "toon", - "timecode", + "transmissive", "vividlight", "volumetrics", "voronoi", @@ -471,6 +492,7 @@ class SpellChecker: # Blender terms "audaspace", "azone", # action zone + "backwire", "bbone", "bendy", # bones "bmesh", @@ -498,6 +520,7 @@ class SpellChecker: "freestyle", "enum", "enums", "gizmogroup", + "gons", # N-Gons "gpencil", "idcol", "keyframe", "keyframes", "keyframing", "keyframed", @@ -520,7 +543,7 @@ class SpellChecker: "pushpull", "pyconstraint", "pyconstraints", "qe", # keys... - "shaderfx", + "shaderfx", "shaderfxs", "shapekey", "shapekeys", "shrinkfatten", "shrinkwrap", @@ -560,6 +583,7 @@ class SpellChecker: "chebychev", "courant", "cryptomatte", "crypto", + "embree", "hosek", "kutta", "lennard", @@ -592,6 +616,7 @@ class SpellChecker: "bw", "ccd", "cmd", + "cmos", "cpus", "ctrl", "cw", "ccw", @@ -640,6 +665,7 @@ class SpellChecker: "sl", "smpte", "ssao", + "ssr", "svn", "ui", "unix", @@ -709,7 +735,9 @@ class SpellChecker: "tiff", "theora", "vorbis", + "vp9", "wav", + "webm", "xiph", "xml", "xna", diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py index 65d194e54d2e..be3354694181 100644 --- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py +++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py @@ -359,7 +359,7 @@ def draw(self, context): if tool in {'THICKNESS', 'STRENGTH'}: col.prop(brush, "cursor_color_add", text="Add") - col.prop(brush, "cursor_color_sub", text="Substract") + col.prop(brush, "cursor_color_sub", text="Subtract") elif tool == 'PINCH': col.prop(brush, "cursor_color_add", text="Pinch") col.prop(brush, "cursor_color_sub", text="Inflate") diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index c4198e021878..73d34fdb380b 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -207,7 +207,7 @@ def draw(self, context): col.separator() col.label(text="App Template:") - col.label(text="Options intended for use with app-templates only.") + col.label(text="Options intended for use with app-templates only") col.prop(view, "show_layout_ui") @@ -1380,7 +1380,7 @@ def draw(self, context): # WARNING: 2.8x exception, may be removed # use disabled state for old add-ons, chances are they are broken. if is_addon_27x: - sub.label(text="upgrade to 2.8x required") + sub.label(text="Upgrade to 2.8x required") sub.label(icon='ERROR') # Remove code above after 2.8x migration is complete. elif info["warning"]: diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index d806a9f9bd86..fcd19c2ca0f3 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -4217,7 +4217,7 @@ bool BLO_write_file( } if (G.debug & G_DEBUG_IO && mainvar->lock != NULL) { - BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *AFTER* save to disk."); + BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *AFTER* save to disk"); BLO_main_validate_libraries(mainvar, reports); } diff --git a/source/blender/editors/io/io_collada.c b/source/blender/editors/io/io_collada.c index 01cbeee7d280..08dcde6da626 100644 --- a/source/blender/editors/io/io_collada.c +++ b/source/blender/editors/io/io_collada.c @@ -424,7 +424,7 @@ void WM_OT_collada_export(wmOperatorType *ot) static const EnumPropertyItem prop_bc_export_animation_type[] = { { BC_ANIMATION_EXPORT_SAMPLES, "sample", 0, "Samples", "Export Sampled points guided by sampling rate" }, - { BC_ANIMATION_EXPORT_KEYS, "keys", 0, "Curves", "Export Curves\n Note: guided by curve keys" }, + { BC_ANIMATION_EXPORT_KEYS, "keys", 0, "Curves", "Export Curves (note: guided by curve keys)" }, { 0, NULL, 0, NULL, NULL } }; @@ -458,8 +458,7 @@ void WM_OT_collada_export(wmOperatorType *ot) RNA_def_enum(func, "prop_bc_export_ui_section", prop_bc_export_ui_section, 0, "Export Section", "Only for User Interface organization"); - RNA_def_boolean(func, - "apply_modifiers", 0, "Apply Modifiers", + RNA_def_boolean(func, "apply_modifiers", 0, "Apply Modifiers", "Apply modifiers to exported mesh (non destructive))"); RNA_def_int(func, "export_mesh_type", 0, INT_MIN, INT_MAX, @@ -481,27 +480,29 @@ void WM_OT_collada_export(wmOperatorType *ot) "Export all Shape Keys from Mesh Objects"); RNA_def_boolean(func, "deform_bones_only", false, "Deform Bones only", - "Only export deforming bones with armatures"); + "Only export deforming bones with armatures"); - RNA_def_boolean(func, "include_animations", true, - "Include Animations", "Export Animations if available.\nExporting Animations will enforce the decomposition of node transforms\ninto and components"); + RNA_def_boolean(func, "include_animations", true, "Include Animations", + "Export animations if available (exporting animations will enforce the decomposition of " + "node transforms into and components)"); - RNA_def_boolean(func, "include_all_actions", true, - "Include all Actions", "Export also unassigned actions.\nThis allows you to export entire animation libraries for your charater(s)"); + RNA_def_boolean(func, "include_all_actions", true, "Include all Actions", + "Export also unassigned actions (this allows you to export entire animation libraries for your character(s))"); - RNA_def_enum(func, "export_animation_type_selection", prop_bc_export_animation_type, 0, - "Key Type", "Type for exported animations (use sample keys or Curve keys)"); + RNA_def_enum(func, "export_animation_type_selection", prop_bc_export_animation_type, 0, "Key Type", + "Type for exported animations (use sample keys or Curve keys)"); - RNA_def_int(func, "sampling_rate", 1, 1, INT_MAX, - "Sampling Rate", "The distance between 2 keyframes. 1 means: Every frame is keyed", 1, INT_MAX); + RNA_def_int(func, "sampling_rate", 1, 1, INT_MAX, "Sampling Rate", + "The distance between 2 keyframes (1 to key every frame)", 1, INT_MAX); - RNA_def_boolean(func, "keep_smooth_curves", 0, - "Keep Smooth curves", "Export also the curve handles (if available).\nThis does only work when the inverse parent matrix is the Unity matrix\nOtherwise you may end up with odd results\n"); + RNA_def_boolean(func, "keep_smooth_curves", 0, "Keep Smooth curves", + "Export also the curve handles (if available) (this does only work when the inverse parent matrix " + "is the unity matrix, otherwise you may end up with odd results)"); - RNA_def_boolean(func, "keep_keyframes", 0, - "Keep Keyframes", "Use existing keyframes as additional sample points (this helps when you want to keep manual tweaks)"); + RNA_def_boolean(func, "keep_keyframes", 0, "Keep Keyframes", + "Use existing keyframes as additional sample points (this helps when you want to keep manual tweaks)"); RNA_def_boolean(func, "active_uv_only", 0, "Only Selected UV Map", "Export only the selected UV Map"); @@ -514,29 +515,28 @@ void WM_OT_collada_export(wmOperatorType *ot) "Export Polygons (Quads & NGons) as Triangles"); RNA_def_boolean(func, "use_object_instantiation", 1, "Use Object Instances", - "Instantiate multiple Objects from same Data"); + "Instantiate multiple Objects from same Data"); RNA_def_boolean(func, "use_blender_profile", 1, "Use Blender Profile", - "Export additional Blender specific information (for material, shaders, bones, etc.)"); + "Export additional Blender specific information (for material, shaders, bones, etc.)"); RNA_def_boolean(func, "sort_by_name", 0, "Sort by Object name", "Sort exported data by Object name"); - RNA_def_int(func, "export_transformation_type", 0, INT_MIN, INT_MAX, - "Transform", "Transformation type for translation, scale and rotation", INT_MIN, INT_MAX); + RNA_def_int(func, "export_transformation_type", 0, INT_MIN, INT_MAX, "Transform", + "Transformation type for translation, scale and rotation", INT_MIN, INT_MAX); - RNA_def_enum(func, "export_transformation_type_selection", prop_bc_export_transformation_type, 0, - "Transform", "Transformation type for translation, scale and rotation"); + RNA_def_enum(func, "export_transformation_type_selection", prop_bc_export_transformation_type, 0, "Transform", + "Transformation type for translation, scale and rotation"); RNA_def_boolean(func, "open_sim", 0, "Export to SL/OpenSim", "Compatibility mode for SL, OpenSim and other compatible online worlds"); - RNA_def_boolean(func, "limit_precision", 0, - "Limit Precision", "Reduce the precision of the exported data to 6 digits"); - - RNA_def_boolean(func, "keep_bind_info", 0, - "Keep Bind Info", "Store Bindpose information in custom bone properties for later use during Collada export"); + RNA_def_boolean(func, "limit_precision", 0, "Limit Precision", + "Reduce the precision of the exported data to 6 digits"); + RNA_def_boolean(func, "keep_bind_info", 0, "Keep Bind Info", + "Store Bindpose information in custom bone properties for later use during Collada export"); } diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 185c0d1cc774..5c45234a0ff3 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -4703,7 +4703,7 @@ static void SCREEN_OT_space_type_set_or_cycle(wmOperatorType *ot) { /* identifiers */ ot->name = "Cycle Space Type Set"; - ot->description = "Set the space type or cycle subtype"; + ot->description = "Set the space type or cycle sub-type"; ot->idname = "SCREEN_OT_space_type_set_or_cycle"; /* api callbacks */ diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c index 75324f46cc6b..5467312d1116 100644 --- a/source/blender/editors/sculpt_paint/paint_cursor.c +++ b/source/blender/editors/sculpt_paint/paint_cursor.c @@ -527,7 +527,7 @@ static int project_brush_radius( cross_v3_v3v3(ortho, nonortho, view); normalize_v3(ortho); - /* make a point on the surface of the brush tagent to the view */ + /* make a point on the surface of the brush tangent to the view */ mul_v3_fl(ortho, radius); add_v3_v3v3(offset, location, ortho); diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index b8921ba65215..9a6a75d4f61d 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -2629,7 +2629,7 @@ void NODE_OT_cryptomatte_layer_remove(wmOperatorType *ot) { /* identifiers */ ot->name = "Remove Cryptomatte Socket"; - ot->description = "Remove layer from a Crytpomatte node"; + ot->description = "Remove layer from a Cryptomatte node"; ot->idname = "NODE_OT_cryptomatte_layer_remove"; /* callbacks */ diff --git a/source/blender/editors/undo/ed_undo.c b/source/blender/editors/undo/ed_undo.c index 9c29b370b923..17e5fe912e17 100644 --- a/source/blender/editors/undo/ed_undo.c +++ b/source/blender/editors/undo/ed_undo.c @@ -125,7 +125,7 @@ static int ed_undo_step(bContext *C, int step, const char *undoname, ReportList if (G.debug & G_DEBUG_IO) { Main *bmain = CTX_data_main(C); if (bmain->lock != NULL) { - BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *BEFORE* undo step."); + BKE_report(reports, RPT_INFO, "Checking sanity of current .blend file *BEFORE* undo step"); BLO_main_validate_libraries(bmain, reports); } } diff --git a/source/blender/editors/uvedit/uvedit_smart_stitch.c b/source/blender/editors/uvedit/uvedit_smart_stitch.c index b7103ad90f02..4c8d8b775137 100644 --- a/source/blender/editors/uvedit/uvedit_smart_stitch.c +++ b/source/blender/editors/uvedit/uvedit_smart_stitch.c @@ -2743,8 +2743,8 @@ void UV_OT_stitch(wmOperatorType *ot) RNA_def_property_flag(prop, PROP_HIDDEN); /* test should not be editable or viewed in toolbar */ - prop = RNA_def_int_array(ot->srna, "objects_selection_count", 1, NULL, 0, INT_MAX, "objects_selection_count", - "objects_selection_count", 0, INT_MAX); + prop = RNA_def_int_array(ot->srna, "objects_selection_count", 1, NULL, 0, INT_MAX, "Objects Selection Count", + "", 0, INT_MAX); RNA_def_property_array(prop, 6); RNA_def_property_flag(prop, PROP_HIDDEN); } diff --git a/source/blender/freestyle/intern/python/BPy_MediumType.cpp b/source/blender/freestyle/intern/python/BPy_MediumType.cpp index ebd9c6822a94..ee24dca0d298 100644 --- a/source/blender/freestyle/intern/python/BPy_MediumType.cpp +++ b/source/blender/freestyle/intern/python/BPy_MediumType.cpp @@ -41,7 +41,7 @@ PyDoc_STRVAR(MediumType_doc, "media-medium:\n" "\n" "* Stroke.DRY_MEDIUM: To simulate a dry medium such as Pencil or Charcoal.\n" -"* Stroke.HUMID_MEDIUM: To simulate ink painting (color substraction blending).\n" +"* Stroke.HUMID_MEDIUM: To simulate ink painting (color subtraction blending).\n" "* Stroke.OPAQUE_MEDIUM: To simulate an opaque medium (oil, spray...)."); PyTypeObject MediumType_Type = { diff --git a/source/blender/freestyle/intern/stroke/Stroke.h b/source/blender/freestyle/intern/stroke/Stroke.h index e7fce674733d..74c72e159b47 100644 --- a/source/blender/freestyle/intern/stroke/Stroke.h +++ b/source/blender/freestyle/intern/stroke/Stroke.h @@ -522,7 +522,7 @@ class Stroke : public Interface1D /*! The different blending modes available to similate the interaction media-medium. */ typedef enum { DRY_MEDIUM, /*!< To simulate a dry medium such as Pencil or Charcoal.*/ - HUMID_MEDIUM, /*!< To simulate ink painting (color substraction blending).*/ + HUMID_MEDIUM, /*!< To simulate ink painting (color subtraction blending).*/ OPAQUE_MEDIUM, /*!< To simulate an opaque medium (oil, spray...).*/ } MediumType; diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 1a212097c315..2b0bfb2662e1 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -1986,13 +1986,13 @@ bool RNA_property_editable_info(PointerRNA *ptr, PropertyRNA *prop, const char * if (id) { if (ID_IS_LINKED(id) && (prop->flag & PROP_LIB_EXCEPTION) == 0) { if (!(*r_info)[0]) { - *r_info = N_("Can't edit this property from a linked data-block."); + *r_info = N_("Can't edit this property from a linked data-block"); } return false; } if (id->override_static != NULL && !RNA_property_overridable_get(ptr, prop)) { if (!(*r_info)[0]) { - *r_info = N_("Can't edit this property from an override data-block."); + *r_info = N_("Can't edit this property from an override data-block"); } return false; } diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c index 4edc10dcaf64..53387f33b053 100644 --- a/source/blender/makesrna/intern/rna_gpencil_modifier.c +++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c @@ -1089,7 +1089,7 @@ static void rna_def_modifier_gpencilinstance(BlenderRNA *brna) prop = RNA_def_property(srna, "shift", PROP_FLOAT, PROP_TRANSLATION); RNA_def_property_float_sdna(prop, NULL, "shift"); - RNA_def_property_ui_text(prop, "Shift", "Shiftness value"); + RNA_def_property_ui_text(prop, "Shift", "Shiftiness value"); RNA_def_property_ui_range(prop, -FLT_MAX, FLT_MAX, 1, RNA_TRANSLATION_PREC_DEFAULT); RNA_def_property_update(prop, 0, "rna_GpencilModifier_update"); diff --git a/source/blender/makesrna/intern/rna_lightprobe.c b/source/blender/makesrna/intern/rna_lightprobe.c index 96a8b53cf29b..ee8f2be39eeb 100644 --- a/source/blender/makesrna/intern/rna_lightprobe.c +++ b/source/blender/makesrna/intern/rna_lightprobe.c @@ -188,7 +188,7 @@ static void rna_def_lightprobe(BlenderRNA *brna) RNA_def_property_float_sdna(prop, NULL, "vis_blur"); RNA_def_property_float_default(prop, 0.2f); RNA_def_property_range(prop, 0.0f, 1.0f); - RNA_def_property_ui_text(prop, "Visibility Blur", "Filter size of the visibilty blur"); + RNA_def_property_ui_text(prop, "Visibility Blur", "Filter size of the visibility blur"); RNA_def_property_update(prop, NC_MATERIAL | ND_SHADING, "rna_LightProbe_recalc"); prop = RNA_def_property(srna, "intensity", PROP_FLOAT, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 05f757124554..560038edccee 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -4433,7 +4433,7 @@ static void def_sh_displacement(StructRNA *srna) static void def_sh_vector_displacement(StructRNA *srna) { static const EnumPropertyItem prop_space_items[] = { - {SHD_SPACE_TANGENT, "TANGENT", 0, "Tangent Space", "Tagent space vector displacement mapping"}, + {SHD_SPACE_TANGENT, "TANGENT", 0, "Tangent Space", "Tangent space vector displacement mapping"}, {SHD_SPACE_OBJECT, "OBJECT", 0, "Object Space", "Object space vector displacement mapping"}, {SHD_SPACE_WORLD, "WORLD", 0, "World Space", "World space vector displacement mapping"}, {0, NULL, 0, NULL, NULL} diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c index 1eb96860c3e4..89ddd162669f 100644 --- a/source/blender/makesrna/intern/rna_particle.c +++ b/source/blender/makesrna/intern/rna_particle.c @@ -3170,7 +3170,7 @@ static void rna_def_particle_settings(BlenderRNA *brna) prop = RNA_def_property(srna, "twist", PROP_FLOAT, PROP_NONE); RNA_def_property_range(prop, -100000.0f, 100000.0f); RNA_def_property_ui_range(prop, -10.0f, 10.0f, 0.1, 3); - RNA_def_property_ui_text(prop, "Twist", "Number of turns around parent allong the strand"); + RNA_def_property_ui_text(prop, "Twist", "Number of turns around parent along the strand"); RNA_def_property_update(prop, 0, "rna_Particle_redo_child"); prop = RNA_def_property(srna, "use_twist_curve", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c index 0a2ba07f6ff5..bfd4b71daf5f 100644 --- a/source/blender/makesrna/intern/rna_sculpt_paint.c +++ b/source/blender/makesrna/intern/rna_sculpt_paint.c @@ -1360,7 +1360,7 @@ static void rna_def_gpencil_sculpt(BlenderRNA *brna) RNA_def_property_array(prop, 3); RNA_def_property_range(prop, 0.0f, 1.0f); RNA_def_property_float_array_default(prop, default_2); - RNA_def_property_ui_text(prop, "Cursor Sub", "Color for the cursor for substraction"); + RNA_def_property_ui_text(prop, "Cursor Sub", "Color for the cursor for subtraction"); RNA_def_parameter_clear_flags(prop, PROP_ANIMATABLE, 0); prop = RNA_def_property(srna, "use_cursor", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_shader_fx.c b/source/blender/makesrna/intern/rna_shader_fx.c index 84ac8d1ad28b..bea62cfc75ea 100644 --- a/source/blender/makesrna/intern/rna_shader_fx.c +++ b/source/blender/makesrna/intern/rna_shader_fx.c @@ -53,7 +53,7 @@ const EnumPropertyItem rna_enum_object_shaderfx_type_items[] = { {eShaderFxType_Colorize, "FX_COLORIZE", ICON_SHADERFX, "Colorize", "Apply different tint effects" }, {eShaderFxType_Flip, "FX_FLIP", ICON_SHADERFX, "Flip", "Flip image" }, {eShaderFxType_Glow, "FX_GLOW", ICON_SHADERFX, "Glow", "Create a glow effect" }, - {eShaderFxType_Light, "FX_LIGHT", ICON_SHADERFX, "Light", "Simulate ilumination" }, + {eShaderFxType_Light, "FX_LIGHT", ICON_SHADERFX, "Light", "Simulate illumination" }, {eShaderFxType_Pixel, "FX_PIXEL", ICON_SHADERFX, "Pixelate", "Pixelate image"}, {eShaderFxType_Rim, "FX_RIM", ICON_SHADERFX, "Rim", "Add a rim to the image" }, {eShaderFxType_Shadow, "FX_SHADOW", ICON_SHADERFX, "Shadow", "Create a shadow effect"}, diff --git a/tests/gtests/blenlib/BLI_math_base_test.cc b/tests/gtests/blenlib/BLI_math_base_test.cc index 0059eb544823..d8c014591792 100644 --- a/tests/gtests/blenlib/BLI_math_base_test.cc +++ b/tests/gtests/blenlib/BLI_math_base_test.cc @@ -76,7 +76,7 @@ TEST(math_base, CompareFFRelativeZero) /* Note: in theory, this should return false, since 0.0f and -0.0f have 0x80000000 diff, - * but overflow in substraction seems to break something here + * but overflow in subtraction seems to break something here * (abs(*(int *)&fn0 - *(int *)&f0) == 0x80000000 == fn0), probably because int32 cannot hold this abs value. * this is yet another illustration of why one shall never use (near-)zero floats in pure-ULP comparison. */ // EXPECT_FALSE(compare_ff_relative(fn0, f0, -1.0f, 1024)); From 94dfa6eaacac69723d5832181201b5b65c32260d Mon Sep 17 00:00:00 2001 From: Antonioya Date: Tue, 25 Dec 2018 11:10:05 +0100 Subject: [PATCH 43/94] GP: Remove duplicate code moving to single function --- source/blender/blenkernel/BKE_gpencil.h | 3 ++ source/blender/blenkernel/intern/gpencil.c | 45 ++++++++++++++++++ .../draw/engines/gpencil/gpencil_draw_utils.c | 46 +------------------ source/blender/editors/gpencil/drawgpencil.c | 46 +------------------ 4 files changed, 50 insertions(+), 90 deletions(-) diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h index 34c610838723..989bec1957b7 100644 --- a/source/blender/blenkernel/BKE_gpencil.h +++ b/source/blender/blenkernel/BKE_gpencil.h @@ -168,6 +168,9 @@ void BKE_gpencil_simplify_stroke(struct bGPDstroke *gps, float factor); void BKE_gpencil_simplify_fixed(struct bGPDstroke *gps); void BKE_gpencil_subdivide(struct bGPDstroke *gps, int level, int flag); +void BKE_gpencil_stroke_2d_flat( + const struct bGPDspoint *points, int totpoints, float(*points2d)[2], int *r_direction); + void BKE_gpencil_transform(struct bGPdata *gpd, float mat[4][4]); bool BKE_gpencil_smooth_stroke(struct bGPDstroke *gps, int i, float inf); diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c index 5f4445418901..f8dfa82e2a25 100644 --- a/source/blender/blenkernel/intern/gpencil.c +++ b/source/blender/blenkernel/intern/gpencil.c @@ -1559,3 +1559,48 @@ int BKE_gpencil_get_material_index(Object *ob, Material *ma) return 0; } + +/* Get points of stroke always flat to view not affected by camera view or view position */ +void BKE_gpencil_stroke_2d_flat(const bGPDspoint *points, int totpoints, float(*points2d)[2], int *r_direction) +{ + const bGPDspoint *pt0 = &points[0]; + const bGPDspoint *pt1 = &points[1]; + const bGPDspoint *pt3 = &points[(int)(totpoints * 0.75)]; + + float locx[3]; + float locy[3]; + float loc3[3]; + float normal[3]; + + /* local X axis (p0 -> p1) */ + sub_v3_v3v3(locx, &pt1->x, &pt0->x); + + /* point vector at 3/4 */ + sub_v3_v3v3(loc3, &pt3->x, &pt0->x); + + /* vector orthogonal to polygon plane */ + cross_v3_v3v3(normal, locx, loc3); + + /* local Y axis (cross to normal/x axis) */ + cross_v3_v3v3(locy, normal, locx); + + /* Normalize vectors */ + normalize_v3(locx); + normalize_v3(locy); + + /* Get all points in local space */ + for (int i = 0; i < totpoints; i++) { + const bGPDspoint *pt = &points[i]; + float loc[3]; + + /* Get local space using first point as origin */ + sub_v3_v3v3(loc, &pt->x, &pt0->x); + + points2d[i][0] = dot_v3v3(loc, locx); + points2d[i][1] = dot_v3v3(loc, locy); + } + + /* Concave (-1), Convex (1), or Autodetect (0)? */ + *r_direction = (int)locy[2]; +} + diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c index 273a8f216a45..6c3577c2794d 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c @@ -214,50 +214,6 @@ static void gpencil_calc_stroke_fill_uv( } } -/* Get points of stroke always flat to view not affected by camera view or view position */ -static void gpencil_stroke_2d_flat(const bGPDspoint *points, int totpoints, float(*points2d)[2], int *r_direction) -{ - const bGPDspoint *pt0 = &points[0]; - const bGPDspoint *pt1 = &points[1]; - const bGPDspoint *pt3 = &points[(int)(totpoints * 0.75)]; - - float locx[3]; - float locy[3]; - float loc3[3]; - float normal[3]; - - /* local X axis (p0 -> p1) */ - sub_v3_v3v3(locx, &pt1->x, &pt0->x); - - /* point vector at 3/4 */ - sub_v3_v3v3(loc3, &pt3->x, &pt0->x); - - /* vector orthogonal to polygon plane */ - cross_v3_v3v3(normal, locx, loc3); - - /* local Y axis (cross to normal/x axis) */ - cross_v3_v3v3(locy, normal, locx); - - /* Normalize vectors */ - normalize_v3(locx); - normalize_v3(locy); - - /* Get all points in local space */ - for (int i = 0; i < totpoints; i++) { - const bGPDspoint *pt = &points[i]; - float loc[3]; - - /* Get local space using first point as origin */ - sub_v3_v3v3(loc, &pt->x, &pt0->x); - - points2d[i][0] = dot_v3v3(loc, locx); - points2d[i][1] = dot_v3v3(loc, locy); - } - - /* Concave (-1), Convex (1), or Autodetect (0)? */ - *r_direction = (int)locy[2]; -} - /* recalc the internal geometry caches for fill and uvs */ static void DRW_gpencil_recalc_geometry_caches( Object *ob, bGPDlayer *gpl, MaterialGPencilStyle *gp_style, bGPDstroke *gps) @@ -1114,7 +1070,7 @@ void DRW_gpencil_triangulate_stroke_fill(Object *ob, bGPDstroke *gps) int direction = 0; /* convert to 2d and triangulate */ - gpencil_stroke_2d_flat(gps->points, gps->totpoints, points2d, &direction); + BKE_gpencil_stroke_2d_flat(gps->points, gps->totpoints, points2d, &direction); BLI_polyfill_calc(points2d, (uint)gps->totpoints, direction, tmp_triangles); /* calc texture coordinates automatically */ diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c index c16ea84ec812..1ad71f55ba4e 100644 --- a/source/blender/editors/gpencil/drawgpencil.c +++ b/source/blender/editors/gpencil/drawgpencil.c @@ -459,50 +459,6 @@ static void gp_calc_stroke_text_coordinates(const float(*points2d)[2], int totpo } } -/* Get points of stroke always flat to view not affected by camera view or view position */ -static void gp_stroke_2d_flat(const bGPDspoint *points, int totpoints, float(*points2d)[2], int *r_direction) -{ - const bGPDspoint *pt0 = &points[0]; - const bGPDspoint *pt1 = &points[1]; - const bGPDspoint *pt3 = &points[(int)(totpoints * 0.75)]; - - float locx[3]; - float locy[3]; - float loc3[3]; - float normal[3]; - - /* local X axis (p0 -> p1) */ - sub_v3_v3v3(locx, &pt1->x, &pt0->x); - - /* point vector at 3/4 */ - sub_v3_v3v3(loc3, &pt3->x, &pt0->x); - - /* vector orthogonal to polygon plane */ - cross_v3_v3v3(normal, locx, loc3); - - /* local Y axis (cross to normal/x axis) */ - cross_v3_v3v3(locy, normal, locx); - - /* Normalize vectors */ - normalize_v3(locx); - normalize_v3(locy); - - /* Get all points in local space */ - for (int i = 0; i < totpoints; i++) { - const bGPDspoint *pt = &points[i]; - float loc[3]; - - /* Get local space using first point as origin */ - sub_v3_v3v3(loc, &pt->x, &pt0->x); - - points2d[i][0] = dot_v3v3(loc, locx); - points2d[i][1] = dot_v3v3(loc, locy); - } - - /* Concave (-1), Convex (1), or Autodetect (0)? */ - *r_direction = (int)locy[2]; -} - /* Triangulate stroke for high quality fill (this is done only if cache is null or stroke was modified) */ static void gp_triangulate_stroke_fill(bGPDstroke *gps) { @@ -517,7 +473,7 @@ static void gp_triangulate_stroke_fill(bGPDstroke *gps) int direction = 0; /* convert to 2d and triangulate */ - gp_stroke_2d_flat(gps->points, gps->totpoints, points2d, &direction); + BKE_gpencil_stroke_2d_flat(gps->points, gps->totpoints, points2d, &direction); BLI_polyfill_calc(points2d, (uint)gps->totpoints, direction, tmp_triangles); /* calc texture coordinates automatically */ From 34a538ba1b73e7a464d26dd3f5902774c7867766 Mon Sep 17 00:00:00 2001 From: mano-wii Date: Sun, 23 Dec 2018 23:18:07 -0200 Subject: [PATCH 44/94] Revert "Fix T59505: Knife tool cut preview line becomes black" This reverts commit dafaa6f22881419ac55f2f3fe3de9ac4023aa108. --- source/blender/editors/mesh/editmesh_knife.c | 28 +++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index c95755b8cb5b..b89a7dd91a17 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -213,6 +213,8 @@ typedef struct KnifeTool_OpData { /* vector along view z axis (object space, normalized) */ float proj_zaxis[3]; + KnifeColors colors; + /* run by the UI or not */ bool is_interactive; @@ -1039,10 +1041,8 @@ static void knife_init_colors(KnifeColors *colors) static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void *arg) { const KnifeTool_OpData *kcd = arg; - KnifeColors colors; - knife_init_colors(&colors); - GPU_depth_test(false); + glPolygonOffset(1.0f, 1.0f); GPU_matrix_push(); @@ -1058,7 +1058,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR); if (kcd->mode == MODE_DRAGGING) { - immUniformColor3ubv(colors.line); + immUniformColor3ubv(kcd->colors.line); GPU_line_width(2.0); immBegin(GPU_PRIM_LINES, 2); @@ -1068,7 +1068,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->prev.vert) { - immUniformColor3ubv(colors.point); + immUniformColor3ubv(kcd->colors.point); GPU_point_size(11); immBegin(GPU_PRIM_POINTS, 1); @@ -1077,7 +1077,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->prev.bmface) { - immUniformColor3ubv(colors.curpoint); + immUniformColor3ubv(kcd->colors.curpoint); GPU_point_size(9); immBegin(GPU_PRIM_POINTS, 1); @@ -1086,7 +1086,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->curr.edge) { - immUniformColor3ubv(colors.edge); + immUniformColor3ubv(kcd->colors.edge); GPU_line_width(2.0); immBegin(GPU_PRIM_LINES, 2); @@ -1095,7 +1095,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void immEnd(); } else if (kcd->curr.vert) { - immUniformColor3ubv(colors.point); + immUniformColor3ubv(kcd->colors.point); GPU_point_size(11); immBegin(GPU_PRIM_POINTS, 1); @@ -1104,7 +1104,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void } if (kcd->curr.bmface) { - immUniformColor3ubv(colors.curpoint); + immUniformColor3ubv(kcd->colors.curpoint); GPU_point_size(9); immBegin(GPU_PRIM_POINTS, 1); @@ -1137,14 +1137,14 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void GPU_batch_program_set_builtin(batch, GPU_SHADER_3D_UNIFORM_COLOR); /* draw any snapped verts first */ - rgba_uchar_to_float(fcol, colors.point_a); + rgba_uchar_to_float(fcol, kcd->colors.point_a); GPU_batch_uniform_4fv(batch, "color", fcol); GPU_matrix_bind(batch->interface); GPU_point_size(11); GPU_batch_draw_range_ex(batch, 0, v - 1, false); /* now draw the rest */ - rgba_uchar_to_float(fcol, colors.curpoint_a); + rgba_uchar_to_float(fcol, kcd->colors.curpoint_a); GPU_batch_uniform_4fv(batch, "color", fcol); GPU_point_size(7); GPU_batch_draw_range_ex(batch, vs + 1, kcd->totlinehit - (vs + 1), false); @@ -1159,7 +1159,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void BLI_mempool_iter iter; KnifeEdge *kfe; - immUniformColor3ubv(colors.line); + immUniformColor3ubv(kcd->colors.line); GPU_line_width(1.0); GPUBatch *batch = immBeginBatchAtMost(GPU_PRIM_LINES, BLI_mempool_len(kcd->kedges) * 2); @@ -1183,7 +1183,7 @@ static void knifetool_draw(const bContext *UNUSED(C), ARegion *UNUSED(ar), void BLI_mempool_iter iter; KnifeVert *kfv; - immUniformColor3ubv(colors.point); + immUniformColor3ubv(kcd->colors.point); GPU_point_size(5.0); GPUBatch *batch = immBeginBatchAtMost(GPU_PRIM_POINTS, BLI_mempool_len(kcd->kverts)); @@ -2682,6 +2682,8 @@ static void knifetool_init(bContext *C, KnifeTool_OpData *kcd, if (is_interactive) { kcd->draw_handle = ED_region_draw_cb_activate(kcd->ar->type, knifetool_draw, kcd, REGION_DRAW_POST_VIEW); + + knife_init_colors(&kcd->colors); } } From 67dc68d104a5b2d62e49a94f2a26b0b28c94fac6 Mon Sep 17 00:00:00 2001 From: mano-wii Date: Sun, 23 Dec 2018 23:32:56 -0200 Subject: [PATCH 45/94] Fix T59505: Knife tool cut preview line becomes black The real reason for the problem is still unknown, but this solution adds less overhead than rBdafaa6f22881. --- source/blender/editors/include/UI_resources.h | 1 + source/blender/editors/interface/resources.c | 10 ++++++++++ source/blender/editors/mesh/editmesh_knife.c | 12 ++++++------ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h index 277aae923d6b..0be8f91cca66 100644 --- a/source/blender/editors/include/UI_resources.h +++ b/source/blender/editors/include/UI_resources.h @@ -369,6 +369,7 @@ void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]); void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]); // get a theme color from specified space type +void UI_GetThemeColorType3ubv(int colorid, int spacetype, char col[3]); void UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4]); // get theme color for coloring monochrome icons diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index 09b8933206e3..a30dde38852e 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -1118,6 +1118,16 @@ void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]) col[3] = cp[3]; } +void UI_GetThemeColorType3ubv(int colorid, int spacetype, char col[3]) +{ + const unsigned char *cp; + + cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid); + col[0] = cp[0]; + col[1] = cp[1]; + col[2] = cp[2]; +} + void UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4]) { const unsigned char *cp; diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index b89a7dd91a17..b85627dc146a 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -1027,13 +1027,13 @@ static void knife_init_colors(KnifeColors *colors) /* possible BMESH_TODO: add explicit themes or calculate these by * figuring out contrasting colors with grid / edges / verts * a la UI_make_axis_color */ - UI_GetThemeColor3ubv(TH_NURB_VLINE, colors->line); - UI_GetThemeColor3ubv(TH_NURB_ULINE, colors->edge); - UI_GetThemeColor3ubv(TH_HANDLE_SEL_VECT, colors->curpoint); - UI_GetThemeColor3ubv(TH_HANDLE_SEL_VECT, colors->curpoint_a); + UI_GetThemeColorType3ubv(TH_NURB_VLINE, SPACE_VIEW3D, colors->line); + UI_GetThemeColorType3ubv(TH_NURB_ULINE, SPACE_VIEW3D, colors->edge); + UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, colors->curpoint); + UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, colors->curpoint_a); colors->curpoint_a[3] = 102; - UI_GetThemeColor3ubv(TH_ACTIVE_SPLINE, colors->point); - UI_GetThemeColor3ubv(TH_ACTIVE_SPLINE, colors->point_a); + UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, colors->point); + UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, colors->point_a); colors->point_a[3] = 102; } From 60b930af3e73d8e7083263fc95ad66a3326c700b Mon Sep 17 00:00:00 2001 From: mano-wii Date: Tue, 25 Dec 2018 14:36:22 -0200 Subject: [PATCH 46/94] GPU: Add another driver to the list of unused_fb_slot_workaround I start to think that an automatic detection would be a better solution. --- source/blender/gpu/intern/gpu_extensions.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c index 6a65a922d89e..579629511549 100644 --- a/source/blender/gpu/intern/gpu_extensions.c +++ b/source/blender/gpu/intern/gpu_extensions.c @@ -272,7 +272,8 @@ void gpu_extensions_init(void) #ifdef _WIN32 if (strstr(version, "4.5.13399") || - strstr(version, "4.5.13417")) + strstr(version, "4.5.13417") || + strstr(version, "4.5.13422")) { /* The renderers include: * Mobility Radeon HD 5000; From 61cb1a81a84c8a10c5abfb86011de9ea4bb2aa3d Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 26 Dec 2018 22:48:10 +0100 Subject: [PATCH 47/94] Fix T57861: Object.ray_cast (and all RNA functions using "ob->runtime") broken in Blender 2.80 In fact, we can get valid depsgraph 99% of time from current context. Still added extra optionnal depsgraph parameter just in case (and also for future, when we might be handling much more temp depsgraphs). --- .../blender/makesrna/intern/rna_object_api.c | 68 +++++++++++++++---- 1 file changed, 54 insertions(+), 14 deletions(-) diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c index 4c8a3db42a2e..163d81d60414 100644 --- a/source/blender/makesrna/intern/rna_object_api.c +++ b/source/blender/makesrna/intern/rna_object_api.c @@ -319,15 +319,33 @@ static int mesh_looptri_to_poly_index(Mesh *me_eval, const MLoopTri *lt) return index_mp_to_orig ? index_mp_to_orig[lt->poly] : lt->poly; } +static Object *eval_object_ensure(Object *ob, bContext *C, ReportList *reports, PointerRNA *rnaptr_depsgraph) +{ + if (ob->runtime.mesh_eval == NULL) { + Object *ob_orig = ob; + Depsgraph *depsgraph = rnaptr_depsgraph != NULL ? rnaptr_depsgraph->data : NULL; + if (depsgraph == NULL) { + depsgraph = CTX_data_depsgraph(C); + } + if (depsgraph != NULL) { + ob = DEG_get_evaluated_object(depsgraph, ob); + } + if (ob == NULL || ob->runtime.mesh_eval == NULL) { + BKE_reportf(reports, RPT_ERROR, "Object '%s' has no evaluated mesh data", ob_orig->id.name + 2); + return NULL; + } + } + return ob; +} + static void rna_Object_ray_cast( - Object *ob, ReportList *reports, - float origin[3], float direction[3], float distance, + Object *ob, bContext *C, ReportList *reports, + float origin[3], float direction[3], float distance, PointerRNA *rnaptr_depsgraph, bool *r_success, float r_location[3], float r_normal[3], int *r_index) { bool success = false; - if (ob->runtime.mesh_eval == NULL) { - BKE_reportf(reports, RPT_ERROR, "Object '%s' has no mesh data to be used for ray casting", ob->id.name + 2); + if (ob->runtime.mesh_eval == NULL && (ob = eval_object_ensure(ob, C, reports, rnaptr_depsgraph)) == NULL) { return; } @@ -375,14 +393,12 @@ static void rna_Object_ray_cast( } static void rna_Object_closest_point_on_mesh( - Object *ob, ReportList *reports, float origin[3], float distance, + Object *ob, bContext *C, ReportList *reports, float origin[3], float distance, PointerRNA *rnaptr_depsgraph, bool *r_success, float r_location[3], float r_normal[3], int *r_index) { BVHTreeFromMesh treeData = {NULL}; - if (ob->runtime.mesh_eval == NULL) { - BKE_reportf(reports, RPT_ERROR, "Object '%s' has no mesh data to be used for finding nearest point", - ob->id.name + 2); + if (ob->runtime.mesh_eval == NULL && (ob = eval_object_ensure(ob, C, reports, rnaptr_depsgraph)) == NULL) { return; } @@ -435,13 +451,21 @@ static bool rna_Object_is_deform_modified(Object *ob, Scene *scene, int settings #include "BKE_mesh_runtime.h" -void rna_Object_me_eval_info(struct Object *ob, int type, char *result) +void rna_Object_me_eval_info(struct Object *ob, bContext *C, int type, PointerRNA *rnaptr_depsgraph, char *result) { Mesh *me_eval = NULL; char *ret = NULL; result[0] = '\0'; + switch (type) { + case 1: + case 2: + if (ob->runtime.mesh_eval == NULL && (ob = eval_object_ensure(ob, C, NULL, rnaptr_depsgraph)) == NULL) { + return; + } + } + switch (type) { case 0: if (ob->type == OB_MESH) { @@ -619,8 +643,9 @@ void RNA_api_object(StructRNA *srna) /* Ray Cast */ func = RNA_def_function(srna, "ray_cast", "rna_Object_ray_cast"); - RNA_def_function_ui_description(func, "Cast a ray onto in object space"); - RNA_def_function_flag(func, FUNC_USE_REPORTS); + RNA_def_function_ui_description(func, "Cast a ray onto evaluated geometry, in object space " + "(using context's or provided depsgraph to get evaluated mesh if needed)"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS); /* ray start and end */ parm = RNA_def_float_vector(func, "origin", 3, NULL, -FLT_MAX, FLT_MAX, @@ -631,6 +656,10 @@ void RNA_api_object(StructRNA *srna) RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); RNA_def_float(func, "distance", BVH_RAYCAST_DIST_MAX, 0.0, BVH_RAYCAST_DIST_MAX, "", "Maximum distance", 0.0, BVH_RAYCAST_DIST_MAX); + parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", + "Depsgraph to use to get evaluated data, when called from original object " + "(only needed if current Context's depsgraph is not suitable)"); + RNA_def_parameter_flags(parm, 0, PARM_RNAPTR); /* return location and normal */ parm = RNA_def_boolean(func, "result", 0, "", "Wheter the ray successfully hit the geometry"); @@ -650,8 +679,9 @@ void RNA_api_object(StructRNA *srna) /* Nearest Point */ func = RNA_def_function(srna, "closest_point_on_mesh", "rna_Object_closest_point_on_mesh"); - RNA_def_function_ui_description(func, "Find the nearest point in object space"); - RNA_def_function_flag(func, FUNC_USE_REPORTS); + RNA_def_function_ui_description(func, "Find the nearest point on evaluated geometry, in object space " + "(using context's or provided depsgraph to get evaluated mesh if needed)"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT | FUNC_USE_REPORTS); /* location of point for test and max distance */ parm = RNA_def_float_vector(func, "origin", 3, NULL, -FLT_MAX, FLT_MAX, @@ -659,6 +689,10 @@ void RNA_api_object(StructRNA *srna) RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); /* default is sqrt(FLT_MAX) */ RNA_def_float(func, "distance", 1.844674352395373e+19, 0.0, FLT_MAX, "", "Maximum distance", 0.0, FLT_MAX); + parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", + "Depsgraph to use to get evaluated data, when called from original object " + "(only needed if current Context's depsgraph is not suitable)"); + RNA_def_parameter_flags(parm, 0, PARM_RNAPTR); /* return location and normal */ parm = RNA_def_boolean(func, "result", 0, "", "Wheter closest point on geometry was found"); @@ -701,10 +735,16 @@ void RNA_api_object(StructRNA *srna) #ifndef NDEBUG /* mesh */ func = RNA_def_function(srna, "dm_info", "rna_Object_me_eval_info"); - RNA_def_function_ui_description(func, "Returns a string for derived mesh data (debug builds only)"); + RNA_def_function_ui_description(func, "Returns a string for original/evaluated mesh data (debug builds only, " + "using context's or provided depsgraph to get evaluated mesh if needed)"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT); parm = RNA_def_enum(func, "type", mesh_dm_info_items, 0, "", "Modifier settings to apply"); RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); + parm = RNA_def_pointer(func, "depsgraph", "Depsgraph", "", + "Depsgraph to use to get evaluated data, when called from original object " + "(only needed if current Context's depsgraph is not suitable)"); + RNA_def_parameter_flags(parm, 0, PARM_RNAPTR); /* weak!, no way to return dynamic string type */ parm = RNA_def_string(func, "result", NULL, 16384, "", "Requested informations"); RNA_def_parameter_flags(parm, PROP_THICK_WRAP, 0); /* needed for string return value */ From e4dbfe0a98c120a9293a3a595bdf04759c9067f8 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 26 Dec 2018 23:09:34 +0100 Subject: [PATCH 48/94] Fix T59866: UV editor: no circle select. --- .../scripts/presets/keyconfig/keymap_data/blender_default.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py index 61d59502a981..f7cd09225b52 100644 --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -725,7 +725,7 @@ def km_uv_editor(params): {"properties": [("pinned", False)]}), ("uv.select_box", {"type": 'B', "value": 'PRESS', "ctrl": True}, {"properties": [("pinned", True)]}), - ("uv.circle_select", {"type": 'C', "value": 'PRESS'}, None), + ("uv.select_circle", {"type": 'C', "value": 'PRESS'}, None), ("uv.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True}, {"properties": [("mode", 'ADD')]}), ("uv.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True}, From 40ba73e443e993c41eca8a564b31e3f3f8cd423b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 27 Dec 2018 12:52:33 +1100 Subject: [PATCH 49/94] Cleanup: warnings --- source/blender/editors/mesh/editmesh_knife.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index b85627dc146a..6787d2519a70 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -1027,13 +1027,13 @@ static void knife_init_colors(KnifeColors *colors) /* possible BMESH_TODO: add explicit themes or calculate these by * figuring out contrasting colors with grid / edges / verts * a la UI_make_axis_color */ - UI_GetThemeColorType3ubv(TH_NURB_VLINE, SPACE_VIEW3D, colors->line); - UI_GetThemeColorType3ubv(TH_NURB_ULINE, SPACE_VIEW3D, colors->edge); - UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, colors->curpoint); - UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, colors->curpoint_a); + UI_GetThemeColorType3ubv(TH_NURB_VLINE, SPACE_VIEW3D, (char *)colors->line); + UI_GetThemeColorType3ubv(TH_NURB_ULINE, SPACE_VIEW3D, (char *)colors->edge); + UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, (char *)colors->curpoint); + UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, (char *)colors->curpoint_a); colors->curpoint_a[3] = 102; - UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, colors->point); - UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, colors->point_a); + UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, (char *)colors->point); + UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, (char *)colors->point_a); colors->point_a[3] = 102; } From ff0285c4763ab3781604a71b34930eacb743572c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 27 Dec 2018 12:54:31 +1100 Subject: [PATCH 50/94] Cleanup: use unsigned char (change previous commit) --- source/blender/editors/include/UI_resources.h | 4 ++-- source/blender/editors/interface/resources.c | 4 ++-- source/blender/editors/mesh/editmesh_knife.c | 24 +++++++++---------- .../editors/space_outliner/outliner_draw.c | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h index 0be8f91cca66..92871484e667 100644 --- a/source/blender/editors/include/UI_resources.h +++ b/source/blender/editors/include/UI_resources.h @@ -369,8 +369,8 @@ void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]); void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]); // get a theme color from specified space type -void UI_GetThemeColorType3ubv(int colorid, int spacetype, char col[3]); -void UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4]); +void UI_GetThemeColorType3ubv(int colorid, int spacetype, unsigned char col[3]); +void UI_GetThemeColorType4ubv(int colorid, int spacetype, unsigned char col[4]); // get theme color for coloring monochrome icons bool UI_GetIconThemeColor4fv(int colorid, float col[4]); diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index a30dde38852e..e79c5266a8ec 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -1118,7 +1118,7 @@ void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]) col[3] = cp[3]; } -void UI_GetThemeColorType3ubv(int colorid, int spacetype, char col[3]) +void UI_GetThemeColorType3ubv(int colorid, int spacetype, uchar col[3]) { const unsigned char *cp; @@ -1128,7 +1128,7 @@ void UI_GetThemeColorType3ubv(int colorid, int spacetype, char col[3]) col[2] = cp[2]; } -void UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4]) +void UI_GetThemeColorType4ubv(int colorid, int spacetype, uchar col[4]) { const unsigned char *cp; diff --git a/source/blender/editors/mesh/editmesh_knife.c b/source/blender/editors/mesh/editmesh_knife.c index 6787d2519a70..ca1251ef7288 100644 --- a/source/blender/editors/mesh/editmesh_knife.c +++ b/source/blender/editors/mesh/editmesh_knife.c @@ -96,12 +96,12 @@ #define KNIFE_FLT_EPS_PX_FACE 0.05f typedef struct KnifeColors { - unsigned char line[3]; - unsigned char edge[3]; - unsigned char curpoint[3]; - unsigned char curpoint_a[4]; - unsigned char point[3]; - unsigned char point_a[4]; + uchar line[3]; + uchar edge[3]; + uchar curpoint[3]; + uchar curpoint_a[4]; + uchar point[3]; + uchar point_a[4]; } KnifeColors; /* knifetool operator */ @@ -1027,13 +1027,13 @@ static void knife_init_colors(KnifeColors *colors) /* possible BMESH_TODO: add explicit themes or calculate these by * figuring out contrasting colors with grid / edges / verts * a la UI_make_axis_color */ - UI_GetThemeColorType3ubv(TH_NURB_VLINE, SPACE_VIEW3D, (char *)colors->line); - UI_GetThemeColorType3ubv(TH_NURB_ULINE, SPACE_VIEW3D, (char *)colors->edge); - UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, (char *)colors->curpoint); - UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, (char *)colors->curpoint_a); + UI_GetThemeColorType3ubv(TH_NURB_VLINE, SPACE_VIEW3D, colors->line); + UI_GetThemeColorType3ubv(TH_NURB_ULINE, SPACE_VIEW3D, colors->edge); + UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, colors->curpoint); + UI_GetThemeColorType3ubv(TH_HANDLE_SEL_VECT, SPACE_VIEW3D, colors->curpoint_a); colors->curpoint_a[3] = 102; - UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, (char *)colors->point); - UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, (char *)colors->point_a); + UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, colors->point); + UI_GetThemeColorType3ubv(TH_ACTIVE_SPLINE, SPACE_VIEW3D, colors->point_a); colors->point_a[3] = 102; } diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c index 3ca7a5103009..75ad18da3b93 100644 --- a/source/blender/editors/space_outliner/outliner_draw.c +++ b/source/blender/editors/space_outliner/outliner_draw.c @@ -1627,7 +1627,7 @@ static void outliner_draw_tree_element( const bool is_selected = (base != NULL) && ((base->flag & BASE_SELECTED) != 0); if (ob == obact || is_selected) { - char col[4] = {0, 0, 0, 0}; + uchar col[4] = {0, 0, 0, 0}; /* outliner active ob: always white text, circle color now similar to view3d */ From 73c46431799c85e83401e20cdc5816b3c76c1fd1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 27 Dec 2018 13:14:37 +1100 Subject: [PATCH 51/94] Cleanup: style --- source/blender/depsgraph/intern/depsgraph.cc | 3 ++- source/blender/depsgraph/intern/depsgraph_query_iter.cc | 2 +- source/blender/draw/engines/workbench/workbench_deferred.c | 3 ++- source/blender/editors/transform/transform_conversions.c | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/source/blender/depsgraph/intern/depsgraph.cc b/source/blender/depsgraph/intern/depsgraph.cc index 006e246e2875..2982225bc3ad 100644 --- a/source/blender/depsgraph/intern/depsgraph.cc +++ b/source/blender/depsgraph/intern/depsgraph.cc @@ -152,7 +152,8 @@ static bool pointer_to_component_node_criteria( *subdata = pchan->name; /* But B-Bone properties should connect to the actual operation. */ if (!ELEM(NULL, pchan->bone, prop) && pchan->bone->segments > 1 && - STRPREFIX(RNA_property_identifier(prop), "bbone_")) { + STRPREFIX(RNA_property_identifier(prop), "bbone_")) + { *operation_code = DEG_OPCODE_BONE_SEGMENTS; } } diff --git a/source/blender/depsgraph/intern/depsgraph_query_iter.cc b/source/blender/depsgraph/intern/depsgraph_query_iter.cc index 88dc74419e50..5b039ce60be1 100644 --- a/source/blender/depsgraph/intern/depsgraph_query_iter.cc +++ b/source/blender/depsgraph/intern/depsgraph_query_iter.cc @@ -225,7 +225,7 @@ void deg_iterator_objects_step(BLI_Iterator *iter, DEG::IDDepsNode *id_node) if (ob_visibility & OB_VISIBLE_INSTANCES) { if ((data->flag & DEG_ITER_OBJECT_FLAG_DUPLI) && - (object->transflag & OB_DUPLI)) + (object->transflag & OB_DUPLI)) { data->dupli_parent = object; data->dupli_list = object_duplilist(data->graph, data->scene, object); diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c index 2096d31659d4..2aa588802e72 100644 --- a/source/blender/draw/engines/workbench/workbench_deferred.c +++ b/source/blender/draw/engines/workbench/workbench_deferred.c @@ -839,7 +839,8 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob) } } else if (ELEM(wpd->shading.color_type, - V3D_SHADING_SINGLE_COLOR, V3D_SHADING_OBJECT_COLOR, V3D_SHADING_RANDOM_COLOR)) { + V3D_SHADING_SINGLE_COLOR, V3D_SHADING_OBJECT_COLOR, V3D_SHADING_RANDOM_COLOR)) + { /* Draw solid color */ material = get_or_create_material_data(vedata, ob, NULL, NULL, wpd->shading.color_type); if (is_sculpt_mode) { diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 8c3187d92a02..1d63291d3132 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -8449,7 +8449,7 @@ static void createTransGPencil(bContext *C, TransInfo *t) /* only copy center in local origins. * This allows get interesting effects also when move using proportional editing */ if ((gps->flag & GP_STROKE_SELECT) && - (ts->transform_pivot_point == V3D_AROUND_LOCAL_ORIGINS)) + (ts->transform_pivot_point == V3D_AROUND_LOCAL_ORIGINS)) { copy_v3_v3(td->center, center); } From 81ab9ef968d392aa8edc79566bf02e23f93da7a8 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 27 Dec 2018 11:35:31 +0100 Subject: [PATCH 52/94] Fix T56595: Hair Dynamics stop working after saving new file The issue was caused by NaN valid of the average spring length being stored in the file. This caused accumulation in the springs builder to also deliver NaNs, which then caused solver itself to not do anything. Not sure why these values where never initialized prior to the accumulation. Or even, why this runime data is stored in a DNA. Some sanitizing is possible here, but needs to be done with care to not disrupt Spring production. --- source/blender/blenkernel/intern/cloth.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c index 9666b1ef68f0..5396a1905b95 100644 --- a/source/blender/blenkernel/intern/cloth.c +++ b/source/blender/blenkernel/intern/cloth.c @@ -1285,6 +1285,11 @@ static int cloth_build_springs ( ClothModifierData *clmd, DerivedMesh *dm ) if (!edgelist) return 0; + clmd->sim_parms->avg_spring_len = 0.0f; + for (i = 0; i < mvert_num; i++) { + cloth->verts[i].avg_spring_len = 0.0f; + } + // structural springs for ( i = 0; i < numedges; i++ ) { spring = (ClothSpring *)MEM_callocN ( sizeof ( ClothSpring ), "cloth spring" ); From 097b9019ceea7e0c9ef399b548dc917b8525c02e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 27 Dec 2018 12:18:37 +0100 Subject: [PATCH 53/94] Fix T59799: texture paint mode crash for object with no materials. --- source/blender/draw/modes/paint_texture_mode.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/blender/draw/modes/paint_texture_mode.c b/source/blender/draw/modes/paint_texture_mode.c index cf6f32170f11..a89616c2caee 100644 --- a/source/blender/draw/modes/paint_texture_mode.c +++ b/source/blender/draw/modes/paint_texture_mode.c @@ -191,12 +191,13 @@ static void PAINT_TEXTURE_cache_init(void *vedata) Scene *scene = draw_ctx->scene; const bool use_material_slots = (scene->toolsettings->imapaint.mode == IMAGEPAINT_MODE_MATERIAL); const Mesh *me = ob->data; + const int mat_nr = max_ii(1, me->totcol); stl->g_data->shgroup_image_array = MEM_mallocN( - sizeof(*stl->g_data->shgroup_image_array) * (use_material_slots ? me->totcol : 1), __func__); + sizeof(*stl->g_data->shgroup_image_array) * (use_material_slots ? mat_nr : 1), __func__); if (use_material_slots) { - for (int i = 0; i < me->totcol; i++) { + for (int i = 0; i < mat_nr; i++) { Material *ma = give_current_material(ob, i + 1); Image *ima = (ma && ma->texpaintslot) ? ma->texpaintslot[ma->paint_active_slot].ima : NULL; GPUTexture *tex = ima ? From e07b58537c05b4370cd0773cc1d63084e4c4a20a Mon Sep 17 00:00:00 2001 From: Harley Acheson Date: Thu, 27 Dec 2018 12:48:00 +0100 Subject: [PATCH 54/94] UI: fix inconsistent icon button widths for popovers and enums. Differential Revision: https://developer.blender.org/D4086 --- source/blender/editors/interface/interface_layout.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 9b145fdba922..87927ef76432 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -2228,7 +2228,7 @@ static uiBut *ui_item_menu( /* pass */ } else if (force_menu) { - w += UI_UNIT_X; + w += 0.6f * UI_UNIT_X; } else { if (name[0]) { @@ -2237,12 +2237,16 @@ static uiBut *ui_item_menu( } } - if (name[0] && icon) + if (name[0] && icon) { but = uiDefIconTextMenuBut(block, func, arg, icon, name, 0, 0, w, h, tip); - else if (icon) + } + else if (icon) { but = uiDefIconMenuBut(block, func, arg, icon, 0, 0, w, h, tip); - else + UI_but_drawflag_enable(but, UI_BUT_ICON_LEFT); + } + else { but = uiDefMenuBut(block, func, arg, name, 0, 0, w, h, tip); + } if (argN) { /* ugly .. */ From 4f98266cf6c7c40f1d4de4fb847d3d61644144de Mon Sep 17 00:00:00 2001 From: Harley Acheson Date: Thu, 27 Dec 2018 13:58:02 +0100 Subject: [PATCH 55/94] UI: fix display of menu buttons without text and icon, and only a down arrow. Differential Revision: https://developer.blender.org/D4123 --- .../editors/interface/interface_layout.c | 4 +-- .../editors/interface/interface_widgets.c | 25 ++++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 87927ef76432..eb1b86559bf4 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -285,8 +285,8 @@ static int ui_text_icon_width(uiLayout *layout, const char *name, int icon, bool bool variable; const int unit_x = UI_UNIT_X * (layout->scale[0] ? layout->scale[0] : 1.0f); - if (icon && !name[0]) - return unit_x; /* icon only */ + if (!name[0]) + return unit_x; /* icon only or empty name */ variable = ui_layout_variable_size(layout); diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index a4ab8910c644..47d74660fe36 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -948,16 +948,23 @@ static void widget_draw_vertex_buffer(unsigned int pos, unsigned int col, int mo static void shape_preset_trias_from_rect_menu(uiWidgetTrias *tria, const rcti *rect) { + float width = BLI_rcti_size_x(rect); + float height = BLI_rcti_size_y(rect); float centx, centy, size; - int a; + tria->type = ROUNDBOX_TRIA_MENU; - /* center position and size */ - tria->center[0] = centx = rect->xmax - 0.32f * BLI_rcti_size_y(rect); - tria->center[1] = centy = rect->ymin + 0.50f * BLI_rcti_size_y(rect); - tria->size = size = 0.4f * BLI_rcti_size_y(rect); + /* Center position and size. */ + tria->center[0] = centx = rect->xmin + 0.52f * BLI_rcti_size_y(rect); + tria->center[1] = centy = rect->ymin + 0.52f * BLI_rcti_size_y(rect); + tria->size = size = 0.4f * height; + + if (width > height * 1.1f) { + /* For wider buttons align tighter to the right. */ + tria->center[0] = centx = rect->xmax - 0.32f * height; + } - for (a = 0; a < 6; a++) { + for (int a = 0; a < 6; a++) { tria->vec[a][0] = size * g_shape_preset_menu_arrow_vert[a][0] + centx; tria->vec[a][1] = size * g_shape_preset_menu_arrow_vert[a][1] + centy; } @@ -969,15 +976,15 @@ static void shape_preset_trias_from_rect_menu(uiWidgetTrias *tria, const rcti *r static void shape_preset_trias_from_rect_checkmark(uiWidgetTrias *tria, const rcti *rect) { float centx, centy, size; - int a; + tria->type = ROUNDBOX_TRIA_CHECK; - /* center position and size */ + /* Center position and size. */ tria->center[0] = centx = rect->xmin + 0.5f * BLI_rcti_size_y(rect); tria->center[1] = centy = rect->ymin + 0.5f * BLI_rcti_size_y(rect); tria->size = size = 0.5f * BLI_rcti_size_y(rect); - for (a = 0; a < 6; a++) { + for (int a = 0; a < 6; a++) { tria->vec[a][0] = size * g_shape_preset_checkmark_vert[a][0] + centx; tria->vec[a][1] = size * g_shape_preset_checkmark_vert[a][1] + centy; } From f1bf604804f9652378ecdfb7d5afaa5ee99d4a24 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 27 Dec 2018 15:01:48 +0100 Subject: [PATCH 56/94] Fix T59389: Solidify Modifier does not work with 'beveled' Curve objects. Curve modifier eval code was actually doing nothing to ensure we passed mesh with valid normals when required by the modifier. This is a bit basic, rough code, but think it should cover all cases, time will say... --- source/blender/blenkernel/intern/displist.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index c985de948540..c5dadb1b5291 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -965,6 +965,19 @@ static void curve_calc_modifiers_post( if (!modifier_isEnabled(scene, md, required_mode)) continue; + /* If we need normals, no choice, have to convert to mesh now. */ + if (mti->dependsOnNormals != NULL && mti->dependsOnNormals(md) && modified == NULL) { + if (vertCos != NULL) { + displist_apply_allverts(dispbase, vertCos); + } + + if (ELEM(ob->type, OB_CURVE, OB_FONT) && (cu->flag & CU_DEFORM_FILL)) { + curve_to_filledpoly(cu, nurb, dispbase); + } + + modified = BKE_mesh_new_nomain_from_curve_displist(ob, dispbase); + } + if (mti->type == eModifierTypeType_OnlyDeform || (mti->type == eModifierTypeType_DeformOrConstruct && !modified)) { @@ -972,6 +985,9 @@ static void curve_calc_modifiers_post( if (!vertCos) { vertCos = BKE_mesh_vertexCos_get(modified, &totvert); } + if (mti->dependsOnNormals != NULL && mti->dependsOnNormals(md)) { + BKE_mesh_ensure_normals(modified); + } mti->deformVerts(md, &mectx_deform, modified, vertCos, totvert); } else { @@ -1021,6 +1037,9 @@ static void curve_calc_modifiers_post( vertCos = NULL; } + if (mti->dependsOnNormals != NULL && mti->dependsOnNormals(md)) { + BKE_mesh_ensure_normals(modified); + } mesh_applied = mti->applyModifier(md, &mectx_apply, modified); if (mesh_applied) { From be1b32e4e49e6f8b51aca193c8a2399af893008f Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Thu, 27 Dec 2018 09:58:19 +0100 Subject: [PATCH 57/94] Fix T59884: Rigidbody Calculate Mass Sets Mass to 0 rigidbody_get_mesh() needs an evaluated object Reviewers: sergey, brecht Maniphest Tasks: T59884 Differential Revision: https://developer.blender.org/D4125 --- source/blender/editors/physics/rigidbody_object.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/physics/rigidbody_object.c b/source/blender/editors/physics/rigidbody_object.c index ff411d4bece7..1c0ceed24551 100644 --- a/source/blender/editors/physics/rigidbody_object.c +++ b/source/blender/editors/physics/rigidbody_object.c @@ -51,6 +51,7 @@ #include "DEG_depsgraph.h" #include "DEG_depsgraph_build.h" +#include "DEG_depsgraph_query.h" #include "RNA_access.h" #include "RNA_define.h" @@ -490,6 +491,7 @@ static const EnumPropertyItem *rigidbody_materials_itemf(bContext *UNUSED(C), Po static int rigidbody_objects_calc_mass_exec(bContext *C, wmOperator *op) { + Depsgraph *depsgraph = CTX_data_depsgraph(C); int material = RNA_enum_get(op->ptr, "material"); float density; bool changed = false; @@ -520,7 +522,8 @@ static int rigidbody_objects_calc_mass_exec(bContext *C, wmOperator *op) /* mass is calculated from the approximate volume of the object, * and the density of the material we're simulating */ - BKE_rigidbody_calc_volume(ob, &volume); + Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); + BKE_rigidbody_calc_volume(ob_eval, &volume); mass = volume * density; /* use RNA-system to change the property and perform all necessary changes */ @@ -561,7 +564,7 @@ void RIGIDBODY_OT_mass_calculate(wmOperatorType *ot) ot->poll = ED_operator_scene_editable; /* flags */ - ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; + ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_USE_EVAL_DATA; /* properties */ ot->prop = prop = RNA_def_enum(ot->srna, "material", From 21e4f3bd8c3b797d6b51cafbfb33e2bed9f42269 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Thu, 27 Dec 2018 14:41:02 +0100 Subject: [PATCH 58/94] Fix T59861: converting GP stroke to curve doesn't immediately work Reviewers: antoniov, brecht Maniphest Tasks: T59861 Differential Revision: https://developer.blender.org/D4127 --- source/blender/editors/gpencil/gpencil_convert.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/editors/gpencil/gpencil_convert.c b/source/blender/editors/gpencil/gpencil_convert.c index 49ce18753b1d..cb3fcba45e14 100644 --- a/source/blender/editors/gpencil/gpencil_convert.c +++ b/source/blender/editors/gpencil/gpencil_convert.c @@ -1179,6 +1179,7 @@ static void gp_layer_to_curve( cu = ob->data = BKE_curve_add(bmain, gpl->info, OB_CURVE); BKE_collection_object_add(bmain, collection, ob); base_new = BKE_view_layer_base_find(view_layer, ob); + DEG_relations_tag_update(bmain); /* added object */ cu->flag |= CU_3D; From 2c196de56bbb163048b08f321983234a5e72e804 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 21 Dec 2018 23:26:04 +0100 Subject: [PATCH 59/94] cleanup: remove unused passes - use_pass_indirect, use_pass_specular from ViewLayer RNA - RGBA, DIFFUSE, SPEC, REFLECT, REFRACT, INDIRECT usages from remaining places Reviewers: brecht Differential Revision: https://developer.blender.org/D4117 --- .../intern/blender_interface/FRS_freestyle.cpp | 2 +- source/blender/makesdna/DNA_scene_types.h | 18 ++++++------------ source/blender/makesrna/intern/rna_render.c | 5 ----- source/blender/makesrna/intern/rna_scene.c | 12 ------------ .../composite/nodes/node_composite_image.c | 10 +--------- source/blender/render/intern/source/bake_api.c | 9 --------- source/blender/render/intern/source/pipeline.c | 6 ------ .../render/intern/source/render_result.c | 18 ------------------ 8 files changed, 8 insertions(+), 72 deletions(-) diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp index 0548d49dce00..3486980fa653 100644 --- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp +++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp @@ -447,7 +447,7 @@ static void prepare(Render *re, ViewLayer *view_layer) RenderLayer *rl = RE_GetRenderLayer(re->result, view_layer->name); bool diffuse = false, z = false; for (RenderPass *rpass = (RenderPass *)rl->passes.first; rpass; rpass = rpass->next) { - if (STREQ(rpass->name, RE_PASSNAME_DIFFUSE)) { + if (STREQ(rpass->name, RE_PASSNAME_DIFFUSE_COLOR)) { controller->setPassDiffuse(rpass->rect, rpass->rectx, rpass->recty); diffuse = true; } diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 467d70ffd819..ad33c57b3c8e 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -234,18 +234,18 @@ typedef struct SceneRenderLayer { typedef enum eScenePassType { SCE_PASS_COMBINED = (1 << 0), SCE_PASS_Z = (1 << 1), - SCE_PASS_RGBA = (1 << 2), - SCE_PASS_DIFFUSE = (1 << 3), - SCE_PASS_SPEC = (1 << 4), + SCE_PASS_DEPRECATED_1 = (1 << 2), /* RGBA */ + SCE_PASS_DEPRECATED_2 = (1 << 3), /* DIFFUSE */ + SCE_PASS_DEPRECATED_3 = (1 << 4), /* SPEC */ SCE_PASS_SHADOW = (1 << 5), SCE_PASS_AO = (1 << 6), - SCE_PASS_REFLECT = (1 << 7), + SCE_PASS_DEPRECATED_4 = (1 << 7), /* REFLECT */ SCE_PASS_NORMAL = (1 << 8), SCE_PASS_VECTOR = (1 << 9), - SCE_PASS_REFRACT = (1 << 10), + SCE_PASS_DEPRECATED_5 = (1 << 10), /* REFRACT */ SCE_PASS_INDEXOB = (1 << 11), SCE_PASS_UV = (1 << 12), - SCE_PASS_INDIRECT = (1 << 13), + SCE_PASS_DEPRECATED_6 = (1 << 13), /* INDIRECT */ SCE_PASS_MIST = (1 << 14), SCE_PASS_RAYHITS = (1 << 15), SCE_PASS_EMIT = (1 << 16), @@ -271,17 +271,11 @@ typedef enum eScenePassType { #define RE_PASSNAME_VECTOR "Vector" #define RE_PASSNAME_NORMAL "Normal" #define RE_PASSNAME_UV "UV" -#define RE_PASSNAME_RGBA "Color" #define RE_PASSNAME_EMIT "Emit" -#define RE_PASSNAME_DIFFUSE "Diffuse" -#define RE_PASSNAME_SPEC "Spec" #define RE_PASSNAME_SHADOW "Shadow" #define RE_PASSNAME_AO "AO" #define RE_PASSNAME_ENVIRONMENT "Env" -#define RE_PASSNAME_INDIRECT "Indirect" -#define RE_PASSNAME_REFLECT "Reflect" -#define RE_PASSNAME_REFRACT "Refract" #define RE_PASSNAME_INDEXOB "IndexOB" #define RE_PASSNAME_INDEXMA "IndexMA" #define RE_PASSNAME_MIST "Mist" diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 46b77b80d491..9836dfdfbc90 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -52,15 +52,10 @@ const EnumPropertyItem rna_enum_render_pass_type_items[] = { {SCE_PASS_COMBINED, "COMBINED", 0, "Combined", ""}, {SCE_PASS_Z, "Z", 0, "Z", ""}, - {SCE_PASS_RGBA, "COLOR", 0, "Color", ""}, - {SCE_PASS_DIFFUSE, "DIFFUSE", 0, "Diffuse", ""}, - {SCE_PASS_SPEC, "SPECULAR", 0, "Specular", ""}, {SCE_PASS_SHADOW, "SHADOW", 0, "Shadow", ""}, {SCE_PASS_AO, "AO", 0, "Ambient Occlusion", ""}, - {SCE_PASS_REFLECT, "REFLECTION", 0, "Reflection", ""}, {SCE_PASS_NORMAL, "NORMAL", 0, "Normal", ""}, {SCE_PASS_VECTOR, "VECTOR", 0, "Vector", ""}, - {SCE_PASS_REFRACT, "REFRACTION", 0, "Refraction", ""}, {SCE_PASS_INDEXOB, "OBJECT_INDEX", 0, "Object Index", ""}, {SCE_PASS_UV, "UV", 0, "UV", ""}, {SCE_PASS_MIST, "MIST", 0, "Mist", ""}, diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index a9a23ad4cea6..9389dcf81ef0 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -3345,12 +3345,6 @@ void rna_def_view_layer_common(StructRNA *srna, int scene) if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_pass_update"); else RNA_def_property_clear_flag(prop, PROP_EDITABLE); - prop = RNA_def_property(srna, "use_pass_specular", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_SPEC); - RNA_def_property_ui_text(prop, "Specular", "Deliver specular pass"); - if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_pass_update"); - else RNA_def_property_clear_flag(prop, PROP_EDITABLE); - prop = RNA_def_property(srna, "use_pass_shadow", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_SHADOW); RNA_def_property_ui_text(prop, "Shadow", "Deliver shadow pass"); @@ -3375,12 +3369,6 @@ void rna_def_view_layer_common(StructRNA *srna, int scene) if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_pass_update"); else RNA_def_property_clear_flag(prop, PROP_EDITABLE); - prop = RNA_def_property(srna, "use_pass_indirect", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_INDIRECT); - RNA_def_property_ui_text(prop, "Indirect", "Deliver indirect lighting pass"); - if (scene) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_pass_update"); - else RNA_def_property_clear_flag(prop, PROP_EDITABLE); - prop = RNA_def_property(srna, "use_pass_diffuse_direct", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_DIFFUSE_DIRECT); RNA_def_property_ui_text(prop, "Diffuse Direct", "Deliver diffuse direct pass"); diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c index 3ee4e512d767..8d400ada0c7c 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.c +++ b/source/blender/nodes/composite/nodes/node_composite_image.c @@ -52,14 +52,8 @@ static bNodeSocketTemplate cmp_node_rlayers_out[] = { { SOCK_VECTOR, 0, N_(RE_PASSNAME_NORMAL), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VECTOR, 0, N_(RE_PASSNAME_UV), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VECTOR, 0, N_(RE_PASSNAME_VECTOR), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_RGBA, 0, N_(RE_PASSNAME_RGBA), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_RGBA, 0, N_(RE_PASSNAME_DIFFUSE), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_RGBA, 0, N_(RE_PASSNAME_SPEC), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_RGBA, 0, N_(RE_PASSNAME_SHADOW), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_RGBA, 0, N_(RE_PASSNAME_AO), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_RGBA, 0, N_(RE_PASSNAME_REFLECT), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_RGBA, 0, N_(RE_PASSNAME_REFRACT), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_RGBA, 0, N_(RE_PASSNAME_INDIRECT), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, N_(RE_PASSNAME_INDEXOB), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, N_(RE_PASSNAME_INDEXMA), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, N_(RE_PASSNAME_MIST), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, @@ -360,9 +354,7 @@ const char *node_cmp_rlayers_sock_to_pass(int sock_index) { const char *sock_to_passname[] = { RE_PASSNAME_COMBINED, RE_PASSNAME_COMBINED, - RE_PASSNAME_Z, RE_PASSNAME_NORMAL, RE_PASSNAME_UV, RE_PASSNAME_VECTOR, RE_PASSNAME_RGBA, - RE_PASSNAME_DIFFUSE, RE_PASSNAME_SPEC, RE_PASSNAME_SHADOW, RE_PASSNAME_AO, - RE_PASSNAME_REFLECT, RE_PASSNAME_REFRACT, RE_PASSNAME_INDIRECT, + RE_PASSNAME_Z, RE_PASSNAME_NORMAL, RE_PASSNAME_UV, RE_PASSNAME_VECTOR, RE_PASSNAME_SHADOW, RE_PASSNAME_AO, RE_PASSNAME_INDEXOB, RE_PASSNAME_INDEXMA, RE_PASSNAME_MIST, RE_PASSNAME_EMIT, RE_PASSNAME_ENVIRONMENT, RE_PASSNAME_DIFFUSE_DIRECT, RE_PASSNAME_DIFFUSE_INDIRECT, RE_PASSNAME_DIFFUSE_COLOR, RE_PASSNAME_GLOSSY_DIRECT, RE_PASSNAME_GLOSSY_INDIRECT, RE_PASSNAME_GLOSSY_COLOR, diff --git a/source/blender/render/intern/source/bake_api.c b/source/blender/render/intern/source/bake_api.c index c906413d7d7a..6aa888d9f900 100644 --- a/source/blender/render/intern/source/bake_api.c +++ b/source/blender/render/intern/source/bake_api.c @@ -954,20 +954,11 @@ int RE_pass_depth(const eScenePassType pass_type) { return 2; } - case SCE_PASS_RGBA: - { - return 4; - } case SCE_PASS_COMBINED: - case SCE_PASS_DIFFUSE: - case SCE_PASS_SPEC: case SCE_PASS_SHADOW: - case SCE_PASS_REFLECT: case SCE_PASS_NORMAL: case SCE_PASS_VECTOR: - case SCE_PASS_REFRACT: case SCE_PASS_INDEXOB: /* XXX double check */ - case SCE_PASS_INDIRECT: case SCE_PASS_RAYHITS: /* XXX double check */ case SCE_PASS_EMIT: case SCE_PASS_ENVIRONMENT: diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index f3b1cc0d529a..188da973f498 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2783,16 +2783,10 @@ RenderPass *RE_pass_find_by_type(volatile RenderLayer *rl, int passtype, const c CHECK_PASS(VECTOR); CHECK_PASS(NORMAL); CHECK_PASS(UV); - CHECK_PASS(RGBA); CHECK_PASS(EMIT); - CHECK_PASS(DIFFUSE); - CHECK_PASS(SPEC); CHECK_PASS(SHADOW); CHECK_PASS(AO); CHECK_PASS(ENVIRONMENT); - CHECK_PASS(INDIRECT); - CHECK_PASS(REFLECT); - CHECK_PASS(REFRACT); CHECK_PASS(INDEXOB); CHECK_PASS(INDEXMA); CHECK_PASS(MIST); diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index ea5ca18d58aa..fc99be81ba3a 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -350,26 +350,14 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_NORMAL, view, "XYZ"); if (view_layer->passflag & SCE_PASS_UV) RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_UV, view, "UVA"); - if (view_layer->passflag & SCE_PASS_RGBA) - RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 4, RE_PASSNAME_RGBA, view, "RGBA"); if (view_layer->passflag & SCE_PASS_EMIT) RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_EMIT, view, "RGB"); - if (view_layer->passflag & SCE_PASS_DIFFUSE) - RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_DIFFUSE, view, "RGB"); - if (view_layer->passflag & SCE_PASS_SPEC) - RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_SPEC, view, "RGB"); if (view_layer->passflag & SCE_PASS_AO) RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_AO, view, "RGB"); if (view_layer->passflag & SCE_PASS_ENVIRONMENT) RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_ENVIRONMENT, view, "RGB"); - if (view_layer->passflag & SCE_PASS_INDIRECT) - RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_INDIRECT, view, "RGB"); if (view_layer->passflag & SCE_PASS_SHADOW) RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_SHADOW, view, "RGB"); - if (view_layer->passflag & SCE_PASS_REFLECT) - RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_REFLECT, view, "RGB"); - if (view_layer->passflag & SCE_PASS_REFRACT) - RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 3, RE_PASSNAME_REFRACT, view, "RGB"); if (view_layer->passflag & SCE_PASS_INDEXOB) RENDER_LAYER_ADD_PASS_SAFE(rr, rl, 1, RE_PASSNAME_INDEXOB, view, "X"); if (view_layer->passflag & SCE_PASS_INDEXMA) @@ -517,16 +505,10 @@ static int passtype_from_name(const char *name) CHECK_PASS(VECTOR); CHECK_PASS(NORMAL); CHECK_PASS(UV); - CHECK_PASS(RGBA); CHECK_PASS(EMIT); - CHECK_PASS(DIFFUSE); - CHECK_PASS(SPEC); CHECK_PASS(SHADOW); CHECK_PASS(AO); CHECK_PASS(ENVIRONMENT); - CHECK_PASS(INDIRECT); - CHECK_PASS(REFLECT); - CHECK_PASS(REFRACT); CHECK_PASS(INDEXOB); CHECK_PASS(INDEXMA); CHECK_PASS(MIST); From 53a6a0b2584a6730d6cfc03f3312ff0e5da91a4f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 27 Dec 2018 15:22:20 +0100 Subject: [PATCH 60/94] X11: support multiple tablet devices. Previously we would try to guess what the main tablet device is, but this is error prone. Now we keep a list of X11 devices and try to match events to them. On the Blender side there are still some limitations in regards to using multiple devices at the same time, but this should improve things already. Fixes T59645. --- intern/ghost/intern/GHOST_SystemX11.cpp | 248 +++++++++++------------- intern/ghost/intern/GHOST_SystemX11.h | 19 +- intern/ghost/intern/GHOST_WindowX11.cpp | 47 ++--- 3 files changed, 143 insertions(+), 171 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp index e53379a4f22c..1afffb850370 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cpp +++ b/intern/ghost/intern/GHOST_SystemX11.cpp @@ -235,9 +235,6 @@ GHOST_SystemX11( } #endif /* USE_XINPUT_HOTPLUG */ - /* initialize incase X11 fails to load */ - memset(&m_xtablet, 0, sizeof(m_xtablet)); - refreshXInputDevices(); #endif /* WITH_X11_XINPUT */ } @@ -252,12 +249,8 @@ GHOST_SystemX11:: #endif #ifdef WITH_X11_XINPUT - /* close tablet devices */ - if (m_xtablet.StylusDevice) - XCloseDevice(m_display, m_xtablet.StylusDevice); - - if (m_xtablet.EraserDevice) - XCloseDevice(m_display, m_xtablet.EraserDevice); + /* Close tablet devices. */ + clearXInputDevices(); #endif /* WITH_X11_XINPUT */ if (m_xkb_descr) { @@ -768,17 +761,6 @@ processEvents( } -#ifdef WITH_X11_XINPUT -/* set currently using tablet mode (stylus or eraser) depending on device ID */ -static void setTabletMode(GHOST_SystemX11 *system, GHOST_WindowX11 *window, XID deviceid) -{ - if (deviceid == system->GetXTablet().StylusID) - window->GetTabletData()->Active = GHOST_kTabletModeStylus; - else if (deviceid == system->GetXTablet().EraserID) - window->GetTabletData()->Active = GHOST_kTabletModeEraser; -} -#endif /* WITH_X11_XINPUT */ - #ifdef WITH_X11_XINPUT static bool checkTabletProximity(Display *display, XDevice *device) { @@ -876,9 +858,15 @@ GHOST_SystemX11::processEvent(XEvent *xe) * but for now enough parts of the code are checking 'Active' * - campbell */ if (window->GetTabletData()->Active != GHOST_kTabletModeNone) { - if (checkTabletProximity(xe->xany.display, m_xtablet.StylusDevice) == false && - checkTabletProximity(xe->xany.display, m_xtablet.EraserDevice) == false) - { + bool any_proximity = false; + + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (checkTabletProximity(xe->xany.display, xtablet.Device)) { + any_proximity = true; + } + } + + if (!any_proximity) { // printf("proximity disable\n"); window->GetTabletData()->Active = GHOST_kTabletModeNone; } @@ -1472,59 +1460,64 @@ GHOST_SystemX11::processEvent(XEvent *xe) default: { #ifdef WITH_X11_XINPUT - if (xe->type == m_xtablet.MotionEvent || - xe->type == m_xtablet.MotionEventEraser || - xe->type == m_xtablet.PressEvent || - xe->type == m_xtablet.PressEventEraser) - { - XDeviceMotionEvent *data = (XDeviceMotionEvent *)xe; - const unsigned char axis_first = data->first_axis; - const unsigned char axes_end = axis_first + data->axes_count; /* after the last */ - int axis_value; - - /* stroke might begin without leading ProxyIn event, - * this happens when window is opened when stylus is already hovering - * around tablet surface */ - setTabletMode(this, window, data->deviceid); - - /* Note: This event might be generated with incomplete dataset (don't exactly know why, looks like in - * some cases, if the value does not change, it is not included in subsequent XDeviceMotionEvent - * events). So we have to check which values this event actually contains! - */ + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (xe->type == xtablet.MotionEvent || xe->type == xtablet.PressEvent) { + XDeviceMotionEvent *data = (XDeviceMotionEvent *)xe; + if (data->deviceid != xtablet.ID) { + continue; + } + + const unsigned char axis_first = data->first_axis; + const unsigned char axes_end = axis_first + data->axes_count; /* after the last */ + int axis_value; + + /* stroke might begin without leading ProxyIn event, + * this happens when window is opened when stylus is already hovering + * around tablet surface */ + window->GetTabletData()->Active = xtablet.mode; + + /* Note: This event might be generated with incomplete dataset (don't exactly know why, looks like in + * some cases, if the value does not change, it is not included in subsequent XDeviceMotionEvent + * events). So we have to check which values this event actually contains! + */ #define AXIS_VALUE_GET(axis, val) \ ((axis_first <= axis && axes_end > axis) && ((void)(val = data->axis_data[axis - axis_first]), true)) - if (AXIS_VALUE_GET(2, axis_value)) { - window->GetTabletData()->Pressure = axis_value / ((float)m_xtablet.PressureLevels); - } + if (AXIS_VALUE_GET(2, axis_value)) { + window->GetTabletData()->Pressure = axis_value / ((float)xtablet.PressureLevels); + } - /* the (short) cast and the & 0xffff is bizarre and unexplained anywhere, - * but I got garbage data without it. Found it in the xidump.c source --matt - * - * The '& 0xffff' just truncates the value to its two lowest bytes, this probably means - * some drivers do not properly set the whole int value? Since we convert to float afterward, - * I don't think we need to cast to short here, but do not have a device to check this. --mont29 - */ - if (AXIS_VALUE_GET(3, axis_value)) { - window->GetTabletData()->Xtilt = (short)(axis_value & 0xffff) / - ((float)m_xtablet.XtiltLevels); - } - if (AXIS_VALUE_GET(4, axis_value)) { - window->GetTabletData()->Ytilt = (short)(axis_value & 0xffff) / - ((float)m_xtablet.YtiltLevels); - } + /* the (short) cast and the & 0xffff is bizarre and unexplained anywhere, + * but I got garbage data without it. Found it in the xidump.c source --matt + * + * The '& 0xffff' just truncates the value to its two lowest bytes, this probably means + * some drivers do not properly set the whole int value? Since we convert to float afterward, + * I don't think we need to cast to short here, but do not have a device to check this. --mont29 + */ + if (AXIS_VALUE_GET(3, axis_value)) { + window->GetTabletData()->Xtilt = (short)(axis_value & 0xffff) / + ((float)xtablet.XtiltLevels); + } + if (AXIS_VALUE_GET(4, axis_value)) { + window->GetTabletData()->Ytilt = (short)(axis_value & 0xffff) / + ((float)xtablet.YtiltLevels); + } #undef AXIS_VALUE_GET - } - else if (xe->type == m_xtablet.ProxInEvent) { - XProximityNotifyEvent *data = (XProximityNotifyEvent *)xe; + } + else if (xe->type == xtablet.ProxInEvent) { + XProximityNotifyEvent *data = (XProximityNotifyEvent *)xe; + if (data->deviceid != xtablet.ID) { + continue; + } - setTabletMode(this, window, data->deviceid); - } - else if (xe->type == m_xtablet.ProxOutEvent) { - window->GetTabletData()->Active = GHOST_kTabletModeNone; + window->GetTabletData()->Active = xtablet.mode; + } + else if (xe->type == xtablet.ProxOutEvent) { + window->GetTabletData()->Active = GHOST_kTabletModeNone; + } } #endif // WITH_X11_XINPUT break; @@ -2304,6 +2297,20 @@ static GHOST_TTabletMode tablet_mode_from_name(const char *name, const char *typ NULL }; + static const char* type_blacklist[] = { + "pad", + "cursor", + "touch", + NULL + }; + + /* Skip some known unsupported types. */ + for (i=0; type_blacklist[i] != NULL; i++) { + if (type && (strcasecmp(type, type_blacklist[i]) == 0)) { + return GHOST_kTabletModeNone; + } + } + /* First check device type to avoid cases where name is "Pen and Eraser" and type is "ERASER" */ for (i=0; tablet_stylus_whitelist[i] != NULL; i++) { if (type && match_token(type, tablet_stylus_whitelist[i])) { @@ -2330,16 +2337,8 @@ static GHOST_TTabletMode tablet_mode_from_name(const char *name, const char *typ void GHOST_SystemX11::refreshXInputDevices() { if (m_xinput_version.present) { - - if (m_xtablet.StylusDevice) { - XCloseDevice(m_display, m_xtablet.StylusDevice); - m_xtablet.StylusDevice = NULL; - } - - if (m_xtablet.EraserDevice) { - XCloseDevice(m_display, m_xtablet.EraserDevice); - m_xtablet.EraserDevice = NULL; - } + /* Close tablet devices. */ + clearXInputDevices(); /* Install our error handler to override Xlib's termination behavior */ GHOST_X11_ERROR_HANDLERS_OVERRIDE(handler_store); @@ -2351,72 +2350,51 @@ void GHOST_SystemX11::refreshXInputDevices() for (int i = 0; i < device_count; ++i) { char *device_type = device_info[i].type ? XGetAtomName(m_display, device_info[i].type) : NULL; + GHOST_TTabletMode tablet_mode = tablet_mode_from_name(device_info[i].name, device_type); // printf("Tablet type:'%s', name:'%s', index:%d\n", device_type, device_info[i].name, i); - GHOST_TTabletMode tablet_mode = tablet_mode_from_name(device_info[i].name, device_type); + if (device_type) { + XFree((void *)device_type); + } - if ((m_xtablet.StylusDevice == NULL) && (tablet_mode == GHOST_kTabletModeStylus)) { -// printf("\tfound stylus\n"); - m_xtablet.StylusID = device_info[i].id; - m_xtablet.StylusDevice = XOpenDevice(m_display, m_xtablet.StylusID); - - if (m_xtablet.StylusDevice != NULL) { - /* Find how many pressure levels tablet has */ - XAnyClassPtr ici = device_info[i].inputclassinfo; - bool found_valuator_class = false; - - for (int j = 0; j < m_xtablet.StylusDevice->num_classes; ++j) { - if (ici->c_class == ValuatorClass) { -// printf("\t\tfound ValuatorClass\n"); - XValuatorInfo *xvi = (XValuatorInfo *)ici; - m_xtablet.PressureLevels = xvi->axes[2].max_value; - - if (xvi->num_axes > 3) { - /* this is assuming that the tablet has the same tilt resolution in both - * positive and negative directions. It would be rather weird if it didn't.. */ - m_xtablet.XtiltLevels = xvi->axes[3].max_value; - m_xtablet.YtiltLevels = xvi->axes[4].max_value; - } - else { - m_xtablet.XtiltLevels = 0; - m_xtablet.YtiltLevels = 0; - } + if (!(tablet_mode == GHOST_kTabletModeStylus || tablet_mode == GHOST_kTabletModeEraser)) { + continue; + } - found_valuator_class = (m_xtablet.PressureLevels > 0); + GHOST_TabletX11 xtablet = {tablet_mode}; + xtablet.ID = device_info[i].id; + xtablet.Device = XOpenDevice(m_display, xtablet.ID); - break; + if (xtablet.Device != NULL) { + /* Find how many pressure levels tablet has */ + XAnyClassPtr ici = device_info[i].inputclassinfo; + + for (int j = 0; j < xtablet.Device->num_classes; ++j) { + if (ici->c_class == ValuatorClass) { + XValuatorInfo *xvi = (XValuatorInfo *)ici; + xtablet.PressureLevels = xvi->axes[2].max_value; + + if (xvi->num_axes > 3) { + /* this is assuming that the tablet has the same tilt resolution in both + * positive and negative directions. It would be rather weird if it didn't.. */ + xtablet.XtiltLevels = xvi->axes[3].max_value; + xtablet.YtiltLevels = xvi->axes[4].max_value; + } + else { + xtablet.XtiltLevels = 0; + xtablet.YtiltLevels = 0; } - ici = (XAnyClassPtr)(((char *)ici) + ici->length); + break; } - if (!found_valuator_class) { - /* In case our name matching detects a device that - * isn't actually a stylus. For example there can - * be "XPPEN Tablet" and "XPPEN Tablet Pen", but - * only the latter is a stylus. */ - XCloseDevice(m_display, m_xtablet.StylusDevice); - m_xtablet.StylusDevice = NULL; - m_xtablet.StylusID = 0; - } + ici = (XAnyClassPtr)(((char *)ici) + ici->length); } - else { - m_xtablet.StylusID = 0; - } - } - else if ((m_xtablet.EraserDevice == NULL) && - (tablet_mode == GHOST_kTabletModeEraser)) - { -// printf("\tfound eraser\n"); - m_xtablet.EraserID = device_info[i].id; - m_xtablet.EraserDevice = XOpenDevice(m_display, m_xtablet.EraserID); - if (m_xtablet.EraserDevice == NULL) m_xtablet.EraserID = 0; - } - if (device_type) { - XFree((void *)device_type); + m_xtablets.push_back(xtablet); } + } XFreeDeviceList(device_info); @@ -2426,4 +2404,14 @@ void GHOST_SystemX11::refreshXInputDevices() } } +void GHOST_SystemX11::clearXInputDevices() +{ + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (xtablet.Device) + XCloseDevice(m_display, xtablet.Device); + } + + m_xtablets.clear(); +} + #endif /* WITH_X11_XINPUT */ diff --git a/intern/ghost/intern/GHOST_SystemX11.h b/intern/ghost/intern/GHOST_SystemX11.h index aaed0c3d8375..a4c997c7bf93 100644 --- a/intern/ghost/intern/GHOST_SystemX11.h +++ b/intern/ghost/intern/GHOST_SystemX11.h @@ -309,28 +309,22 @@ class GHOST_SystemX11 : public GHOST_System { #ifdef WITH_X11_XINPUT typedef struct GHOST_TabletX11 { - XDevice *StylusDevice; - XDevice *EraserDevice; - - XID StylusID, EraserID; + GHOST_TTabletMode mode; + XDevice *Device; + XID ID; int MotionEvent; int ProxInEvent; int ProxOutEvent; int PressEvent; - int MotionEventEraser; - int ProxInEventEraser; - int ProxOutEventEraser; - int PressEventEraser; - int PressureLevels; int XtiltLevels, YtiltLevels; } GHOST_TabletX11; - GHOST_TabletX11 &GetXTablet() + std::vector &GetXTablets() { - return m_xtablet; + return m_xtablets; } #endif // WITH_X11_XINPUT @@ -384,7 +378,7 @@ class GHOST_SystemX11 : public GHOST_System { #ifdef WITH_X11_XINPUT /* Tablet devices */ - GHOST_TabletX11 m_xtablet; + std::vector m_xtablets; #endif /// The vector of windows that need to be updated. @@ -414,6 +408,7 @@ class GHOST_SystemX11 : public GHOST_System { #endif #ifdef WITH_X11_XINPUT + void clearXInputDevices(); void refreshXInputDevices(); #endif diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp index 01b4991ec725..3751f7f78eae 100644 --- a/intern/ghost/intern/GHOST_WindowX11.cpp +++ b/intern/ghost/intern/GHOST_WindowX11.cpp @@ -648,37 +648,26 @@ bool GHOST_WindowX11::createX11_XIC() void GHOST_WindowX11::refreshXInputDevices() { if (m_system->m_xinput_version.present) { - GHOST_SystemX11::GHOST_TabletX11 &xtablet = m_system->GetXTablet(); - XEventClass xevents[8], ev; - int dcount = 0; - - /* With modern XInput (xlib 1.6.2 at least and/or evdev 2.9.0) and some 'no-name' tablets - * like 'UC-LOGIC Tablet WP5540U', we also need to 'select' ButtonPress for motion event, - * otherwise we do not get any tablet motion event once pen is pressed... See T43367. - */ - - if (xtablet.StylusDevice) { - DeviceMotionNotify(xtablet.StylusDevice, xtablet.MotionEvent, ev); - if (ev) xevents[dcount++] = ev; - DeviceButtonPress(xtablet.StylusDevice, xtablet.PressEvent, ev); - if (ev) xevents[dcount++] = ev; - ProximityIn(xtablet.StylusDevice, xtablet.ProxInEvent, ev); - if (ev) xevents[dcount++] = ev; - ProximityOut(xtablet.StylusDevice, xtablet.ProxOutEvent, ev); - if (ev) xevents[dcount++] = ev; - } - if (xtablet.EraserDevice) { - DeviceMotionNotify(xtablet.EraserDevice, xtablet.MotionEventEraser, ev); - if (ev) xevents[dcount++] = ev; - DeviceButtonPress(xtablet.EraserDevice, xtablet.PressEventEraser, ev); - if (ev) xevents[dcount++] = ev; - ProximityIn(xtablet.EraserDevice, xtablet.ProxInEventEraser, ev); - if (ev) xevents[dcount++] = ev; - ProximityOut(xtablet.EraserDevice, xtablet.ProxOutEventEraser, ev); - if (ev) xevents[dcount++] = ev; + std::vector xevents; + + for (GHOST_SystemX11::GHOST_TabletX11& xtablet: m_system->GetXTablets()) { + /* With modern XInput (xlib 1.6.2 at least and/or evdev 2.9.0) and some 'no-name' tablets + * like 'UC-LOGIC Tablet WP5540U', we also need to 'select' ButtonPress for motion event, + * otherwise we do not get any tablet motion event once pen is pressed... See T43367. + */ + XEventClass ev; + + DeviceMotionNotify(xtablet.Device, xtablet.MotionEvent, ev); + if (ev) xevents.push_back(ev); + DeviceButtonPress(xtablet.Device, xtablet.PressEvent, ev); + if (ev) xevents.push_back(ev); + ProximityIn(xtablet.Device, xtablet.ProxInEvent, ev); + if (ev) xevents.push_back(ev); + ProximityOut(xtablet.Device, xtablet.ProxOutEvent, ev); + if (ev) xevents.push_back(ev); } - XSelectExtensionEvent(m_display, m_window, xevents, dcount); + XSelectExtensionEvent(m_display, m_window, xevents.data(), (int)xevents.size()); } } From 29feb215f42d886659ee72c8166f9b207e127fec Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 27 Dec 2018 15:22:20 +0100 Subject: [PATCH 61/94] X11: support multiple tablet devices. Previously we would try to guess what the main tablet device is, but this is error prone. Now we keep a list of X11 devices and try to match events to them. On the Blender side there are still some limitations in regards to using multiple devices at the same time, but this should improve things already. Fixes T59645. --- intern/ghost/intern/GHOST_SystemX11.cpp | 251 +++++++++++------------- intern/ghost/intern/GHOST_SystemX11.h | 19 +- intern/ghost/intern/GHOST_WindowX11.cpp | 47 ++--- 3 files changed, 143 insertions(+), 174 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp index 3befb700c55d..1791908f6707 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cpp +++ b/intern/ghost/intern/GHOST_SystemX11.cpp @@ -228,9 +228,6 @@ GHOST_SystemX11( } #endif /* USE_XINPUT_HOTPLUG */ - /* initialize incase X11 fails to load */ - memset(&m_xtablet, 0, sizeof(m_xtablet)); - refreshXInputDevices(); #endif /* WITH_X11_XINPUT */ } @@ -245,12 +242,8 @@ GHOST_SystemX11:: #endif #ifdef WITH_X11_XINPUT - /* close tablet devices */ - if (m_xtablet.StylusDevice) - XCloseDevice(m_display, m_xtablet.StylusDevice); - - if (m_xtablet.EraserDevice) - XCloseDevice(m_display, m_xtablet.EraserDevice); + /* Close tablet devices. */ + clearXInputDevices(); #endif /* WITH_X11_XINPUT */ if (m_xkb_descr) { @@ -670,17 +663,6 @@ processEvents( } -#ifdef WITH_X11_XINPUT -/* set currently using tablet mode (stylus or eraser) depending on device ID */ -static void setTabletMode(GHOST_SystemX11 *system, GHOST_WindowX11 *window, XID deviceid) -{ - if (deviceid == system->GetXTablet().StylusID) - window->GetTabletData()->Active = GHOST_kTabletModeStylus; - else if (deviceid == system->GetXTablet().EraserID) - window->GetTabletData()->Active = GHOST_kTabletModeEraser; -} -#endif /* WITH_X11_XINPUT */ - #ifdef WITH_X11_XINPUT static bool checkTabletProximity(Display *display, XDevice *device) { @@ -778,9 +760,15 @@ GHOST_SystemX11::processEvent(XEvent *xe) * but for now enough parts of the code are checking 'Active' * - campbell */ if (window->GetTabletData()->Active != GHOST_kTabletModeNone) { - if (checkTabletProximity(xe->xany.display, m_xtablet.StylusDevice) == false && - checkTabletProximity(xe->xany.display, m_xtablet.EraserDevice) == false) - { + bool any_proximity = false; + + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (checkTabletProximity(xe->xany.display, xtablet.Device)) { + any_proximity = true; + } + } + + if (!any_proximity) { // printf("proximity disable\n"); window->GetTabletData()->Active = GHOST_kTabletModeNone; } @@ -1374,59 +1362,64 @@ GHOST_SystemX11::processEvent(XEvent *xe) default: { #ifdef WITH_X11_XINPUT - if (xe->type == m_xtablet.MotionEvent || - xe->type == m_xtablet.MotionEventEraser || - xe->type == m_xtablet.PressEvent || - xe->type == m_xtablet.PressEventEraser) - { - XDeviceMotionEvent *data = (XDeviceMotionEvent *)xe; - const unsigned char axis_first = data->first_axis; - const unsigned char axes_end = axis_first + data->axes_count; /* after the last */ - int axis_value; - - /* stroke might begin without leading ProxyIn event, - * this happens when window is opened when stylus is already hovering - * around tablet surface */ - setTabletMode(this, window, data->deviceid); - - /* Note: This event might be generated with incomplete dataset (don't exactly know why, looks like in - * some cases, if the value does not change, it is not included in subsequent XDeviceMotionEvent - * events). So we have to check which values this event actually contains! - */ + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (xe->type == xtablet.MotionEvent || xe->type == xtablet.PressEvent) { + XDeviceMotionEvent *data = (XDeviceMotionEvent *)xe; + if (data->deviceid != xtablet.ID) { + continue; + } + + const unsigned char axis_first = data->first_axis; + const unsigned char axes_end = axis_first + data->axes_count; /* after the last */ + int axis_value; + + /* stroke might begin without leading ProxyIn event, + * this happens when window is opened when stylus is already hovering + * around tablet surface */ + window->GetTabletData()->Active = xtablet.mode; + + /* Note: This event might be generated with incomplete dataset (don't exactly know why, looks like in + * some cases, if the value does not change, it is not included in subsequent XDeviceMotionEvent + * events). So we have to check which values this event actually contains! + */ #define AXIS_VALUE_GET(axis, val) \ ((axis_first <= axis && axes_end > axis) && ((void)(val = data->axis_data[axis - axis_first]), true)) - if (AXIS_VALUE_GET(2, axis_value)) { - window->GetTabletData()->Pressure = axis_value / ((float)m_xtablet.PressureLevels); - } + if (AXIS_VALUE_GET(2, axis_value)) { + window->GetTabletData()->Pressure = axis_value / ((float)xtablet.PressureLevels); + } - /* the (short) cast and the & 0xffff is bizarre and unexplained anywhere, - * but I got garbage data without it. Found it in the xidump.c source --matt - * - * The '& 0xffff' just truncates the value to its two lowest bytes, this probably means - * some drivers do not properly set the whole int value? Since we convert to float afterward, - * I don't think we need to cast to short here, but do not have a device to check this. --mont29 - */ - if (AXIS_VALUE_GET(3, axis_value)) { - window->GetTabletData()->Xtilt = (short)(axis_value & 0xffff) / - ((float)m_xtablet.XtiltLevels); - } - if (AXIS_VALUE_GET(4, axis_value)) { - window->GetTabletData()->Ytilt = (short)(axis_value & 0xffff) / - ((float)m_xtablet.YtiltLevels); - } + /* the (short) cast and the & 0xffff is bizarre and unexplained anywhere, + * but I got garbage data without it. Found it in the xidump.c source --matt + * + * The '& 0xffff' just truncates the value to its two lowest bytes, this probably means + * some drivers do not properly set the whole int value? Since we convert to float afterward, + * I don't think we need to cast to short here, but do not have a device to check this. --mont29 + */ + if (AXIS_VALUE_GET(3, axis_value)) { + window->GetTabletData()->Xtilt = (short)(axis_value & 0xffff) / + ((float)xtablet.XtiltLevels); + } + if (AXIS_VALUE_GET(4, axis_value)) { + window->GetTabletData()->Ytilt = (short)(axis_value & 0xffff) / + ((float)xtablet.YtiltLevels); + } #undef AXIS_VALUE_GET - } - else if (xe->type == m_xtablet.ProxInEvent) { - XProximityNotifyEvent *data = (XProximityNotifyEvent *)xe; + } + else if (xe->type == xtablet.ProxInEvent) { + XProximityNotifyEvent *data = (XProximityNotifyEvent *)xe; + if (data->deviceid != xtablet.ID) { + continue; + } - setTabletMode(this, window, data->deviceid); - } - else if (xe->type == m_xtablet.ProxOutEvent) { - window->GetTabletData()->Active = GHOST_kTabletModeNone; + window->GetTabletData()->Active = xtablet.mode; + } + else if (xe->type == xtablet.ProxOutEvent) { + window->GetTabletData()->Active = GHOST_kTabletModeNone; + } } #endif // WITH_X11_XINPUT break; @@ -2206,6 +2199,20 @@ static GHOST_TTabletMode tablet_mode_from_name(const char *name, const char *typ NULL }; + static const char* type_blacklist[] = { + "pad", + "cursor", + "touch", + NULL + }; + + /* Skip some known unsupported types. */ + for (i=0; type_blacklist[i] != NULL; i++) { + if (type && (strcasecmp(type, type_blacklist[i]) == 0)) { + return GHOST_kTabletModeNone; + } + } + /* First check device type to avoid cases where name is "Pen and Eraser" and type is "ERASER" */ for (i=0; tablet_stylus_whitelist[i] != NULL; i++) { if (type && match_token(type, tablet_stylus_whitelist[i])) { @@ -2232,16 +2239,8 @@ static GHOST_TTabletMode tablet_mode_from_name(const char *name, const char *typ void GHOST_SystemX11::refreshXInputDevices() { if (m_xinput_version.present) { - - if (m_xtablet.StylusDevice) { - XCloseDevice(m_display, m_xtablet.StylusDevice); - m_xtablet.StylusDevice = NULL; - } - - if (m_xtablet.EraserDevice) { - XCloseDevice(m_display, m_xtablet.EraserDevice); - m_xtablet.EraserDevice = NULL; - } + /* Close tablet devices. */ + clearXInputDevices(); /* Install our error handler to override Xlib's termination behavior */ GHOST_X11_ERROR_HANDLERS_OVERRIDE(handler_store); @@ -2253,75 +2252,51 @@ void GHOST_SystemX11::refreshXInputDevices() for (int i = 0; i < device_count; ++i) { char *device_type = device_info[i].type ? XGetAtomName(m_display, device_info[i].type) : NULL; + GHOST_TTabletMode tablet_mode = tablet_mode_from_name(device_info[i].name, device_type); // printf("Tablet type:'%s', name:'%s', index:%d\n", device_type, device_info[i].name, i); - GHOST_TTabletMode tablet_mode = tablet_mode_from_name(device_info[i].name, device_type); + if (device_type) { + XFree((void *)device_type); + } - if ((m_xtablet.StylusDevice == NULL) && - ((tablet_mode == GHOST_kTabletModeStylus) && (device_info[i].type != m_atom.TABLET))) - /* for libinput to work reliable, only lookup ValuatorClass in Tablet type:'STYLUS' */ - { -// printf("\tfound stylus\n"); - m_xtablet.StylusID = device_info[i].id; - m_xtablet.StylusDevice = XOpenDevice(m_display, m_xtablet.StylusID); - - if (m_xtablet.StylusDevice != NULL) { - /* Find how many pressure levels tablet has */ - XAnyClassPtr ici = device_info[i].inputclassinfo; - bool found_valuator_class = false; - - for (int j = 0; j < m_xtablet.StylusDevice->num_classes; ++j) { - if (ici->c_class == ValuatorClass) { -// printf("\t\tfound ValuatorClass\n"); - XValuatorInfo *xvi = (XValuatorInfo *)ici; - m_xtablet.PressureLevels = xvi->axes[2].max_value; - - if (xvi->num_axes > 3) { - /* this is assuming that the tablet has the same tilt resolution in both - * positive and negative directions. It would be rather weird if it didn't.. */ - m_xtablet.XtiltLevels = xvi->axes[3].max_value; - m_xtablet.YtiltLevels = xvi->axes[4].max_value; - } - else { - m_xtablet.XtiltLevels = 0; - m_xtablet.YtiltLevels = 0; - } + if (!(tablet_mode == GHOST_kTabletModeStylus || tablet_mode == GHOST_kTabletModeEraser)) { + continue; + } - found_valuator_class = true; + GHOST_TabletX11 xtablet = {tablet_mode}; + xtablet.ID = device_info[i].id; + xtablet.Device = XOpenDevice(m_display, xtablet.ID); - break; + if (xtablet.Device != NULL) { + /* Find how many pressure levels tablet has */ + XAnyClassPtr ici = device_info[i].inputclassinfo; + + for (int j = 0; j < xtablet.Device->num_classes; ++j) { + if (ici->c_class == ValuatorClass) { + XValuatorInfo *xvi = (XValuatorInfo *)ici; + xtablet.PressureLevels = xvi->axes[2].max_value; + + if (xvi->num_axes > 3) { + /* this is assuming that the tablet has the same tilt resolution in both + * positive and negative directions. It would be rather weird if it didn't.. */ + xtablet.XtiltLevels = xvi->axes[3].max_value; + xtablet.YtiltLevels = xvi->axes[4].max_value; + } + else { + xtablet.XtiltLevels = 0; + xtablet.YtiltLevels = 0; } - ici = (XAnyClassPtr)(((char *)ici) + ici->length); + break; } - if (!found_valuator_class) { - /* In case our name matching detects a device that - * isn't actually a stylus. For example there can - * be "XPPEN Tablet" and "XPPEN Tablet Pen", but - * only the latter is a stylus. */ - XCloseDevice(m_display, m_xtablet.StylusDevice); - m_xtablet.StylusDevice = NULL; - m_xtablet.StylusID = 0; - } + ici = (XAnyClassPtr)(((char *)ici) + ici->length); } - else { - m_xtablet.StylusID = 0; - } - } - else if ((m_xtablet.EraserDevice == NULL) && - (tablet_mode == GHOST_kTabletModeEraser)) - { -// printf("\tfound eraser\n"); - m_xtablet.EraserID = device_info[i].id; - m_xtablet.EraserDevice = XOpenDevice(m_display, m_xtablet.EraserID); - if (m_xtablet.EraserDevice == NULL) m_xtablet.EraserID = 0; - } - if (device_type) { - XFree((void *)device_type); + m_xtablets.push_back(xtablet); } + } XFreeDeviceList(device_info); @@ -2331,4 +2306,14 @@ void GHOST_SystemX11::refreshXInputDevices() } } +void GHOST_SystemX11::clearXInputDevices() +{ + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (xtablet.Device) + XCloseDevice(m_display, xtablet.Device); + } + + m_xtablets.clear(); +} + #endif /* WITH_X11_XINPUT */ diff --git a/intern/ghost/intern/GHOST_SystemX11.h b/intern/ghost/intern/GHOST_SystemX11.h index e9312ceb683f..b5d06eed4121 100644 --- a/intern/ghost/intern/GHOST_SystemX11.h +++ b/intern/ghost/intern/GHOST_SystemX11.h @@ -289,28 +289,22 @@ class GHOST_SystemX11 : public GHOST_System { #ifdef WITH_X11_XINPUT typedef struct GHOST_TabletX11 { - XDevice *StylusDevice; - XDevice *EraserDevice; - - XID StylusID, EraserID; + GHOST_TTabletMode mode; + XDevice *Device; + XID ID; int MotionEvent; int ProxInEvent; int ProxOutEvent; int PressEvent; - int MotionEventEraser; - int ProxInEventEraser; - int ProxOutEventEraser; - int PressEventEraser; - int PressureLevels; int XtiltLevels, YtiltLevels; } GHOST_TabletX11; - GHOST_TabletX11 &GetXTablet() + std::vector &GetXTablets() { - return m_xtablet; + return m_xtablets; } #endif // WITH_X11_XINPUT @@ -364,7 +358,7 @@ class GHOST_SystemX11 : public GHOST_System { #ifdef WITH_X11_XINPUT /* Tablet devices */ - GHOST_TabletX11 m_xtablet; + std::vector m_xtablets; #endif /// The vector of windows that need to be updated. @@ -394,6 +388,7 @@ class GHOST_SystemX11 : public GHOST_System { #endif #ifdef WITH_X11_XINPUT + void clearXInputDevices(); void refreshXInputDevices(); #endif diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp index a4ccdef37881..ee8218b4827f 100644 --- a/intern/ghost/intern/GHOST_WindowX11.cpp +++ b/intern/ghost/intern/GHOST_WindowX11.cpp @@ -648,37 +648,26 @@ bool GHOST_WindowX11::createX11_XIC() void GHOST_WindowX11::refreshXInputDevices() { if (m_system->m_xinput_version.present) { - GHOST_SystemX11::GHOST_TabletX11 &xtablet = m_system->GetXTablet(); - XEventClass xevents[8], ev; - int dcount = 0; - - /* With modern XInput (xlib 1.6.2 at least and/or evdev 2.9.0) and some 'no-name' tablets - * like 'UC-LOGIC Tablet WP5540U', we also need to 'select' ButtonPress for motion event, - * otherwise we do not get any tablet motion event once pen is pressed... See T43367. - */ - - if (xtablet.StylusDevice) { - DeviceMotionNotify(xtablet.StylusDevice, xtablet.MotionEvent, ev); - if (ev) xevents[dcount++] = ev; - DeviceButtonPress(xtablet.StylusDevice, xtablet.PressEvent, ev); - if (ev) xevents[dcount++] = ev; - ProximityIn(xtablet.StylusDevice, xtablet.ProxInEvent, ev); - if (ev) xevents[dcount++] = ev; - ProximityOut(xtablet.StylusDevice, xtablet.ProxOutEvent, ev); - if (ev) xevents[dcount++] = ev; - } - if (xtablet.EraserDevice) { - DeviceMotionNotify(xtablet.EraserDevice, xtablet.MotionEventEraser, ev); - if (ev) xevents[dcount++] = ev; - DeviceButtonPress(xtablet.EraserDevice, xtablet.PressEventEraser, ev); - if (ev) xevents[dcount++] = ev; - ProximityIn(xtablet.EraserDevice, xtablet.ProxInEventEraser, ev); - if (ev) xevents[dcount++] = ev; - ProximityOut(xtablet.EraserDevice, xtablet.ProxOutEventEraser, ev); - if (ev) xevents[dcount++] = ev; + std::vector xevents; + + for (GHOST_SystemX11::GHOST_TabletX11& xtablet: m_system->GetXTablets()) { + /* With modern XInput (xlib 1.6.2 at least and/or evdev 2.9.0) and some 'no-name' tablets + * like 'UC-LOGIC Tablet WP5540U', we also need to 'select' ButtonPress for motion event, + * otherwise we do not get any tablet motion event once pen is pressed... See T43367. + */ + XEventClass ev; + + DeviceMotionNotify(xtablet.Device, xtablet.MotionEvent, ev); + if (ev) xevents.push_back(ev); + DeviceButtonPress(xtablet.Device, xtablet.PressEvent, ev); + if (ev) xevents.push_back(ev); + ProximityIn(xtablet.Device, xtablet.ProxInEvent, ev); + if (ev) xevents.push_back(ev); + ProximityOut(xtablet.Device, xtablet.ProxOutEvent, ev); + if (ev) xevents.push_back(ev); } - XSelectExtensionEvent(m_display, m_window, xevents, dcount); + XSelectExtensionEvent(m_display, m_window, xevents.data(), (int)xevents.size()); } } From 357d421ac2eaf093cb62e0e7db8095388a7e0544 Mon Sep 17 00:00:00 2001 From: Sebastian Parborg Date: Thu, 27 Dec 2018 16:23:12 +0100 Subject: [PATCH 62/94] Fix T59864: UV editor missing options in snapping pie menu. Differential Revision: https://developer.blender.org/D4128 --- release/scripts/startup/bl_ui/space_image.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index 38045a9de5eb..69f319b4e03e 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -498,8 +498,8 @@ def draw(self, context): layout.operator_context = 'EXEC_REGION_WIN' pie.operator("uv.snap_selected", text="Selected to Pixels", icon='RESTRICT_SELECT_OFF').target = 'PIXELS' - pie.operator("uv.snap_cursor", text="Cursor to Pixels", icon='CURSOR').target = 'PIXELS' - pie.operator("uv.snap_cursor", text="Cursor to Selected", icon='CURSOR').target = 'SELECTED' + pie.operator("uv.snap_cursor", text="Cursor to Pixels", icon='PIVOT_CURSOR').target = 'PIXELS' + pie.operator("uv.snap_cursor", text="Cursor to Selected", icon='PIVOT_CURSOR').target = 'SELECTED' pie.operator("uv.snap_selected", text="Selected to Cursor", icon='RESTRICT_SELECT_OFF').target = 'CURSOR' pie.operator("uv.snap_selected", text="Selected to Cursor (Offset)", icon='RESTRICT_SELECT_OFF').target = 'CURSOR_OFFSET' pie.operator("uv.snap_selected", text="Selected to Adjacent Unselected", icon='RESTRICT_SELECT_OFF').target = 'ADJACENT_UNSELECTED' From 7bed048243fef51e92b86e4383fa48d1d18d12ac Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 27 Dec 2018 15:22:20 +0100 Subject: [PATCH 63/94] X11: support multiple tablet devices. Previously we would try to guess what the main tablet device is, but this is error prone. Now we keep a list of X11 devices and try to match events to them. On the Blender side there are still some limitations in regards to using multiple devices at the same time, but this should improve things already. Fixes T59645. --- intern/ghost/intern/GHOST_SystemX11.cpp | 251 +++++++++++------------- intern/ghost/intern/GHOST_SystemX11.h | 19 +- intern/ghost/intern/GHOST_WindowX11.cpp | 47 ++--- 3 files changed, 143 insertions(+), 174 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp index 3befb700c55d..1791908f6707 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cpp +++ b/intern/ghost/intern/GHOST_SystemX11.cpp @@ -228,9 +228,6 @@ GHOST_SystemX11( } #endif /* USE_XINPUT_HOTPLUG */ - /* initialize incase X11 fails to load */ - memset(&m_xtablet, 0, sizeof(m_xtablet)); - refreshXInputDevices(); #endif /* WITH_X11_XINPUT */ } @@ -245,12 +242,8 @@ GHOST_SystemX11:: #endif #ifdef WITH_X11_XINPUT - /* close tablet devices */ - if (m_xtablet.StylusDevice) - XCloseDevice(m_display, m_xtablet.StylusDevice); - - if (m_xtablet.EraserDevice) - XCloseDevice(m_display, m_xtablet.EraserDevice); + /* Close tablet devices. */ + clearXInputDevices(); #endif /* WITH_X11_XINPUT */ if (m_xkb_descr) { @@ -670,17 +663,6 @@ processEvents( } -#ifdef WITH_X11_XINPUT -/* set currently using tablet mode (stylus or eraser) depending on device ID */ -static void setTabletMode(GHOST_SystemX11 *system, GHOST_WindowX11 *window, XID deviceid) -{ - if (deviceid == system->GetXTablet().StylusID) - window->GetTabletData()->Active = GHOST_kTabletModeStylus; - else if (deviceid == system->GetXTablet().EraserID) - window->GetTabletData()->Active = GHOST_kTabletModeEraser; -} -#endif /* WITH_X11_XINPUT */ - #ifdef WITH_X11_XINPUT static bool checkTabletProximity(Display *display, XDevice *device) { @@ -778,9 +760,15 @@ GHOST_SystemX11::processEvent(XEvent *xe) * but for now enough parts of the code are checking 'Active' * - campbell */ if (window->GetTabletData()->Active != GHOST_kTabletModeNone) { - if (checkTabletProximity(xe->xany.display, m_xtablet.StylusDevice) == false && - checkTabletProximity(xe->xany.display, m_xtablet.EraserDevice) == false) - { + bool any_proximity = false; + + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (checkTabletProximity(xe->xany.display, xtablet.Device)) { + any_proximity = true; + } + } + + if (!any_proximity) { // printf("proximity disable\n"); window->GetTabletData()->Active = GHOST_kTabletModeNone; } @@ -1374,59 +1362,64 @@ GHOST_SystemX11::processEvent(XEvent *xe) default: { #ifdef WITH_X11_XINPUT - if (xe->type == m_xtablet.MotionEvent || - xe->type == m_xtablet.MotionEventEraser || - xe->type == m_xtablet.PressEvent || - xe->type == m_xtablet.PressEventEraser) - { - XDeviceMotionEvent *data = (XDeviceMotionEvent *)xe; - const unsigned char axis_first = data->first_axis; - const unsigned char axes_end = axis_first + data->axes_count; /* after the last */ - int axis_value; - - /* stroke might begin without leading ProxyIn event, - * this happens when window is opened when stylus is already hovering - * around tablet surface */ - setTabletMode(this, window, data->deviceid); - - /* Note: This event might be generated with incomplete dataset (don't exactly know why, looks like in - * some cases, if the value does not change, it is not included in subsequent XDeviceMotionEvent - * events). So we have to check which values this event actually contains! - */ + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (xe->type == xtablet.MotionEvent || xe->type == xtablet.PressEvent) { + XDeviceMotionEvent *data = (XDeviceMotionEvent *)xe; + if (data->deviceid != xtablet.ID) { + continue; + } + + const unsigned char axis_first = data->first_axis; + const unsigned char axes_end = axis_first + data->axes_count; /* after the last */ + int axis_value; + + /* stroke might begin without leading ProxyIn event, + * this happens when window is opened when stylus is already hovering + * around tablet surface */ + window->GetTabletData()->Active = xtablet.mode; + + /* Note: This event might be generated with incomplete dataset (don't exactly know why, looks like in + * some cases, if the value does not change, it is not included in subsequent XDeviceMotionEvent + * events). So we have to check which values this event actually contains! + */ #define AXIS_VALUE_GET(axis, val) \ ((axis_first <= axis && axes_end > axis) && ((void)(val = data->axis_data[axis - axis_first]), true)) - if (AXIS_VALUE_GET(2, axis_value)) { - window->GetTabletData()->Pressure = axis_value / ((float)m_xtablet.PressureLevels); - } + if (AXIS_VALUE_GET(2, axis_value)) { + window->GetTabletData()->Pressure = axis_value / ((float)xtablet.PressureLevels); + } - /* the (short) cast and the & 0xffff is bizarre and unexplained anywhere, - * but I got garbage data without it. Found it in the xidump.c source --matt - * - * The '& 0xffff' just truncates the value to its two lowest bytes, this probably means - * some drivers do not properly set the whole int value? Since we convert to float afterward, - * I don't think we need to cast to short here, but do not have a device to check this. --mont29 - */ - if (AXIS_VALUE_GET(3, axis_value)) { - window->GetTabletData()->Xtilt = (short)(axis_value & 0xffff) / - ((float)m_xtablet.XtiltLevels); - } - if (AXIS_VALUE_GET(4, axis_value)) { - window->GetTabletData()->Ytilt = (short)(axis_value & 0xffff) / - ((float)m_xtablet.YtiltLevels); - } + /* the (short) cast and the & 0xffff is bizarre and unexplained anywhere, + * but I got garbage data without it. Found it in the xidump.c source --matt + * + * The '& 0xffff' just truncates the value to its two lowest bytes, this probably means + * some drivers do not properly set the whole int value? Since we convert to float afterward, + * I don't think we need to cast to short here, but do not have a device to check this. --mont29 + */ + if (AXIS_VALUE_GET(3, axis_value)) { + window->GetTabletData()->Xtilt = (short)(axis_value & 0xffff) / + ((float)xtablet.XtiltLevels); + } + if (AXIS_VALUE_GET(4, axis_value)) { + window->GetTabletData()->Ytilt = (short)(axis_value & 0xffff) / + ((float)xtablet.YtiltLevels); + } #undef AXIS_VALUE_GET - } - else if (xe->type == m_xtablet.ProxInEvent) { - XProximityNotifyEvent *data = (XProximityNotifyEvent *)xe; + } + else if (xe->type == xtablet.ProxInEvent) { + XProximityNotifyEvent *data = (XProximityNotifyEvent *)xe; + if (data->deviceid != xtablet.ID) { + continue; + } - setTabletMode(this, window, data->deviceid); - } - else if (xe->type == m_xtablet.ProxOutEvent) { - window->GetTabletData()->Active = GHOST_kTabletModeNone; + window->GetTabletData()->Active = xtablet.mode; + } + else if (xe->type == xtablet.ProxOutEvent) { + window->GetTabletData()->Active = GHOST_kTabletModeNone; + } } #endif // WITH_X11_XINPUT break; @@ -2206,6 +2199,20 @@ static GHOST_TTabletMode tablet_mode_from_name(const char *name, const char *typ NULL }; + static const char* type_blacklist[] = { + "pad", + "cursor", + "touch", + NULL + }; + + /* Skip some known unsupported types. */ + for (i=0; type_blacklist[i] != NULL; i++) { + if (type && (strcasecmp(type, type_blacklist[i]) == 0)) { + return GHOST_kTabletModeNone; + } + } + /* First check device type to avoid cases where name is "Pen and Eraser" and type is "ERASER" */ for (i=0; tablet_stylus_whitelist[i] != NULL; i++) { if (type && match_token(type, tablet_stylus_whitelist[i])) { @@ -2232,16 +2239,8 @@ static GHOST_TTabletMode tablet_mode_from_name(const char *name, const char *typ void GHOST_SystemX11::refreshXInputDevices() { if (m_xinput_version.present) { - - if (m_xtablet.StylusDevice) { - XCloseDevice(m_display, m_xtablet.StylusDevice); - m_xtablet.StylusDevice = NULL; - } - - if (m_xtablet.EraserDevice) { - XCloseDevice(m_display, m_xtablet.EraserDevice); - m_xtablet.EraserDevice = NULL; - } + /* Close tablet devices. */ + clearXInputDevices(); /* Install our error handler to override Xlib's termination behavior */ GHOST_X11_ERROR_HANDLERS_OVERRIDE(handler_store); @@ -2253,75 +2252,51 @@ void GHOST_SystemX11::refreshXInputDevices() for (int i = 0; i < device_count; ++i) { char *device_type = device_info[i].type ? XGetAtomName(m_display, device_info[i].type) : NULL; + GHOST_TTabletMode tablet_mode = tablet_mode_from_name(device_info[i].name, device_type); // printf("Tablet type:'%s', name:'%s', index:%d\n", device_type, device_info[i].name, i); - GHOST_TTabletMode tablet_mode = tablet_mode_from_name(device_info[i].name, device_type); + if (device_type) { + XFree((void *)device_type); + } - if ((m_xtablet.StylusDevice == NULL) && - ((tablet_mode == GHOST_kTabletModeStylus) && (device_info[i].type != m_atom.TABLET))) - /* for libinput to work reliable, only lookup ValuatorClass in Tablet type:'STYLUS' */ - { -// printf("\tfound stylus\n"); - m_xtablet.StylusID = device_info[i].id; - m_xtablet.StylusDevice = XOpenDevice(m_display, m_xtablet.StylusID); - - if (m_xtablet.StylusDevice != NULL) { - /* Find how many pressure levels tablet has */ - XAnyClassPtr ici = device_info[i].inputclassinfo; - bool found_valuator_class = false; - - for (int j = 0; j < m_xtablet.StylusDevice->num_classes; ++j) { - if (ici->c_class == ValuatorClass) { -// printf("\t\tfound ValuatorClass\n"); - XValuatorInfo *xvi = (XValuatorInfo *)ici; - m_xtablet.PressureLevels = xvi->axes[2].max_value; - - if (xvi->num_axes > 3) { - /* this is assuming that the tablet has the same tilt resolution in both - * positive and negative directions. It would be rather weird if it didn't.. */ - m_xtablet.XtiltLevels = xvi->axes[3].max_value; - m_xtablet.YtiltLevels = xvi->axes[4].max_value; - } - else { - m_xtablet.XtiltLevels = 0; - m_xtablet.YtiltLevels = 0; - } + if (!(tablet_mode == GHOST_kTabletModeStylus || tablet_mode == GHOST_kTabletModeEraser)) { + continue; + } - found_valuator_class = true; + GHOST_TabletX11 xtablet = {tablet_mode}; + xtablet.ID = device_info[i].id; + xtablet.Device = XOpenDevice(m_display, xtablet.ID); - break; + if (xtablet.Device != NULL) { + /* Find how many pressure levels tablet has */ + XAnyClassPtr ici = device_info[i].inputclassinfo; + + for (int j = 0; j < xtablet.Device->num_classes; ++j) { + if (ici->c_class == ValuatorClass) { + XValuatorInfo *xvi = (XValuatorInfo *)ici; + xtablet.PressureLevels = xvi->axes[2].max_value; + + if (xvi->num_axes > 3) { + /* this is assuming that the tablet has the same tilt resolution in both + * positive and negative directions. It would be rather weird if it didn't.. */ + xtablet.XtiltLevels = xvi->axes[3].max_value; + xtablet.YtiltLevels = xvi->axes[4].max_value; + } + else { + xtablet.XtiltLevels = 0; + xtablet.YtiltLevels = 0; } - ici = (XAnyClassPtr)(((char *)ici) + ici->length); + break; } - if (!found_valuator_class) { - /* In case our name matching detects a device that - * isn't actually a stylus. For example there can - * be "XPPEN Tablet" and "XPPEN Tablet Pen", but - * only the latter is a stylus. */ - XCloseDevice(m_display, m_xtablet.StylusDevice); - m_xtablet.StylusDevice = NULL; - m_xtablet.StylusID = 0; - } + ici = (XAnyClassPtr)(((char *)ici) + ici->length); } - else { - m_xtablet.StylusID = 0; - } - } - else if ((m_xtablet.EraserDevice == NULL) && - (tablet_mode == GHOST_kTabletModeEraser)) - { -// printf("\tfound eraser\n"); - m_xtablet.EraserID = device_info[i].id; - m_xtablet.EraserDevice = XOpenDevice(m_display, m_xtablet.EraserID); - if (m_xtablet.EraserDevice == NULL) m_xtablet.EraserID = 0; - } - if (device_type) { - XFree((void *)device_type); + m_xtablets.push_back(xtablet); } + } XFreeDeviceList(device_info); @@ -2331,4 +2306,14 @@ void GHOST_SystemX11::refreshXInputDevices() } } +void GHOST_SystemX11::clearXInputDevices() +{ + for (GHOST_TabletX11& xtablet: m_xtablets) { + if (xtablet.Device) + XCloseDevice(m_display, xtablet.Device); + } + + m_xtablets.clear(); +} + #endif /* WITH_X11_XINPUT */ diff --git a/intern/ghost/intern/GHOST_SystemX11.h b/intern/ghost/intern/GHOST_SystemX11.h index e9312ceb683f..b5d06eed4121 100644 --- a/intern/ghost/intern/GHOST_SystemX11.h +++ b/intern/ghost/intern/GHOST_SystemX11.h @@ -289,28 +289,22 @@ class GHOST_SystemX11 : public GHOST_System { #ifdef WITH_X11_XINPUT typedef struct GHOST_TabletX11 { - XDevice *StylusDevice; - XDevice *EraserDevice; - - XID StylusID, EraserID; + GHOST_TTabletMode mode; + XDevice *Device; + XID ID; int MotionEvent; int ProxInEvent; int ProxOutEvent; int PressEvent; - int MotionEventEraser; - int ProxInEventEraser; - int ProxOutEventEraser; - int PressEventEraser; - int PressureLevels; int XtiltLevels, YtiltLevels; } GHOST_TabletX11; - GHOST_TabletX11 &GetXTablet() + std::vector &GetXTablets() { - return m_xtablet; + return m_xtablets; } #endif // WITH_X11_XINPUT @@ -364,7 +358,7 @@ class GHOST_SystemX11 : public GHOST_System { #ifdef WITH_X11_XINPUT /* Tablet devices */ - GHOST_TabletX11 m_xtablet; + std::vector m_xtablets; #endif /// The vector of windows that need to be updated. @@ -394,6 +388,7 @@ class GHOST_SystemX11 : public GHOST_System { #endif #ifdef WITH_X11_XINPUT + void clearXInputDevices(); void refreshXInputDevices(); #endif diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp index a4ccdef37881..ee8218b4827f 100644 --- a/intern/ghost/intern/GHOST_WindowX11.cpp +++ b/intern/ghost/intern/GHOST_WindowX11.cpp @@ -648,37 +648,26 @@ bool GHOST_WindowX11::createX11_XIC() void GHOST_WindowX11::refreshXInputDevices() { if (m_system->m_xinput_version.present) { - GHOST_SystemX11::GHOST_TabletX11 &xtablet = m_system->GetXTablet(); - XEventClass xevents[8], ev; - int dcount = 0; - - /* With modern XInput (xlib 1.6.2 at least and/or evdev 2.9.0) and some 'no-name' tablets - * like 'UC-LOGIC Tablet WP5540U', we also need to 'select' ButtonPress for motion event, - * otherwise we do not get any tablet motion event once pen is pressed... See T43367. - */ - - if (xtablet.StylusDevice) { - DeviceMotionNotify(xtablet.StylusDevice, xtablet.MotionEvent, ev); - if (ev) xevents[dcount++] = ev; - DeviceButtonPress(xtablet.StylusDevice, xtablet.PressEvent, ev); - if (ev) xevents[dcount++] = ev; - ProximityIn(xtablet.StylusDevice, xtablet.ProxInEvent, ev); - if (ev) xevents[dcount++] = ev; - ProximityOut(xtablet.StylusDevice, xtablet.ProxOutEvent, ev); - if (ev) xevents[dcount++] = ev; - } - if (xtablet.EraserDevice) { - DeviceMotionNotify(xtablet.EraserDevice, xtablet.MotionEventEraser, ev); - if (ev) xevents[dcount++] = ev; - DeviceButtonPress(xtablet.EraserDevice, xtablet.PressEventEraser, ev); - if (ev) xevents[dcount++] = ev; - ProximityIn(xtablet.EraserDevice, xtablet.ProxInEventEraser, ev); - if (ev) xevents[dcount++] = ev; - ProximityOut(xtablet.EraserDevice, xtablet.ProxOutEventEraser, ev); - if (ev) xevents[dcount++] = ev; + std::vector xevents; + + for (GHOST_SystemX11::GHOST_TabletX11& xtablet: m_system->GetXTablets()) { + /* With modern XInput (xlib 1.6.2 at least and/or evdev 2.9.0) and some 'no-name' tablets + * like 'UC-LOGIC Tablet WP5540U', we also need to 'select' ButtonPress for motion event, + * otherwise we do not get any tablet motion event once pen is pressed... See T43367. + */ + XEventClass ev; + + DeviceMotionNotify(xtablet.Device, xtablet.MotionEvent, ev); + if (ev) xevents.push_back(ev); + DeviceButtonPress(xtablet.Device, xtablet.PressEvent, ev); + if (ev) xevents.push_back(ev); + ProximityIn(xtablet.Device, xtablet.ProxInEvent, ev); + if (ev) xevents.push_back(ev); + ProximityOut(xtablet.Device, xtablet.ProxOutEvent, ev); + if (ev) xevents.push_back(ev); } - XSelectExtensionEvent(m_display, m_window, xevents, dcount); + XSelectExtensionEvent(m_display, m_window, xevents.data(), (int)xevents.size()); } } From de14ddf3a141cb0e2baff00b06dc7d86d3088916 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 27 Dec 2018 15:22:20 +0100 Subject: [PATCH 64/94] Fix T59900: duplicate font loading error and memory leak. --- source/blender/blenkernel/intern/font.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c index e51b10a97a44..6c716e58e237 100644 --- a/source/blender/blenkernel/intern/font.c +++ b/source/blender/blenkernel/intern/font.c @@ -244,7 +244,6 @@ VFont *BKE_vfont_load(Main *bmain, const char *filepath) char filename[FILE_MAXFILE]; VFont *vfont = NULL; PackedFile *pf; - PackedFile *temp_pf = NULL; bool is_builtin; if (STREQ(filepath, FO_BUILTIN_NAME)) { @@ -256,7 +255,6 @@ VFont *BKE_vfont_load(Main *bmain, const char *filepath) else { BLI_split_file_part(filepath, filename, sizeof(filename)); pf = newPackedFile(NULL, filepath, BKE_main_blendfile_path(bmain)); - temp_pf = newPackedFile(NULL, filepath, BKE_main_blendfile_path(bmain)); is_builtin = false; } @@ -282,7 +280,7 @@ VFont *BKE_vfont_load(Main *bmain, const char *filepath) /* Do not add FO_BUILTIN_NAME to temporary listbase */ if (!STREQ(filename, FO_BUILTIN_NAME)) { - vfont->temp_pf = temp_pf; + vfont->temp_pf = newPackedFile(NULL, filepath, BKE_main_blendfile_path(bmain)); } } From b2a7aab7db81557ef3f2f8bd1df7ce8e37e137a6 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Thu, 27 Dec 2018 17:04:31 +0100 Subject: [PATCH 65/94] GP: Enable Brush cursor by default for new brushes --- source/blender/blenkernel/intern/brush.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c index b000b3709f25..f9ba8765d042 100644 --- a/source/blender/blenkernel/intern/brush.c +++ b/source/blender/blenkernel/intern/brush.c @@ -182,6 +182,7 @@ void BKE_brush_init_gpencil_settings(Brush *brush) brush->gpencil_settings->draw_jitter = 0.0f; brush->gpencil_settings->flag |= GP_BRUSH_USE_JITTER_PRESSURE; brush->gpencil_settings->icon_id = GP_BRUSH_ICON_PEN; + brush->gpencil_settings->flag |= GP_BRUSH_ENABLE_CURSOR; /* curves */ brush->gpencil_settings->curve_sensitivity = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); From b3e68a83f30f7f9948a384d756aaf43eb055ab46 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 27 Dec 2018 17:18:05 +0100 Subject: [PATCH 66/94] Fix T58734: bvhtree.fromObject - error ( returned NULL without setting an error) in blender 2.8. Would free evaluated mesh even when it was the one cached in runtime data by depsgraph evaluation! Also fixes the asserts about using non-eval object in some cases. --- .../python/mathutils/mathutils_bvhtree.c | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/source/blender/python/mathutils/mathutils_bvhtree.c b/source/blender/python/mathutils/mathutils_bvhtree.c index b247123ecff0..fce0dd7d2af9 100644 --- a/source/blender/python/mathutils/mathutils_bvhtree.c +++ b/source/blender/python/mathutils/mathutils_bvhtree.c @@ -1053,11 +1053,13 @@ static PyObject *C_BVHTree_FromBMesh(PyObject *UNUSED(cls), PyObject *args, PyOb /* return various derived meshes based on requested settings */ static Mesh *bvh_get_mesh( const char *funcname, struct Depsgraph *depsgraph, struct Scene *scene, Object *ob, - bool use_deform, bool use_cage) + const bool use_deform, const bool use_cage, bool *r_free_mesh) { + Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob); /* we only need minimum mesh data for topology and vertex locations */ CustomDataMask mask = CD_MASK_BAREMESH; const bool use_render = DEG_get_mode(depsgraph) == DAG_EVAL_RENDER; + *r_free_mesh = false; /* Write the display mesh into the dummy mesh */ if (use_deform) { @@ -1068,17 +1070,23 @@ static Mesh *bvh_get_mesh( return NULL; } else { + *r_free_mesh = true; return mesh_create_eval_final_render(depsgraph, scene, ob, mask); } } - else { + else if (ob_eval != NULL) { if (use_cage) { - return mesh_get_eval_deform(depsgraph, scene, ob, mask); /* ob->derivedDeform */ + return mesh_get_eval_deform(depsgraph, scene, ob_eval, mask); /* ob->derivedDeform */ } else { - return mesh_get_eval_final(depsgraph, scene, ob, mask); /* ob->derivedFinal */ + return mesh_get_eval_final(depsgraph, scene, ob_eval, mask); /* ob->derivedFinal */ } } + else { + PyErr_Format(PyExc_ValueError, + "%s(...): Cannot get evaluated data from given dependency graph / object pair", funcname); + return NULL; + } } else { /* !use_deform */ @@ -1089,6 +1097,7 @@ static Mesh *bvh_get_mesh( return NULL; } else { + *r_free_mesh = true; return mesh_create_eval_no_deform_render(depsgraph, scene, ob, NULL, mask); } } @@ -1099,6 +1108,7 @@ static Mesh *bvh_get_mesh( return NULL; } else { + *r_free_mesh = true; return mesh_create_eval_no_deform(depsgraph, scene, ob, NULL, mask); } } @@ -1132,6 +1142,7 @@ static PyObject *C_BVHTree_FromObject(PyObject *UNUSED(cls), PyObject *args, PyO Mesh *mesh; bool use_deform = true; bool use_cage = false; + bool free_mesh = false; const MLoopTri *lt; const MLoop *mloop; @@ -1154,7 +1165,7 @@ static PyObject *C_BVHTree_FromObject(PyObject *UNUSED(cls), PyObject *args, PyO } scene = DEG_get_evaluated_scene(depsgraph); - mesh = bvh_get_mesh("BVHTree", depsgraph, scene, ob, use_deform, use_cage); + mesh = bvh_get_mesh("BVHTree", depsgraph, scene, ob, use_deform, use_cage, &free_mesh); if (mesh == NULL) { return NULL; @@ -1212,7 +1223,9 @@ static PyObject *C_BVHTree_FromObject(PyObject *UNUSED(cls), PyObject *args, PyO BLI_bvhtree_balance(tree); } - BKE_id_free(NULL, mesh); + if (free_mesh) { + BKE_id_free(NULL, mesh); + } return bvhtree_CreatePyObject( tree, epsilon, From c55c15bb775095a68ee3f2e68b052d2a8166417a Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 27 Dec 2018 17:35:37 +0100 Subject: [PATCH 67/94] Fix T59870: Can't select "Face area" in average normals operator. Not sure why the mode prop was hidden at all, tbh... --- source/blender/editors/mesh/editmesh_tools.c | 1 - 1 file changed, 1 deletion(-) diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index c8b3296d0d7f..27ff93334929 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -7940,7 +7940,6 @@ void MESH_OT_average_normals(struct wmOperatorType *ot) ot->prop = RNA_def_enum(ot->srna, "average_type", average_method_items, EDBM_CLNOR_AVERAGE_LOOP, "Type", "Averaging method"); - RNA_def_property_flag(ot->prop, PROP_HIDDEN); RNA_def_int(ot->srna, "weight", 50, 1, 100, "Weight", "Weight applied per face", 1, 100); From 5b9440278ee9001645e4475436f6899c84d4ba1c Mon Sep 17 00:00:00 2001 From: Sebastian Parborg Date: Thu, 27 Dec 2018 18:39:39 +0100 Subject: [PATCH 68/94] Fix T59865: UV editor vertex snap to active does not make any sense. Differential Revision: https://developer.blender.org/D4129 --- .../editors/transform/transform_generics.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index f1dc5525dbc5..943dedabba2d 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -2003,12 +2003,13 @@ bool calculateCenterActive(TransInfo *t, bool select_only, float r_center[3]) { TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_OK(t); - bool ok = false; - - if (tc->obedit) { + if (t->spacetype != SPACE_VIEW3D) { + return false; + } + else if (tc->obedit) { if (ED_object_calc_active_center_for_editmode(tc->obedit, select_only, r_center)) { mul_m4_v3(tc->obedit->obmat, r_center); - ok = true; + return true; } } else if (t->flag & T_POSE) { @@ -2016,7 +2017,7 @@ bool calculateCenterActive(TransInfo *t, bool select_only, float r_center[3]) Object *ob = OBACT(view_layer) ; if (ED_object_calc_active_center_for_posemode(ob, select_only, r_center)) { mul_m4_v3(ob->obmat, r_center); - ok = true; + return true; } } else if (t->options & CTX_PAINT_CURVE) { @@ -2025,7 +2026,7 @@ bool calculateCenterActive(TransInfo *t, bool select_only, float r_center[3]) PaintCurve *pc = br->paint_curve; copy_v3_v3(r_center, pc->points[pc->add_index - 1].bez.vec[1]); r_center[2] = 0.0f; - ok = true; + return true; } else { /* object mode */ @@ -2034,11 +2035,11 @@ bool calculateCenterActive(TransInfo *t, bool select_only, float r_center[3]) Base *base = BASACT(view_layer); if (ob && ((!select_only) || ((base->flag & BASE_SELECTED) != 0))) { copy_v3_v3(r_center, ob->obmat[3]); - ok = true; + return true; } } - return ok; + return false; } static void calculateCenter_FromAround(TransInfo *t, int around, float r_center[3]) From 826d7adde79216d271b78059c05abd10b7559899 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 27 Dec 2018 19:01:19 +0100 Subject: [PATCH 69/94] Fix T59874: Cycles CPU 25% load only during rendering The issue was introduced by a Threadripper2 commit back in ce927e15e0e3. This boils down to threads inheriting affinity from the parent thread. It is a question how this slipped through the review (we definitely run benchmark round). Quick fix could have been to always set CPU group affinity in Cycles, and it would work for Windows. On other platforms we did not have CPU groups API finished. Ended up making Cycles aware of NUMA topology, so now we bound threads to a specific NUMA node. This required adding an external dependency to Cycles, but made some code there shorter. --- intern/cycles/util/CMakeLists.txt | 14 ++-- intern/cycles/util/util_system.cpp | 89 ++++++++++++---------- intern/cycles/util/util_system.h | 28 ++++--- intern/cycles/util/util_task.cpp | 60 +++++---------- intern/cycles/util/util_thread.cpp | 19 +---- intern/cycles/util/util_thread.h | 4 +- intern/cycles/util/util_windows.cpp | 103 -------------------------- intern/cycles/util/util_windows.h | 25 +------ intern/numaapi/include/numaapi.h | 2 +- intern/numaapi/source/numaapi_linux.c | 18 +++-- 10 files changed, 114 insertions(+), 248 deletions(-) delete mode 100644 intern/cycles/util/util_windows.cpp diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index 92dfc9fa85d8..42626d05cf96 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -25,13 +25,17 @@ set(SRC util_thread.cpp util_time.cpp util_transform.cpp - util_windows.cpp ) -if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI) - list(APPEND SRC - util_view.cpp - ) +if(WITH_CYCLES_STANDALONE) + if (WITH_CYCLES_STANDALONE_GUI) + list(APPEND SRC + util_view.cpp + ) + endif() + list(APPEND INC_SYS ../../third_party/numaapi/include) +else() + list(APPEND INC_SYS ../../numaapi/include) endif() set(SRC_HEADERS diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp index 34f428f111c0..cc2d7017fd85 100644 --- a/intern/cycles/util/util_system.cpp +++ b/intern/cycles/util/util_system.cpp @@ -20,6 +20,8 @@ #include "util/util_types.h" #include "util/util_string.h" +#include + #ifdef _WIN32 # if(!defined(FREE_WINDOWS)) # include @@ -34,74 +36,81 @@ CCL_NAMESPACE_BEGIN -int system_cpu_group_count() +bool system_cpu_ensure_initialized() { -#ifdef _WIN32 - util_windows_init_numa_groups(); - return GetActiveProcessorGroupCount(); -#else - /* TODO(sergey): Need to adopt for other platforms. */ - return 1; -#endif + static bool is_initialized = false; + static bool result = false; + if (is_initialized) { + return result; + } + is_initialized = true; + const NUMAAPI_Result numa_result = numaAPI_Initialize(); + result = (numa_result == NUMAAPI_SUCCESS); + return result; } -int system_cpu_group_thread_count(int group) +/* Fallback solution, which doesn't use NUMA/CPU groups. */ +static int system_cpu_thread_count_fallback() { - /* TODO(sergey): Need make other platforms aware of groups. */ #ifdef _WIN32 - util_windows_init_numa_groups(); - return GetActiveProcessorCount(group); + SYSTEM_INFO info; + GetSystemInfo(&info); + return info.dwNumberOfProcessors; #elif defined(__APPLE__) - (void) group; int count; size_t len = sizeof(count); int mib[2] = { CTL_HW, HW_NCPU }; sysctl(mib, 2, &count, &len, NULL, 0); return count; #else - (void) group; return sysconf(_SC_NPROCESSORS_ONLN); #endif } int system_cpu_thread_count() { - static uint count = 0; - - if(count > 0) { - return count; + const int num_nodes = system_cpu_num_numa_nodes(); + int num_threads = 0; + for (int node = 0; node < num_nodes; ++node) { + if (!system_cpu_is_numa_node_available(node)) { + continue; + } + num_threads += system_cpu_num_numa_node_processors(node); } + return num_threads; +} - int max_group = system_cpu_group_count(); - VLOG(1) << "Detected " << max_group << " CPU groups."; - for(int group = 0; group < max_group; ++group) { - int num_threads = system_cpu_group_thread_count(group); - VLOG(1) << "Group " << group - << " has " << num_threads << " threads."; - count += num_threads; +int system_cpu_num_numa_nodes() +{ + if (!system_cpu_ensure_initialized()) { + /* Fallback to a single node with all the threads. */ + return 1; } + return numaAPI_GetNumNodes(); +} - if(count < 1) { - count = 1; +bool system_cpu_is_numa_node_available(int node) +{ + if (!system_cpu_ensure_initialized()) { + return true; } + return numaAPI_IsNodeAvailable(node); +} - return count; +int system_cpu_num_numa_node_processors(int node) +{ + if (!system_cpu_ensure_initialized()) { + return system_cpu_thread_count_fallback(); + } + return numaAPI_GetNumNodeProcessors(node); } -unsigned short system_cpu_process_groups(unsigned short max_groups, - unsigned short *groups) +bool system_cpu_run_thread_on_node(int node) { -#ifdef _WIN32 - unsigned short group_count = max_groups; - if(!GetProcessGroupAffinity(GetCurrentProcess(), &group_count, groups)) { - return 0; + if (!system_cpu_ensure_initialized()) { + return true; } - return group_count; -#else - (void) max_groups; - (void) groups; - return 0; -#endif + return numaAPI_RunThreadOnNode(node); } #if !defined(_WIN32) || defined(FREE_WINDOWS) diff --git a/intern/cycles/util/util_system.h b/intern/cycles/util/util_system.h index 241ac8971574..15f69bcf1535 100644 --- a/intern/cycles/util/util_system.h +++ b/intern/cycles/util/util_system.h @@ -21,18 +21,28 @@ CCL_NAMESPACE_BEGIN -/* Get number of available CPU groups. */ -int system_cpu_group_count(); +/* Make sure CPU groups / NUMA API is initialized. */ +bool system_cpu_ensure_initialized(); -/* Get number of threads/processors in the specified group. */ -int system_cpu_group_thread_count(int group); - -/* Get total number of threads in all groups. */ +/* Get total number of threads in all NUMA nodes / CPU groups. */ int system_cpu_thread_count(); -/* Get current process groups. */ -unsigned short system_cpu_process_groups(unsigned short max_groups, - unsigned short *grpups); +/* Get number of available nodes. + * + * This is in fact an index of last node plus one and it's not guaranteed + * that all nodes up to this one are available. */ +int system_cpu_num_numa_nodes(); + +/* Returns truth if the given node is available for compute. */ +bool system_cpu_is_numa_node_available(int node); + +/* Get number of available processors on a given node. */ +int system_cpu_num_numa_node_processors(int node); + +/* Runs the current thread and its children on a specific node. + * + * Returns truth if affinity has successfully changed. */ +bool system_cpu_run_thread_on_node(int node); string system_cpu_brand_string(); int system_cpu_bits(); diff --git a/intern/cycles/util/util_task.cpp b/intern/cycles/util/util_task.cpp index 2d21d6b5a18f..50a2bb160ff6 100644 --- a/intern/cycles/util/util_task.cpp +++ b/intern/cycles/util/util_task.cpp @@ -204,50 +204,26 @@ void TaskScheduler::init(int num_threads) /* launch threads that will be waiting for work */ threads.resize(num_threads); - const int num_groups = system_cpu_group_count(); - unsigned short num_process_groups = 0; - vector process_groups; - int current_group_threads = 0; - if(num_groups > 1) { - process_groups.resize(num_groups); - num_process_groups = system_cpu_process_groups(num_groups, - &process_groups[0]); - if(num_process_groups == 1) { - current_group_threads = system_cpu_group_thread_count(process_groups[0]); - } - } + const int num_nodes = system_cpu_num_numa_nodes(); int thread_index = 0; - for(int group = 0; group < num_groups; ++group) { - /* NOTE: That's not really efficient from threading point of view, - * but it is simple to read and it doesn't make sense to use more - * user-specified threads than logical threads anyway. - */ - int num_group_threads = (group == num_groups - 1) - ? (threads.size() - thread_index) - : system_cpu_group_thread_count(group); - for(int group_thread = 0; - group_thread < num_group_threads && thread_index < threads.size(); - ++group_thread, ++thread_index) + for (int node = 0; + node < num_nodes && thread_index < threads.size(); + ++node) + { + if (!system_cpu_is_numa_node_available(node)) { + continue; + } + const int num_node_processors = + system_cpu_num_numa_node_processors(node); + for (int i = 0; + i < num_node_processors && thread_index < threads.size(); + ++i) { - /* NOTE: Thread group of -1 means we would not force thread affinity. */ - int thread_group; - if(num_groups == 1) { - /* Use default affinity if there's only one CPU group in the system. */ - thread_group = -1; - } - else if(use_auto_threads && - num_process_groups == 1 && - num_threads <= current_group_threads) - { - /* If we fit into curent CPU group we also don't force any affinity. */ - thread_group = -1; - } - else { - thread_group = group; - } - threads[thread_index] = new thread(function_bind(&TaskScheduler::thread_run, - thread_index + 1), - thread_group); + threads[thread_index] = new thread( + function_bind(&TaskScheduler::thread_run, + thread_index + 1), + node); + thread_index++; } } } diff --git a/intern/cycles/util/util_thread.cpp b/intern/cycles/util/util_thread.cpp index 37d8bdbd4b09..4d30e3f564fe 100644 --- a/intern/cycles/util/util_thread.cpp +++ b/intern/cycles/util/util_thread.cpp @@ -21,10 +21,10 @@ CCL_NAMESPACE_BEGIN -thread::thread(function run_cb, int group) +thread::thread(function run_cb, int node) : run_cb_(run_cb), joined_(false), - group_(group) + node_(node) { thread_ = std::thread(&thread::run, this); } @@ -39,19 +39,8 @@ thread::~thread() void *thread::run(void *arg) { thread *self = (thread*)(arg); - if(self->group_ != -1) { -#ifdef _WIN32 - HANDLE thread_handle = GetCurrentThread(); - GROUP_AFFINITY group_affinity = { 0 }; - int num_threads = system_cpu_group_thread_count(self->group_); - group_affinity.Group = self->group_; - group_affinity.Mask = (num_threads == 64) - ? -1 - : (1ull << num_threads) - 1; - if(SetThreadGroupAffinity(thread_handle, &group_affinity, NULL) == 0) { - fprintf(stderr, "Error setting thread affinity.\n"); - } -#endif + if (self->node_ != -1) { + system_cpu_run_thread_on_node(self->node_); } self->run_cb_(); return NULL; diff --git a/intern/cycles/util/util_thread.h b/intern/cycles/util/util_thread.h index 6250bb95dcfd..d54199a37fc3 100644 --- a/intern/cycles/util/util_thread.h +++ b/intern/cycles/util/util_thread.h @@ -46,7 +46,7 @@ typedef std::condition_variable thread_condition_variable; class thread { public: - thread(function run_cb, int group = -1); + thread(function run_cb, int node = -1); ~thread(); static void *run(void *arg); @@ -56,7 +56,7 @@ class thread { function run_cb_; std::thread thread_; bool joined_; - int group_; + int node_; }; /* Own wrapper around pthread's spin lock to make it's use easier. */ diff --git a/intern/cycles/util/util_windows.cpp b/intern/cycles/util/util_windows.cpp deleted file mode 100644 index 073db2a27dbe..000000000000 --- a/intern/cycles/util/util_windows.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2011-2016 Blender Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "util/util_windows.h" - -#ifdef _WIN32 - -CCL_NAMESPACE_BEGIN - -#ifdef _M_X64 -# include -#endif - -#if _WIN32_WINNT < 0x0601 -tGetActiveProcessorGroupCount *GetActiveProcessorGroupCount; -tGetActiveProcessorCount *GetActiveProcessorCount; -tSetThreadGroupAffinity *SetThreadGroupAffinity; -tGetProcessGroupAffinity *GetProcessGroupAffinity; -#endif - -static WORD GetActiveProcessorGroupCount_stub() -{ - return 1; -} - -static DWORD GetActiveProcessorCount_stub(WORD /*GroupNumber*/) -{ - SYSTEM_INFO info; - GetSystemInfo(&info); - return info.dwNumberOfProcessors; -} - -static BOOL SetThreadGroupAffinity_stub( - HANDLE /*hThread*/, - const GROUP_AFFINITY * /*GroupAffinity*/, - PGROUP_AFFINITY /*PreviousGroupAffinity*/) -{ - return TRUE; -} - -static BOOL GetProcessGroupAffinity_stub(HANDLE hProcess, - PUSHORT GroupCount, - PUSHORT GroupArray) -{ - if(*GroupCount < 1) { - return FALSE; - } - *GroupCount = 1; - GroupArray[0] = 0; - return TRUE; -} - -static bool supports_numa() -{ -#ifndef _M_X64 - return false; -#else - return IsWindows7OrGreater(); -#endif -} - -void util_windows_init_numa_groups() -{ - static bool initialized = false; - if(initialized) { - return; - } - initialized = true; -#if _WIN32_WINNT < 0x0601 - if(!supports_numa()) { - /* Use stubs on platforms which doesn't have rean NUMA/Groups. */ - GetActiveProcessorGroupCount = GetActiveProcessorGroupCount_stub; - GetActiveProcessorCount = GetActiveProcessorCount_stub; - SetThreadGroupAffinity = SetThreadGroupAffinity_stub; - GetProcessGroupAffinity = GetProcessGroupAffinity_stub; - return; - } - HMODULE kernel = GetModuleHandleA("kernel32.dll"); -# define READ_SYMBOL(sym) sym = (t##sym*)GetProcAddress(kernel, #sym) - READ_SYMBOL(GetActiveProcessorGroupCount); - READ_SYMBOL(GetActiveProcessorCount); - READ_SYMBOL(SetThreadGroupAffinity); - READ_SYMBOL(GetProcessGroupAffinity); -# undef READ_SUMBOL -#endif -} - -CCL_NAMESPACE_END - -#endif /* _WIN32 */ diff --git a/intern/cycles/util/util_windows.h b/intern/cycles/util/util_windows.h index 9b9268fed7a9..bd1bc85adff1 100644 --- a/intern/cycles/util/util_windows.h +++ b/intern/cycles/util/util_windows.h @@ -31,29 +31,6 @@ #include -CCL_NAMESPACE_BEGIN - -#if _WIN32_WINNT < 0x0601 -typedef WORD tGetActiveProcessorGroupCount(); -typedef DWORD tGetActiveProcessorCount(WORD GroupNumber); -typedef BOOL tSetThreadGroupAffinity(HANDLE hThread, - const GROUP_AFFINITY *GroupAffinity, - PGROUP_AFFINITY PreviousGroupAffinity); -typedef BOOL tGetProcessGroupAffinity(HANDLE hProcess, - PUSHORT GroupCount, - PUSHORT GroupArray); - -extern tGetActiveProcessorGroupCount *GetActiveProcessorGroupCount; -extern tGetActiveProcessorCount *GetActiveProcessorCount; -extern tSetThreadGroupAffinity *SetThreadGroupAffinity; -extern tGetProcessGroupAffinity *GetProcessGroupAffinity; -#endif - -/* Make sure NUMA and processor groups API is initialized. */ -void util_windows_init_numa_groups(); - -CCL_NAMESPACE_END - -#endif /* WIN32 */ +#endif /* _WIN32 */ #endif /* __UTIL_WINDOWS_H__ */ diff --git a/intern/numaapi/include/numaapi.h b/intern/numaapi/include/numaapi.h index a4f32d884589..7b5b50fdf39b 100644 --- a/intern/numaapi/include/numaapi.h +++ b/intern/numaapi/include/numaapi.h @@ -67,7 +67,7 @@ int numaAPI_GetNumNodes(void); // Returns truth if the given node is available for compute. bool numaAPI_IsNodeAvailable(int node); -// Getnumber of available processors on a given node. +// Get number of available processors on a given node. int numaAPI_GetNumNodeProcessors(int node); //////////////////////////////////////////////////////////////////////////////// diff --git a/intern/numaapi/source/numaapi_linux.c b/intern/numaapi/source/numaapi_linux.c index 559e97b67d34..62e9dcdfadfe 100644 --- a/intern/numaapi/source/numaapi_linux.c +++ b/intern/numaapi/source/numaapi_linux.c @@ -34,6 +34,8 @@ # include #endif +#include + #ifdef WITH_DYNLOAD // Descriptor numa library. @@ -61,6 +63,7 @@ typedef struct bitmask* tnuma_allocate_nodemask(void); typedef void tnuma_free_cpumask(struct bitmask* bitmask); typedef void tnuma_free_nodemask(struct bitmask* bitmask); typedef int tnuma_run_on_node_mask(struct bitmask *nodemask); +typedef int tnuma_run_on_node_mask_all(struct bitmask *nodemask); typedef void tnuma_set_interleave_mask(struct bitmask *nodemask); typedef void tnuma_set_localalloc(void); @@ -83,6 +86,7 @@ static tnuma_allocate_nodemask* numa_allocate_nodemask; static tnuma_free_nodemask* numa_free_nodemask; static tnuma_free_cpumask* numa_free_cpumask; static tnuma_run_on_node_mask* numa_run_on_node_mask; +static tnuma_run_on_node_mask_all* numa_run_on_node_mask_all; static tnuma_set_interleave_mask* numa_set_interleave_mask; static tnuma_set_localalloc* numa_set_localalloc; @@ -157,6 +161,7 @@ static NUMAAPI_Result loadNumaSymbols(void) { NUMA_LIBRARY_FIND(numa_free_cpumask); NUMA_LIBRARY_FIND(numa_free_nodemask); NUMA_LIBRARY_FIND(numa_run_on_node_mask); + NUMA_LIBRARY_FIND(numa_run_on_node_mask_all); NUMA_LIBRARY_FIND(numa_set_interleave_mask); NUMA_LIBRARY_FIND(numa_set_localalloc); @@ -192,10 +197,7 @@ int numaAPI_GetNumNodes(void) { } bool numaAPI_IsNodeAvailable(int node) { - if (numa_node_size(node, NULL) > 0) { - return true; - } - return false; + return numaAPI_GetNumNodeProcessors(node) > 0; } int numaAPI_GetNumNodeProcessors(int node) { @@ -235,13 +237,15 @@ bool numaAPI_RunThreadOnNode(int node) { struct bitmask* node_mask = numa_allocate_nodemask(); numa_bitmask_clearall(node_mask); numa_bitmask_setbit(node_mask, node); - numa_run_on_node_mask(node_mask); + numa_run_on_node_mask_all(node_mask); // TODO(sergey): The following commands are based on x265 code, we might want // to make those optional, or require to call those explicitly. // // Current assumption is that this is similar to SetThreadGroupAffinity(). - numa_set_interleave_mask(node_mask); - numa_set_localalloc(); + if (numa_node_size(node, NULL) > 0) { + numa_set_interleave_mask(node_mask); + numa_set_localalloc(); + } #ifdef WITH_DYNLOAD if (numa_free_nodemask != NULL) { numa_free_nodemask(node_mask); From 4a0063664ec7217548182b7527839c1ac2e8fc23 Mon Sep 17 00:00:00 2001 From: Antonioya Date: Thu, 27 Dec 2018 22:01:46 +0100 Subject: [PATCH 70/94] GP: Avoid Onion calculation when play animation --- source/blender/draw/engines/gpencil/gpencil_draw_utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c index 6c3577c2794d..0dc3870b11a3 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c @@ -74,8 +74,9 @@ static void gpencil_calc_vertex( Object *ob = cache_ob->ob; const DRWContextState *draw_ctx = DRW_context_state_get(); const bool main_onion = draw_ctx->v3d != NULL ? (draw_ctx->v3d->gp_flag & V3D_GP_SHOW_ONION_SKIN) : true; + const bool playing = stl->storage->is_playing; const bool do_onion = (bool)((gpd->flag & GP_DATA_STROKE_WEIGHTMODE) == 0) && - main_onion && DRW_gpencil_onion_active(gpd); + main_onion && DRW_gpencil_onion_active(gpd) && !playing; const bool time_remap = BKE_gpencil_has_time_modifiers(ob); From cd36f546114fb3c2608f902487eab4a393245b9a Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 27 Dec 2018 22:38:22 +0100 Subject: [PATCH 71/94] Fix (unreported) broken Cycles tests after numaapi changes today. Please always build tests when messing with build system/libs, am tired of fixing that kind of issues... Also, that fix is probably not working for standalone, no idea where's the numaapi lib then, but committing since I need a building blender here (with the tests, yes). --- intern/cycles/test/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/test/CMakeLists.txt b/intern/cycles/test/CMakeLists.txt index 61605535e622..f22992ad79fd 100644 --- a/intern/cycles/test/CMakeLists.txt +++ b/intern/cycles/test/CMakeLists.txt @@ -98,8 +98,8 @@ link_directories(${OPENIMAGEIO_LIBPATH} set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}") set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}") -CYCLES_TEST(render_graph_finalize "${ALL_CYCLES_LIBRARIES}") +CYCLES_TEST(render_graph_finalize "${ALL_CYCLES_LIBRARIES};bf_intern_numaapi") CYCLES_TEST(util_aligned_malloc "cycles_util") CYCLES_TEST(util_path "cycles_util;${BOOST_LIBRARIES};${OPENIMAGEIO_LIBRARIES}") CYCLES_TEST(util_string "cycles_util;${BOOST_LIBRARIES}") -CYCLES_TEST(util_task "cycles_util;${BOOST_LIBRARIES}") +CYCLES_TEST(util_task "cycles_util;${BOOST_LIBRARIES};bf_intern_numaapi") From df3e7d0361c6e151bc306e1ef71e006e955d1d39 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 27 Dec 2018 22:57:55 +0100 Subject: [PATCH 72/94] Point API doc back to master one. Now that 2.8 is master again... Still have to update 2.7 thingy there, now (and update API doc site accordingly, too). --- release/scripts/startup/bl_operators/wm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 81814f4ffcf5..193d9e328703 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -1026,7 +1026,7 @@ class WM_OT_doc_view(Operator): if bpy.app.version_cycle == "release": _prefix = ("https://docs.blender.org/api/current") else: - _prefix = ("https://docs.blender.org/api/blender2.8") + _prefix = ("https://docs.blender.org/api/master") def execute(self, context): url = _wm_doc_get_id(self.doc_id, do_url=True, url_prefix=self._prefix) From 83dcdfd356fdb47a700f2763a9d0191d998f3586 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 27 Dec 2018 23:02:20 +0100 Subject: [PATCH 73/94] API Doc: point to blender2.7 new folder. master is now for 2.8. ;) --- release/scripts/startup/bl_operators/wm.py | 2 +- source/blender/windowmanager/intern/wm_operators.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index cc40ca2cb669..3fd4e45653f8 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -1041,7 +1041,7 @@ class WM_OT_doc_view(Operator): if bpy.app.version_cycle == "release": _prefix = ("https://docs.blender.org/api/current") else: - _prefix = ("https://docs.blender.org/api/master") + _prefix = ("https://docs.blender.org/api/blender2.7") def execute(self, context): url = _wm_doc_get_id(self.doc_id, do_url=True, url_prefix=self._prefix) diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index ddb9db370542..bc34f40aaa32 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -1519,7 +1519,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar BLENDER_VERSION / 100, BLENDER_VERSION % 100); } else { - BLI_snprintf(url, sizeof(url), "https://docs.blender.org/api/master"); + BLI_snprintf(url, sizeof(url), "https://docs.blender.org/api/blender2.7"); } uiItemStringO(col, IFACE_("Python API Reference"), ICON_URL, "WM_OT_url_open", "url", url); uiItemL(col, "", ICON_NONE); From 111179beb0b12cfcc7075935262241c65f04fb84 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 27 Dec 2018 22:38:22 +0100 Subject: [PATCH 74/94] Fix (unreported) broken Cycles tests after numaapi changes today. Please always build tests when messing with build system/libs, am tired of fixing that kind of issues... Also, that fix is probably not working for standalone, no idea where's the numaapi lib then, but committing since I need a building blender here (with the tests, yes). --- intern/cycles/test/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/test/CMakeLists.txt b/intern/cycles/test/CMakeLists.txt index 61605535e622..f22992ad79fd 100644 --- a/intern/cycles/test/CMakeLists.txt +++ b/intern/cycles/test/CMakeLists.txt @@ -98,8 +98,8 @@ link_directories(${OPENIMAGEIO_LIBPATH} set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}") set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}") -CYCLES_TEST(render_graph_finalize "${ALL_CYCLES_LIBRARIES}") +CYCLES_TEST(render_graph_finalize "${ALL_CYCLES_LIBRARIES};bf_intern_numaapi") CYCLES_TEST(util_aligned_malloc "cycles_util") CYCLES_TEST(util_path "cycles_util;${BOOST_LIBRARIES};${OPENIMAGEIO_LIBRARIES}") CYCLES_TEST(util_string "cycles_util;${BOOST_LIBRARIES}") -CYCLES_TEST(util_task "cycles_util;${BOOST_LIBRARIES}") +CYCLES_TEST(util_task "cycles_util;${BOOST_LIBRARIES};bf_intern_numaapi") From fdc726eb61d15a51d8deddcb6b7b79859ea9950e Mon Sep 17 00:00:00 2001 From: Antonioya Date: Fri, 28 Dec 2018 08:48:37 +0100 Subject: [PATCH 75/94] GP: Rename GP_STROKE_RECALC_CACHE to GP_STROKE_RECALC_GEOMETRY The GP_STROKE_RECALC_CACHE identifier was changed to GP_STROKE_RECALC_GEOMETRY because the previous name was confusing and could be confused with the recalculation of the Draw Manager cache. --- source/blender/blenkernel/intern/gpencil.c | 8 ++++---- .../blenkernel/intern/gpencil_modifier.c | 8 ++++---- source/blender/blenloader/intern/readfile.c | 2 +- .../engines/gpencil/gpencil_draw_cache_impl.c | 2 +- .../draw/engines/gpencil/gpencil_draw_utils.c | 8 ++++---- .../blender/editors/gpencil/annotate_paint.c | 4 ++-- source/blender/editors/gpencil/drawgpencil.c | 6 +++--- source/blender/editors/gpencil/gpencil_brush.c | 14 +++++++------- source/blender/editors/gpencil/gpencil_edit.c | 18 +++++++++--------- source/blender/editors/gpencil/gpencil_fill.c | 2 +- .../editors/gpencil/gpencil_interpolate.c | 8 ++++---- source/blender/editors/gpencil/gpencil_paint.c | 6 +++--- .../editors/gpencil/gpencil_primitive.c | 8 ++++---- source/blender/editors/gpencil/gpencil_utils.c | 2 +- .../editors/transform/transform_generics.c | 2 +- .../intern/MOD_gpencilbuild.c | 2 +- source/blender/makesdna/DNA_gpencil_types.h | 4 ++-- source/blender/makesrna/intern/rna_gpencil.c | 4 ++-- 18 files changed, 54 insertions(+), 54 deletions(-) diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c index f8dfa82e2a25..d347e10921c7 100644 --- a/source/blender/blenkernel/intern/gpencil.c +++ b/source/blender/blenkernel/intern/gpencil.c @@ -476,14 +476,14 @@ bGPDstroke *BKE_gpencil_add_stroke(bGPDframe *gpf, int mat_idx, int totpoints, s gps->inittime = 0; /* enable recalculation flag by default */ - gps->flag = GP_STROKE_RECALC_CACHES | GP_STROKE_3DSPACE; + gps->flag = GP_STROKE_RECALC_GEOMETRY | GP_STROKE_3DSPACE; gps->totpoints = totpoints; gps->points = MEM_callocN(sizeof(bGPDspoint) * gps->totpoints, "gp_stroke_points"); /* initialize triangle memory to dummy data */ gps->triangles = MEM_callocN(sizeof(bGPDtriangle), "GP Stroke triangulation"); - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; gps->mat_nr = mat_idx; @@ -532,7 +532,7 @@ bGPDstroke *BKE_gpencil_stroke_duplicate(bGPDstroke *gps_src) * this data to get recalculated will destroy the data anyway though. */ gps_dst->triangles = MEM_dupallocN(gps_dst->triangles); - /* gps_dst->flag |= GP_STROKE_RECALC_CACHES; */ + /* gps_dst->flag |= GP_STROKE_RECALC_GEOMETRY; */ /* return new stroke */ return gps_dst; @@ -1179,7 +1179,7 @@ void BKE_gpencil_transform(bGPdata *gpd, float mat[4][4]) } /* TODO: Do we need to do this? distortion may mean we need to re-triangulate */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; } } diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c index 534166bf629c..6bb47b4685e1 100644 --- a/source/blender/blenkernel/intern/gpencil_modifier.c +++ b/source/blender/blenkernel/intern/gpencil_modifier.c @@ -227,7 +227,7 @@ static void gpencil_rdp_stroke(bGPDstroke *gps, vec2f *points2d, float epsilon) old_dvert = MEM_dupallocN(gps->dvert); } /* resize gps */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; int j = 0; @@ -302,7 +302,7 @@ void BKE_gpencil_simplify_fixed(bGPDstroke *gps) if (gps->dvert != NULL) { gps->dvert = MEM_recallocN(gps->dvert, sizeof(*gps->dvert) * newtot); } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; int j = 0; @@ -443,7 +443,7 @@ void BKE_gpencil_stroke_modifiers(Depsgraph *depsgraph, Object *ob, bGPDlayer *g eGpencilModifierType_Offset)) { - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; } } } @@ -743,7 +743,7 @@ void BKE_gpencil_subdivide(bGPDstroke *gps, int level, int flag) temp_dverts = MEM_dupallocN(gps->dvert); gps->dvert = MEM_recallocN(gps->dvert, sizeof(*gps->dvert) * gps->totpoints); } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* move points from last to first to new place */ i2 = gps->totpoints - 1; diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index d3721273ce92..98d041a46739 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -6597,7 +6597,7 @@ static void direct_link_gpencil(FileData *fd, bGPdata *gpd) /* the triangulation is not saved, so need to be recalculated */ gps->triangles = NULL; gps->tot_triangles = 0; - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; } } } diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c index 0f37e8824ee5..d5927ebca9ac 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c @@ -209,7 +209,7 @@ void DRW_gpencil_get_fill_geom(struct GpencilBatchCacheElem *be, Object *ob, bGP BLI_assert(gps->totpoints >= 3); /* Calculate triangles cache for filling area (must be done only after changes) */ - if ((gps->flag & GP_STROKE_RECALC_CACHES) || (gps->tot_triangles == 0) || (gps->triangles == NULL)) { + if ((gps->flag & GP_STROKE_RECALC_GEOMETRY) || (gps->tot_triangles == 0) || (gps->triangles == NULL)) { DRW_gpencil_triangulate_stroke_fill(ob, gps); ED_gpencil_calc_stroke_uv(ob, gps); } diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c index 0dc3870b11a3..1275e93744eb 100644 --- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c +++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c @@ -219,7 +219,7 @@ static void gpencil_calc_stroke_fill_uv( static void DRW_gpencil_recalc_geometry_caches( Object *ob, bGPDlayer *gpl, MaterialGPencilStyle *gp_style, bGPDstroke *gps) { - if (gps->flag & GP_STROKE_RECALC_CACHES) { + if (gps->flag & GP_STROKE_RECALC_GEOMETRY) { /* Calculate triangles cache for filling area (must be done only after changes) */ if ((gps->tot_triangles == 0) || (gps->triangles == NULL)) { if ((gps->totpoints > 2) && @@ -234,7 +234,7 @@ static void DRW_gpencil_recalc_geometry_caches( ED_gpencil_calc_stroke_uv(ob, gps); /* clear flag */ - gps->flag &= ~GP_STROKE_RECALC_CACHES; + gps->flag &= ~GP_STROKE_RECALC_GEOMETRY; } } @@ -1118,8 +1118,8 @@ void DRW_gpencil_triangulate_stroke_fill(Object *ob, bGPDstroke *gps) } /* disable recalculation flag */ - if (gps->flag & GP_STROKE_RECALC_CACHES) { - gps->flag &= ~GP_STROKE_RECALC_CACHES; + if (gps->flag & GP_STROKE_RECALC_GEOMETRY) { + gps->flag &= ~GP_STROKE_RECALC_GEOMETRY; } /* clear memory */ diff --git a/source/blender/editors/gpencil/annotate_paint.c b/source/blender/editors/gpencil/annotate_paint.c index f03141c35131..a868e98e3dda 100644 --- a/source/blender/editors/gpencil/annotate_paint.c +++ b/source/blender/editors/gpencil/annotate_paint.c @@ -447,7 +447,7 @@ static short gp_stroke_addpoint( pts->time = pt->time; /* force fill recalc */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; } /* increment counters */ @@ -586,7 +586,7 @@ static void gp_stroke_newfrombuffer(tGPsdata *p) gps->inittime = p->inittime; /* enable recalculation flag by default (only used if hq fill) */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* allocate enough memory for a continuous array for storage points */ gps->points = MEM_callocN(sizeof(bGPDspoint) * gps->totpoints, "gp_stroke_points"); diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c index 1ad71f55ba4e..5bb2d374c804 100644 --- a/source/blender/editors/gpencil/drawgpencil.c +++ b/source/blender/editors/gpencil/drawgpencil.c @@ -513,8 +513,8 @@ static void gp_triangulate_stroke_fill(bGPDstroke *gps) } /* disable recalculation flag */ - if (gps->flag & GP_STROKE_RECALC_CACHES) { - gps->flag &= ~GP_STROKE_RECALC_CACHES; + if (gps->flag & GP_STROKE_RECALC_GEOMETRY) { + gps->flag &= ~GP_STROKE_RECALC_GEOMETRY; } /* clear memory */ @@ -591,7 +591,7 @@ static void gp_draw_stroke_fill( MaterialGPencilStyle *gp_style = ma->gp_style; /* Calculate triangles cache for filling area (must be done only after changes) */ - if ((gps->flag & GP_STROKE_RECALC_CACHES) || (gps->tot_triangles == 0) || (gps->triangles == NULL)) { + if ((gps->flag & GP_STROKE_RECALC_GEOMETRY) || (gps->tot_triangles == 0) || (gps->triangles == NULL)) { gp_triangulate_stroke_fill(gps); } BLI_assert(gps->tot_triangles >= 1); diff --git a/source/blender/editors/gpencil/gpencil_brush.c b/source/blender/editors/gpencil/gpencil_brush.c index 2c2a45102951..95644bd690ce 100644 --- a/source/blender/editors/gpencil/gpencil_brush.c +++ b/source/blender/editors/gpencil/gpencil_brush.c @@ -319,7 +319,7 @@ static bool gp_brush_smooth_apply( BKE_gpencil_smooth_stroke_uv(gps, pt_index, inf); } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; return true; } @@ -535,7 +535,7 @@ static void gp_brush_grab_apply_cached( /* compute lock axis */ gpsculpt_compute_lock_axis(gso, pt, save_pt); } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; } /* free customdata used for handling this stroke */ @@ -575,7 +575,7 @@ static bool gp_brush_push_apply( /* compute lock axis */ gpsculpt_compute_lock_axis(gso, pt, save_pt); - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* done */ return true; @@ -661,7 +661,7 @@ static bool gp_brush_pinch_apply( /* compute lock axis */ gpsculpt_compute_lock_axis(gso, pt, save_pt); - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* done */ return true; @@ -743,7 +743,7 @@ static bool gp_brush_twist_apply( } } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* done */ return true; @@ -867,7 +867,7 @@ static bool gp_brush_randomize_apply( CLAMP(pt->uv_rot, -M_PI_2, M_PI_2); } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* done */ return true; @@ -1609,7 +1609,7 @@ static bool gpsculpt_brush_do_frame( } /* Triangulation must be calculated if changed */ if (changed) { - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; } } diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c index b61ea617b15d..7df626ad8018 100644 --- a/source/blender/editors/gpencil/gpencil_edit.c +++ b/source/blender/editors/gpencil/gpencil_edit.c @@ -631,7 +631,7 @@ static void gp_duplicate_points(const bGPDstroke *gps, ListBase *new_strokes, co /* initialize triangle memory - will be calculated on next redraw */ gpsd->triangles = NULL; - gpsd->flag |= GP_STROKE_RECALC_CACHES; + gpsd->flag |= GP_STROKE_RECALC_GEOMETRY; gpsd->tot_triangles = 0; /* now, make a new points array, and copy of the relevant parts */ @@ -713,7 +713,7 @@ static int gp_duplicate_exec(bContext *C, wmOperator *op) } /* triangle information - will be calculated on next redraw */ - gpsd->flag |= GP_STROKE_RECALC_CACHES; + gpsd->flag |= GP_STROKE_RECALC_GEOMETRY; gpsd->triangles = NULL; /* add to temp buffer */ @@ -936,7 +936,7 @@ static int gp_strokes_copy_exec(bContext *C, wmOperator *op) } /* triangles cache - will be recalculated on next redraw */ - gpsd->flag |= GP_STROKE_RECALC_CACHES; + gpsd->flag |= GP_STROKE_RECALC_GEOMETRY; gpsd->tot_triangles = 0; gpsd->triangles = NULL; @@ -1113,7 +1113,7 @@ static int gp_strokes_paste_exec(bContext *C, wmOperator *op) new_stroke->dvert = MEM_dupallocN(gps->dvert); BKE_gpencil_stroke_weights_duplicate(gps, new_stroke); } - new_stroke->flag |= GP_STROKE_RECALC_CACHES; + new_stroke->flag |= GP_STROKE_RECALC_GEOMETRY; new_stroke->triangles = NULL; new_stroke->next = new_stroke->prev = NULL; @@ -1777,7 +1777,7 @@ static int gp_dissolve_selected_points(bContext *C, eGP_DissolveMode mode) gps->totpoints = tot; /* triangles cache needs to be recalculated */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; /* deselect the stroke, since none of its selected points will still be selected */ @@ -1877,7 +1877,7 @@ void gp_stroke_delete_tagged_points(bGPDframe *gpf, bGPDstroke *gps, bGPDstroke /* initialize triangle memory - to be calculated on next redraw */ new_stroke->triangles = NULL; - new_stroke->flag |= GP_STROKE_RECALC_CACHES; + new_stroke->flag |= GP_STROKE_RECALC_GEOMETRY; new_stroke->tot_triangles = 0; /* Compute new buffer size (+ 1 needed as the endpoint index is "inclusive") */ @@ -2707,7 +2707,7 @@ static int gp_stroke_join_exec(bContext *C, wmOperator *op) } new_stroke->triangles = NULL; new_stroke->tot_triangles = 0; - new_stroke->flag |= GP_STROKE_RECALC_CACHES; + new_stroke->flag |= GP_STROKE_RECALC_GEOMETRY; /* if new, set current color */ if (type == GP_STROKE_JOINCOPY) { @@ -3124,7 +3124,7 @@ static int gp_stroke_subdivide_exec(bContext *C, wmOperator *op) if (gps->dvert != NULL) { gps->dvert = MEM_recallocN(gps->dvert, sizeof(*gps->dvert) * gps->totpoints); } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* loop and interpolate */ i2 = 0; @@ -3195,7 +3195,7 @@ static int gp_stroke_subdivide_exec(bContext *C, wmOperator *op) } /* triangles cache needs to be recalculated */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; } } diff --git a/source/blender/editors/gpencil/gpencil_fill.c b/source/blender/editors/gpencil/gpencil_fill.c index e4e71339560d..95e52290b69f 100644 --- a/source/blender/editors/gpencil/gpencil_fill.c +++ b/source/blender/editors/gpencil/gpencil_fill.c @@ -863,7 +863,7 @@ static void gpencil_stroke_from_buffer(tGPDfill *tgpf) /* initialize triangle memory to dummy data */ gps->tot_triangles = 0; gps->triangles = NULL; - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* add stroke to frame */ if ((ts->gpencil_flags & GP_TOOL_FLAG_PAINT_ONBACK) || (tgpf->on_back == true)) { diff --git a/source/blender/editors/gpencil/gpencil_interpolate.c b/source/blender/editors/gpencil/gpencil_interpolate.c index 06659a69b82d..86a8e3479f3c 100644 --- a/source/blender/editors/gpencil/gpencil_interpolate.c +++ b/source/blender/editors/gpencil/gpencil_interpolate.c @@ -306,7 +306,7 @@ static void gp_interpolate_set_points(bContext *C, tGPDinterpolate *tgpi) } new_stroke->totpoints = gps_to->totpoints; new_stroke->tot_triangles = 0; - new_stroke->flag |= GP_STROKE_RECALC_CACHES; + new_stroke->flag |= GP_STROKE_RECALC_GEOMETRY; } /* update points position */ gp_interpolate_update_points(gps_from, gps_to, new_stroke, tgpil->factor); @@ -320,7 +320,7 @@ static void gp_interpolate_set_points(bContext *C, tGPDinterpolate *tgpi) } new_stroke->tot_triangles = 0; new_stroke->triangles = MEM_recallocN(new_stroke->triangles, sizeof(*new_stroke->triangles)); - new_stroke->flag |= GP_STROKE_RECALC_CACHES; + new_stroke->flag |= GP_STROKE_RECALC_GEOMETRY; } /* add to strokes */ @@ -596,7 +596,7 @@ static int gpencil_interpolate_modal(bContext *C, wmOperator *op, const wmEvent BKE_gpencil_stroke_weights_duplicate(gps_src, gps_dst); } gps_dst->triangles = MEM_dupallocN(gps_src->triangles); - gps_dst->flag |= GP_STROKE_RECALC_CACHES; + gps_dst->flag |= GP_STROKE_RECALC_GEOMETRY; BLI_addtail(&gpf_dst->strokes, gps_dst); } } @@ -1033,7 +1033,7 @@ static int gpencil_interpolate_seq_exec(bContext *C, wmOperator *op) } new_stroke->totpoints = gps_to->totpoints; new_stroke->tot_triangles = 0; - new_stroke->flag |= GP_STROKE_RECALC_CACHES; + new_stroke->flag |= GP_STROKE_RECALC_GEOMETRY; } /* update points position */ diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index 6e79afc747e1..9ec35105afdd 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -816,7 +816,7 @@ static short gp_stroke_addpoint( } /* force fill recalc */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* drawing batch cache is dirty now */ gp_update_cache(p->gpd); } @@ -895,7 +895,7 @@ static void gp_stroke_newfrombuffer(tGPsdata *p) gps->inittime = p->inittime; /* enable recalculation flag by default (only used if hq fill) */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* allocate enough memory for a continuous array for storage points */ const int subdivide = brush->gpencil_settings->draw_subdivide; @@ -904,7 +904,7 @@ static void gp_stroke_newfrombuffer(tGPsdata *p) /* initialize triangle memory to dummy data */ gps->triangles = MEM_callocN(sizeof(bGPDtriangle), "GP Stroke triangulation"); - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; /* drawing batch cache is dirty now */ gp_update_cache(p->gpd); diff --git a/source/blender/editors/gpencil/gpencil_primitive.c b/source/blender/editors/gpencil/gpencil_primitive.c index 0035d679018c..6849e876bf55 100644 --- a/source/blender/editors/gpencil/gpencil_primitive.c +++ b/source/blender/editors/gpencil/gpencil_primitive.c @@ -332,7 +332,7 @@ static void gp_primitive_set_initdata(bContext *C, tGPDprimitive *tgpi) gps->inittime = 0.0f; /* enable recalculation flag by default */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->flag &= ~GP_STROKE_SELECT; /* the polygon must be closed, so enabled cyclic */ if (ELEM(tgpi->type, GP_STROKE_BOX, GP_STROKE_CIRCLE)) { @@ -349,7 +349,7 @@ static void gp_primitive_set_initdata(bContext *C, tGPDprimitive *tgpi) /* initialize triangle memory to dummy data */ gps->tot_triangles = 0; gps->triangles = NULL; - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* add to strokes */ BLI_addtail(&tgpi->gpf->strokes, gps); @@ -975,7 +975,7 @@ static void gp_primitive_update_strokes(bContext *C, tGPDprimitive *tgpi) } /* force fill recalc */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; MEM_SAFE_FREE(depth_arr); @@ -1203,7 +1203,7 @@ static void gpencil_primitive_interaction_end(bContext *C, wmOperator *op, wmWin gps = tgpi->gpf->strokes.first; if (gps) { gps->thickness = tgpi->brush->size; - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; } diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c index ee0d80b7c266..4d6a7b547c64 100644 --- a/source/blender/editors/gpencil/gpencil_utils.c +++ b/source/blender/editors/gpencil/gpencil_utils.c @@ -997,7 +997,7 @@ void gp_subdivide_stroke(bGPDstroke *gps, const int subdivide) if (gps->dvert != NULL) { gps->dvert = MEM_recallocN(gps->dvert, sizeof(*gps->dvert) * gps->totpoints); } - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; /* move points from last to first to new place */ i2 = gps->totpoints - 1; diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 943dedabba2d..11931160fca4 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1080,7 +1080,7 @@ static void recalcData_gpencil_strokes(TransInfo *t) for (int i = 0; i < tc->data_len; i++, td++) { bGPDstroke *gps = td->extra; if (gps != NULL) { - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; } } } diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c index ba814c8538ac..dbf1a67603fe 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c @@ -178,7 +178,7 @@ static void reduce_stroke_points(bGPDstroke *gps, const int num_points, const eB gps->totpoints = num_points; /* mark stroke as needing to have its geometry caches rebuilt */ - gps->flag |= GP_STROKE_RECALC_CACHES; + gps->flag |= GP_STROKE_RECALC_GEOMETRY; gps->tot_triangles = 0; MEM_SAFE_FREE(gps->triangles); } diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index 3357c97a8d62..567b8687e20f 100644 --- a/source/blender/makesdna/DNA_gpencil_types.h +++ b/source/blender/makesdna/DNA_gpencil_types.h @@ -196,8 +196,8 @@ typedef enum eGPDstroke_Flag { GP_STROKE_2DIMAGE = (1 << 2), /* stroke is selected */ GP_STROKE_SELECT = (1 << 3), - /* Recalculate triangulation for high quality fill (when true, force a new recalc) */ - GP_STROKE_RECALC_CACHES = (1 << 4), + /* Recalculate geometry data (triangulation, UVs, Bound Box,... (when true, force a new recalc) */ + GP_STROKE_RECALC_GEOMETRY = (1 << 4), /* Flag used to indicate that stroke is closed and draw edge between last and first point */ GP_STROKE_CYCLIC = (1 << 7), /* Flag used to indicate that stroke is used for fill close and must use fill color for stroke and no fill area */ diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c index 6cec826dccbb..92d29b4c2c59 100644 --- a/source/blender/makesrna/intern/rna_gpencil.c +++ b/source/blender/makesrna/intern/rna_gpencil.c @@ -528,7 +528,7 @@ static void rna_GPencil_stroke_point_add(ID *id, bGPDstroke *stroke, int count, stroke->totpoints += count; - stroke->flag |= GP_STROKE_RECALC_CACHES; + stroke->flag |= GP_STROKE_RECALC_GEOMETRY; gpd->flag |= GP_DATA_PYTHON_UPDATED; DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY | ID_RECALC_COPY_ON_WRITE); @@ -581,7 +581,7 @@ static void rna_GPencil_stroke_point_pop(ID *id, bGPDstroke *stroke, ReportList MEM_freeN(pt_dvert); } - stroke->flag |= GP_STROKE_RECALC_CACHES; + stroke->flag |= GP_STROKE_RECALC_GEOMETRY; gpd->flag |= GP_DATA_PYTHON_UPDATED; DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY | ID_RECALC_COPY_ON_WRITE); From 1e935b090be3287f835d6bcbacc6b2c5345f3936 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 28 Dec 2018 10:37:54 +0100 Subject: [PATCH 76/94] Fix T59774: Lightmap Pack Error: Element-wise multiplication: not supported between 'Quaternion' and 'Vector' types. --- release/scripts/startup/bl_operators/uvcalc_lightmap.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py index 1382d84db493..402fe7d6c2e4 100644 --- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py +++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py @@ -107,12 +107,12 @@ def __init__(self, data): no = data.normal r = no.rotation_difference(mathutils.Vector((0.0, 0.0, 1.0))) - cos_2d = [(r * co).xy for co in cos] + cos_2d = [(r @ co).xy for co in cos] # print(cos_2d) angle = mathutils.geometry.box_fit_2d(cos_2d) mat = mathutils.Matrix.Rotation(angle, 2) - cos_2d = [(mat * co) for co in cos_2d] + cos_2d = [(mat @ co) for co in cos_2d] xs = [co.x for co in cos_2d] ys = [co.y for co in cos_2d] From c07ae0e821e441b3c3a9b6f192487744c54f4015 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 28 Dec 2018 10:26:45 +0100 Subject: [PATCH 77/94] Fix T59922: crash reading files with older renderlayers - own error in rB2c196de56bbb163048b08f321983234a5e72e804 - now introduce RE_PASSNAME_DEPRECATED placeholder for old passes - also dont allocate NodeImageLayers for these Reviewers: brecht Maniphest Tasks: T59922 Differential Revision: https://developer.blender.org/D4132 --- source/blender/blenloader/intern/versioning_270.c | 4 ++++ source/blender/makesdna/DNA_scene_types.h | 2 ++ source/blender/nodes/composite/nodes/node_composite_image.c | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 7e201aaf1d1d..201e3bf1c51b 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -316,6 +316,10 @@ static void do_versions_compositor_render_passes_storage(bNode *node) int pass_index = 0; const char *sockname; for (bNodeSocket *sock = node->outputs.first; sock && pass_index < 31; sock = sock->next, pass_index++) { + if ((pass_index >= 6 && pass_index <= 8) || (pass_index >= 11 && pass_index <= 13)) { + /* deprecated passes */ + continue; + } if (sock->storage == NULL) { NodeImageLayer *sockdata = MEM_callocN(sizeof(NodeImageLayer), "node image layer"); sock->storage = sockdata; diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index ad33c57b3c8e..2d0838a04c5f 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -266,6 +266,8 @@ typedef enum eScenePassType { SCE_PASS_ROUGHNESS = (1u << 31u), } eScenePassType; +#define RE_PASSNAME_DEPRECATED "Deprecated" + #define RE_PASSNAME_COMBINED "Combined" #define RE_PASSNAME_Z "Depth" #define RE_PASSNAME_VECTOR "Vector" diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c index 8d400ada0c7c..6cb7704d1a76 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.c +++ b/source/blender/nodes/composite/nodes/node_composite_image.c @@ -354,7 +354,9 @@ const char *node_cmp_rlayers_sock_to_pass(int sock_index) { const char *sock_to_passname[] = { RE_PASSNAME_COMBINED, RE_PASSNAME_COMBINED, - RE_PASSNAME_Z, RE_PASSNAME_NORMAL, RE_PASSNAME_UV, RE_PASSNAME_VECTOR, RE_PASSNAME_SHADOW, RE_PASSNAME_AO, + RE_PASSNAME_Z, RE_PASSNAME_NORMAL, RE_PASSNAME_UV, RE_PASSNAME_VECTOR, RE_PASSNAME_DEPRECATED, + RE_PASSNAME_DEPRECATED, RE_PASSNAME_DEPRECATED, RE_PASSNAME_SHADOW, RE_PASSNAME_AO, + RE_PASSNAME_DEPRECATED, RE_PASSNAME_DEPRECATED, RE_PASSNAME_DEPRECATED, RE_PASSNAME_INDEXOB, RE_PASSNAME_INDEXMA, RE_PASSNAME_MIST, RE_PASSNAME_EMIT, RE_PASSNAME_ENVIRONMENT, RE_PASSNAME_DIFFUSE_DIRECT, RE_PASSNAME_DIFFUSE_INDIRECT, RE_PASSNAME_DIFFUSE_COLOR, RE_PASSNAME_GLOSSY_DIRECT, RE_PASSNAME_GLOSSY_INDIRECT, RE_PASSNAME_GLOSSY_COLOR, From 37001920431633490b743ee4ebd814f4d043b78e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 28 Dec 2018 11:28:58 +0100 Subject: [PATCH 78/94] Fix T59910: material editor UI issue after recent changes. This reverts part of commit 4f98266cf6, ref D4123. --- source/blender/editors/interface/interface_layout.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index eb1b86559bf4..87927ef76432 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -285,8 +285,8 @@ static int ui_text_icon_width(uiLayout *layout, const char *name, int icon, bool bool variable; const int unit_x = UI_UNIT_X * (layout->scale[0] ? layout->scale[0] : 1.0f); - if (!name[0]) - return unit_x; /* icon only or empty name */ + if (icon && !name[0]) + return unit_x; /* icon only */ variable = ui_layout_variable_size(layout); From a4e4d9f0ab89610df5bf1bbb0252e9130353b7fd Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 28 Dec 2018 12:28:26 +0100 Subject: [PATCH 79/94] Fix more issues with recent render passes code cleanup. Ref D4133. --- .../blenloader/intern/versioning_270.c | 4 ---- .../composite/nodes/node_composite_image.c | 20 +++++++++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 201e3bf1c51b..7e201aaf1d1d 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -316,10 +316,6 @@ static void do_versions_compositor_render_passes_storage(bNode *node) int pass_index = 0; const char *sockname; for (bNodeSocket *sock = node->outputs.first; sock && pass_index < 31; sock = sock->next, pass_index++) { - if ((pass_index >= 6 && pass_index <= 8) || (pass_index >= 11 && pass_index <= 13)) { - /* deprecated passes */ - continue; - } if (sock->storage == NULL) { NodeImageLayer *sockdata = MEM_callocN(sizeof(NodeImageLayer), "node image layer"); sock->storage = sockdata; diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c index 6cb7704d1a76..856b87631d77 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.c +++ b/source/blender/nodes/composite/nodes/node_composite_image.c @@ -52,8 +52,14 @@ static bNodeSocketTemplate cmp_node_rlayers_out[] = { { SOCK_VECTOR, 0, N_(RE_PASSNAME_NORMAL), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VECTOR, 0, N_(RE_PASSNAME_UV), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VECTOR, 0, N_(RE_PASSNAME_VECTOR), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_RGBA, 0, N_(RE_PASSNAME_SHADOW), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_RGBA, 0, N_(RE_PASSNAME_AO), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, N_(RE_PASSNAME_DEPRECATED), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, N_(RE_PASSNAME_INDEXOB), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, N_(RE_PASSNAME_INDEXMA), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, N_(RE_PASSNAME_MIST), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, @@ -408,8 +414,11 @@ static void node_composit_free_rlayers(bNode *node) bNodeSocket *sock; /* free extra socket info */ - for (sock = node->outputs.first; sock; sock = sock->next) - MEM_freeN(sock->storage); + for (sock = node->outputs.first; sock; sock = sock->next) { + if (sock->storage) { + MEM_freeN(sock->storage); + } + } } static void node_composit_copy_rlayers(bNodeTree *UNUSED(dest_ntree), bNode *UNUSED(dest_node), bNode *src_node) @@ -417,8 +426,11 @@ static void node_composit_copy_rlayers(bNodeTree *UNUSED(dest_ntree), bNode *UNU bNodeSocket *sock; /* copy extra socket info */ - for (sock = src_node->outputs.first; sock; sock = sock->next) - sock->new_sock->storage = MEM_dupallocN(sock->storage); + for (sock = src_node->outputs.first; sock; sock = sock->next) { + if (sock->storage) { + sock->new_sock->storage = MEM_dupallocN(sock->storage); + } + } } static void cmp_node_rlayers_update(bNodeTree *ntree, bNode *node) From 3610f1fc43d0f56dfa7cf2eed39e6470eedb8f3e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 28 Dec 2018 13:37:51 +0100 Subject: [PATCH 80/94] Sequencer: refactor clipboard copy to no longer increase user count. The clipboard is not a real user and should not be counted. Only on paste should the user count increase. This is part of D3621, and was implemented by Richard Antalik and me. --- source/blender/blenkernel/BKE_sequencer.h | 10 +--- source/blender/blenkernel/intern/seqeffects.c | 32 +++++----- source/blender/blenkernel/intern/sequencer.c | 60 +++++++------------ .../editors/space_sequencer/sequencer_edit.c | 28 +++++---- 4 files changed, 56 insertions(+), 74 deletions(-) diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h index ebe732d23366..a850777f3f14 100644 --- a/source/blender/blenkernel/BKE_sequencer.h +++ b/source/blender/blenkernel/BKE_sequencer.h @@ -148,10 +148,10 @@ struct SeqEffectHandle { void (*load)(struct Sequence *seq); /* duplicate */ - void (*copy)(struct Sequence *dst, struct Sequence *src); + void (*copy)(struct Sequence *dst, struct Sequence *src, const int flag); /* destruct */ - void (*free)(struct Sequence *seq); + void (*free)(struct Sequence *seq, const bool do_id_user); /* returns: -1: no input needed, * 0: no early out, @@ -229,12 +229,8 @@ int BKE_sequencer_recursive_apply(struct Sequence *seq, int (*apply_func)(struct void BKE_sequencer_free_clipboard(void); -void BKE_sequence_clipboard_pointers_free(struct Sequence *seq); -void BKE_sequence_clipboard_pointers_store(struct Sequence *seq); -void BKE_sequence_clipboard_pointers_restore(struct Sequence *seq, struct Main *bmain); - void BKE_sequencer_base_clipboard_pointers_free(struct ListBase *seqbase); -void BKE_sequencer_base_clipboard_pointers_store(struct ListBase *seqbase); +void BKE_sequencer_base_clipboard_pointers_store(struct Main *bmain, struct ListBase *seqbase); void BKE_sequencer_base_clipboard_pointers_restore(struct ListBase *seqbase, struct Main *bmain); void BKE_sequence_free(struct Scene *scene, struct Sequence *seq); diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c index d5e32ac7e393..193db2b623f6 100644 --- a/source/blender/blenkernel/intern/seqeffects.c +++ b/source/blender/blenkernel/intern/seqeffects.c @@ -751,7 +751,7 @@ static void load_gammacross(Sequence *UNUSED(seq)) { } -static void free_gammacross(Sequence *UNUSED(seq)) +static void free_gammacross(Sequence *UNUSED(seq), const bool UNUSED(do_id_user)) { } @@ -1805,7 +1805,7 @@ static int num_inputs_wipe(void) return 2; } -static void free_wipe_effect(Sequence *seq) +static void free_wipe_effect(Sequence *seq, const bool UNUSED(do_id_user)) { if (seq->effectdata) MEM_freeN(seq->effectdata); @@ -1813,7 +1813,7 @@ static void free_wipe_effect(Sequence *seq) seq->effectdata = NULL; } -static void copy_wipe_effect(Sequence *dst, Sequence *src) +static void copy_wipe_effect(Sequence *dst, Sequence *src, const int UNUSED(flag)) { dst->effectdata = MEM_dupallocN(src->effectdata); } @@ -1996,13 +1996,13 @@ static int num_inputs_transform(void) return 1; } -static void free_transform_effect(Sequence *seq) +static void free_transform_effect(Sequence *seq, const bool UNUSED(do_id_user)) { if (seq->effectdata) MEM_freeN(seq->effectdata); seq->effectdata = NULL; } -static void copy_transform_effect(Sequence *dst, Sequence *src) +static void copy_transform_effect(Sequence *dst, Sequence *src, const int UNUSED(flag)) { dst->effectdata = MEM_dupallocN(src->effectdata); } @@ -2314,7 +2314,7 @@ static int num_inputs_glow(void) return 1; } -static void free_glow_effect(Sequence *seq) +static void free_glow_effect(Sequence *seq, const bool UNUSED(do_id_user)) { if (seq->effectdata) MEM_freeN(seq->effectdata); @@ -2322,7 +2322,7 @@ static void free_glow_effect(Sequence *seq) seq->effectdata = NULL; } -static void copy_glow_effect(Sequence *dst, Sequence *src) +static void copy_glow_effect(Sequence *dst, Sequence *src, const int UNUSED(flag)) { dst->effectdata = MEM_dupallocN(src->effectdata); } @@ -2408,7 +2408,7 @@ static int num_inputs_color(void) return 0; } -static void free_solid_color(Sequence *seq) +static void free_solid_color(Sequence *seq, const bool UNUSED(do_id_user)) { if (seq->effectdata) MEM_freeN(seq->effectdata); @@ -2416,7 +2416,7 @@ static void free_solid_color(Sequence *seq) seq->effectdata = NULL; } -static void copy_solid_color(Sequence *dst, Sequence *src) +static void copy_solid_color(Sequence *dst, Sequence *src, const int UNUSED(flag)) { dst->effectdata = MEM_dupallocN(src->effectdata); } @@ -2664,7 +2664,7 @@ static int num_inputs_speed(void) return 1; } -static void free_speed_effect(Sequence *seq) +static void free_speed_effect(Sequence *seq, const bool UNUSED(do_id_user)) { SpeedControlVars *v = (SpeedControlVars *)seq->effectdata; if (v->frameMap) @@ -2674,7 +2674,7 @@ static void free_speed_effect(Sequence *seq) seq->effectdata = NULL; } -static void copy_speed_effect(Sequence *dst, Sequence *src) +static void copy_speed_effect(Sequence *dst, Sequence *src, const int UNUSED(flag)) { SpeedControlVars *v; dst->effectdata = MEM_dupallocN(src->effectdata); @@ -2889,7 +2889,7 @@ static int num_inputs_gaussian_blur(void) return 1; } -static void free_gaussian_blur_effect(Sequence *seq) +static void free_gaussian_blur_effect(Sequence *seq, const bool UNUSED(do_id_user)) { if (seq->effectdata) MEM_freeN(seq->effectdata); @@ -2897,7 +2897,7 @@ static void free_gaussian_blur_effect(Sequence *seq) seq->effectdata = NULL; } -static void copy_gaussian_blur_effect(Sequence *dst, Sequence *src) +static void copy_gaussian_blur_effect(Sequence *dst, Sequence *src, const int UNUSED(flag)) { dst->effectdata = MEM_dupallocN(src->effectdata); } @@ -3503,7 +3503,7 @@ static void load_noop(Sequence *UNUSED(seq)) } -static void free_noop(Sequence *UNUSED(seq)) +static void free_noop(Sequence *UNUSED(seq), const bool UNUSED(do_id_user)) { } @@ -3513,12 +3513,12 @@ static int num_inputs_default(void) return 2; } -static void copy_effect_default(Sequence *dst, Sequence *src) +static void copy_effect_default(Sequence *dst, Sequence *src, const int UNUSED(flag)) { dst->effectdata = MEM_dupallocN(src->effectdata); } -static void free_effect_default(Sequence *seq) +static void free_effect_default(Sequence *seq, const bool UNUSED(do_id_user)) { if (seq->effectdata) MEM_freeN(seq->effectdata); diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index c02a47db3219..40870fb6a0e3 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -214,8 +214,7 @@ static void BKE_sequence_free_ex(Scene *scene, Sequence *seq, const bool do_cach if (seq->type & SEQ_TYPE_EFFECT) { struct SeqEffectHandle sh = BKE_sequence_get_effect(seq); - - sh.free(seq); + sh.free(seq, do_id_user); } if (seq->sound && do_id_user) { @@ -288,16 +287,16 @@ void BKE_sequence_free_anim(Sequence *seq) /* cache must be freed before calling this function * since it leaves the seqbase in an invalid state */ -static void seq_free_sequence_recurse(Scene *scene, Sequence *seq) +static void seq_free_sequence_recurse(Scene *scene, Sequence *seq, const bool do_id_user) { Sequence *iseq, *iseq_next; for (iseq = seq->seqbase.first; iseq; iseq = iseq_next) { iseq_next = iseq->next; - seq_free_sequence_recurse(scene, iseq); + seq_free_sequence_recurse(scene, iseq, do_id_user); } - BKE_sequence_free_ex(scene, seq, false, true); + BKE_sequence_free_ex(scene, seq, false, do_id_user); } @@ -317,7 +316,7 @@ void BKE_sequencer_free_clipboard(void) for (seq = seqbase_clipboard.first; seq; seq = nseq) { nseq = seq->next; - seq_free_sequence_recurse(NULL, seq); + seq_free_sequence_recurse(NULL, seq, false); } BLI_listbase_clear(&seqbase_clipboard); } @@ -330,7 +329,7 @@ void BKE_sequencer_free_clipboard(void) * since those datablocks are fully out of Main lists). */ #define ID_PT (*id_pt) -static void seqclipboard_ptr_free(ID **id_pt) +static void seqclipboard_ptr_free(Main *UNUSED(bmain), ID **id_pt) { if (ID_PT) { BLI_assert(ID_PT->newid != NULL); @@ -338,7 +337,7 @@ static void seqclipboard_ptr_free(ID **id_pt) ID_PT = NULL; } } -static void seqclipboard_ptr_store(ID **id_pt) +static void seqclipboard_ptr_store(Main *UNUSED(bmain), ID **id_pt) { if (ID_PT) { ID *id_prev = ID_PT; @@ -388,58 +387,43 @@ static void seqclipboard_ptr_restore(Main *bmain, ID **id_pt) } } + /* Replace with pointer to actual datablock. */ + seqclipboard_ptr_free(bmain, id_pt); ID_PT = id_restore; } } #undef ID_PT -void BKE_sequence_clipboard_pointers_free(Sequence *seq) -{ - seqclipboard_ptr_free((ID **)&seq->scene); - seqclipboard_ptr_free((ID **)&seq->scene_camera); - seqclipboard_ptr_free((ID **)&seq->clip); - seqclipboard_ptr_free((ID **)&seq->mask); - seqclipboard_ptr_free((ID **)&seq->sound); -} -void BKE_sequence_clipboard_pointers_store(Sequence *seq) +static void sequence_clipboard_pointers(Main *bmain, Sequence *seq, void (*callback)(Main *, ID **)) { - seqclipboard_ptr_store((ID **)&seq->scene); - seqclipboard_ptr_store((ID **)&seq->scene_camera); - seqclipboard_ptr_store((ID **)&seq->clip); - seqclipboard_ptr_store((ID **)&seq->mask); - seqclipboard_ptr_store((ID **)&seq->sound); + callback(bmain, (ID **)&seq->scene); + callback(bmain, (ID **)&seq->scene_camera); + callback(bmain, (ID **)&seq->clip); + callback(bmain, (ID **)&seq->mask); + callback(bmain, (ID **)&seq->sound); } -void BKE_sequence_clipboard_pointers_restore(Sequence *seq, Main *bmain) -{ - seqclipboard_ptr_restore(bmain, (ID **)&seq->scene); - seqclipboard_ptr_restore(bmain, (ID **)&seq->scene_camera); - seqclipboard_ptr_restore(bmain, (ID **)&seq->clip); - seqclipboard_ptr_restore(bmain, (ID **)&seq->mask); - seqclipboard_ptr_restore(bmain, (ID **)&seq->sound); -} - /* recursive versions of functions above */ void BKE_sequencer_base_clipboard_pointers_free(ListBase *seqbase) { Sequence *seq; for (seq = seqbase->first; seq; seq = seq->next) { - BKE_sequence_clipboard_pointers_free(seq); + sequence_clipboard_pointers(NULL, seq, seqclipboard_ptr_free); BKE_sequencer_base_clipboard_pointers_free(&seq->seqbase); } } -void BKE_sequencer_base_clipboard_pointers_store(ListBase *seqbase) +void BKE_sequencer_base_clipboard_pointers_store(Main *bmain, ListBase *seqbase) { Sequence *seq; for (seq = seqbase->first; seq; seq = seq->next) { - BKE_sequence_clipboard_pointers_store(seq); - BKE_sequencer_base_clipboard_pointers_store(&seq->seqbase); + sequence_clipboard_pointers(bmain, seq, seqclipboard_ptr_store); + BKE_sequencer_base_clipboard_pointers_store(bmain, &seq->seqbase); } } void BKE_sequencer_base_clipboard_pointers_restore(ListBase *seqbase, Main *bmain) { Sequence *seq; for (seq = seqbase->first; seq; seq = seq->next) { - BKE_sequence_clipboard_pointers_restore(seq, bmain); + sequence_clipboard_pointers(bmain, seq, seqclipboard_ptr_restore); BKE_sequencer_base_clipboard_pointers_restore(&seq->seqbase, bmain); } } @@ -2084,7 +2068,7 @@ void BKE_sequencer_proxy_rebuild_finish(SeqIndexBuildContext *context, bool stop IMB_anim_index_rebuild_finish(context->index_context, stop); } - seq_free_sequence_recurse(NULL, context->seq); + seq_free_sequence_recurse(NULL, context->seq, true); MEM_freeN(context); } @@ -5504,7 +5488,7 @@ static Sequence *seq_dupli(const Scene *scene_src, Scene *scene_dst, Sequence *s struct SeqEffectHandle sh; sh = BKE_sequence_get_effect(seq); if (sh.copy) - sh.copy(seq, seqn); + sh.copy(seq, seqn, flag); seqn->strip->stripdata = NULL; diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index e55b8d17cd4a..b6f8552bd810 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -51,7 +51,7 @@ #include "BKE_report.h" #include "BKE_sequencer.h" #include "BKE_sound.h" - +#include "BKE_library.h" #include "WM_api.h" #include "WM_types.h" @@ -3207,6 +3207,7 @@ static void seq_copy_del_sound(Scene *scene, Sequence *seq) static int sequencer_copy_exec(bContext *C, wmOperator *op) { + Main *bmain = CTX_data_main(C); Scene *scene = CTX_data_scene(C); Editing *ed = BKE_sequencer_editing_get(scene, false); @@ -3219,7 +3220,7 @@ static int sequencer_copy_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - BKE_sequence_base_dupli_recursive(scene, scene, &nseqbase, ed->seqbasep, SEQ_DUPE_UNIQUE_NAME, 0); + BKE_sequence_base_dupli_recursive(scene, scene, &nseqbase, ed->seqbasep, SEQ_DUPE_UNIQUE_NAME, LIB_ID_CREATE_NO_USER_REFCOUNT); /* To make sure the copied strips have unique names between each other add * them temporarily to the end of the original seqbase. (bug 25932) @@ -3244,16 +3245,14 @@ static int sequencer_copy_exec(bContext *C, wmOperator *op) seqbase_clipboard_frame = scene->r.cfra; /* Need to remove anything that references the current scene */ - { - Sequence *seq; - for (seq = seqbase_clipboard.first; seq; seq = seq->next) { - seq_copy_del_sound(scene, seq); - } - - /* duplicate pointers */ - BKE_sequencer_base_clipboard_pointers_store(&seqbase_clipboard); + for (Sequence *seq = seqbase_clipboard.first; seq; seq = seq->next) { + seq_copy_del_sound(scene, seq); } + /* Replace datablock pointers with copies, to keep things working in case + * datablocks get deleted or another .blend file is openeded. */ + BKE_sequencer_base_clipboard_pointers_store(bmain, &seqbase_clipboard); + return OPERATOR_FINISHED; } @@ -3285,7 +3284,12 @@ static int sequencer_paste_exec(bContext *C, wmOperator *UNUSED(op)) ED_sequencer_deselect_all(scene); ofs = scene->r.cfra - seqbase_clipboard_frame; + /* Copy strips, temporarily restoring pointers to actual datablocks. This + * must happen on the clipboard itself, so that copying does user counting + * on the actual datablocks. */ + BKE_sequencer_base_clipboard_pointers_restore(&seqbase_clipboard, bmain); BKE_sequence_base_dupli_recursive(scene, scene, &nseqbase, &seqbase_clipboard, SEQ_DUPE_UNIQUE_NAME, 0); + BKE_sequencer_base_clipboard_pointers_store(bmain, &seqbase_clipboard); /* transform pasted strips before adding */ if (ofs) { @@ -3294,8 +3298,6 @@ static int sequencer_paste_exec(bContext *C, wmOperator *UNUSED(op)) } } - BKE_sequencer_base_clipboard_pointers_restore(&nseqbase, bmain); - for (iseq = nseqbase.first; iseq; iseq = iseq->next) { BKE_sequence_sound_init(scene, iseq); } @@ -3689,7 +3691,7 @@ static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op) } else { sh = BKE_sequence_get_effect(seq); - sh.free(seq); + sh.free(seq, true); seq->type = new_type; From 8c01cafabfa7d18c39d935ef87eebb6b427dba94 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 28 Dec 2018 15:27:06 +0100 Subject: [PATCH 81/94] Fix T59526: VSE Add submenus for clips/masks dont show with only one item --- release/scripts/startup/bl_ui/space_sequencer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index b6c42d9208d8..171e4c38d015 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -329,7 +329,7 @@ def draw(self, context): if len(bpy.data.movieclips) > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.movieclip_strip_add", text="Clip...", icon='CLIP') - elif len(bpy.data.movieclips) > 1: + elif len(bpy.data.movieclips) > 0: layout.operator_menu_enum("sequencer.movieclip_strip_add", "clip", text="Clip", icon='CLIP') else: layout.menu("SEQUENCER_MT_add_empty", text="Clip", icon='CLIP') @@ -337,7 +337,7 @@ def draw(self, context): if len(bpy.data.masks) > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.mask_strip_add", text="Mask...", icon='MOD_MASK') - elif len(bpy.data.masks) > 1: + elif len(bpy.data.masks) > 0: layout.operator_menu_enum("sequencer.mask_strip_add", "mask", text="Mask", icon='MOD_MASK') else: layout.menu("SEQUENCER_MT_add_empty", text="Mask", icon='MOD_MASK') From c5095077148549b16d9eb72d56faa0427d51828e Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 28 Dec 2018 14:03:01 +0100 Subject: [PATCH 82/94] Fix T59785: Curve modifier does not update in realtime in object mode Reviewers: brecht Maniphest Tasks: T59785 Differential Revision: https://developer.blender.org/D4134 --- source/blender/modifiers/intern/MOD_curve.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 42dd8ebb32b4..fc33880e9224 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -98,6 +98,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte /* TODO(sergey): Currently path is evaluated as a part of modifier stack, * might be changed in the future. */ + DEG_add_object_relation(ctx->node, cmd->object, DEG_OB_COMP_TRANSFORM, "Curve Modifier"); DEG_add_object_relation(ctx->node, cmd->object, DEG_OB_COMP_GEOMETRY, "Curve Modifier"); DEG_add_special_eval_flag(ctx->node, &cmd->object->id, DAG_EVAL_NEED_CURVE_PATH); } From da7a3424786043ae799fc6915347021872f5216b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Fri, 28 Dec 2018 16:40:08 +0100 Subject: [PATCH 83/94] Alembic import: lock interface while importing This prevents crashes caused by the viewport evaluating the depsgraph while the import is still running. --- source/blender/alembic/intern/alembic_capi.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc index fbbfb4e76058..d5431d13d0a3 100644 --- a/source/blender/alembic/intern/alembic_capi.cc +++ b/source/blender/alembic/intern/alembic_capi.cc @@ -632,6 +632,7 @@ struct ImportJobData { Main *bmain; Scene *scene; ViewLayer *view_layer; + wmWindowManager *wm; char filename[1024]; ImportSettings settings; @@ -657,6 +658,8 @@ static void import_startjob(void *user_data, short *stop, short *do_update, floa data->do_update = do_update; data->progress = progress; + WM_set_locked_interface(data->wm, true); + ArchiveReader *archive = new ArchiveReader(data->filename); if (!archive->valid()) { @@ -836,6 +839,8 @@ static void import_endjob(void *user_data) } } + WM_set_locked_interface(data->wm, false); + switch (data->error_code) { default: case ABC_NO_ERROR: @@ -868,6 +873,7 @@ bool ABC_import(bContext *C, const char *filepath, float scale, bool is_sequence job->bmain = CTX_data_main(C); job->scene = CTX_data_scene(C); job->view_layer = CTX_data_view_layer(C); + job->wm = CTX_wm_manager(C); job->import_ok = false; BLI_strncpy(job->filename, filepath, 1024); From 436f1a2afad33e74adb58f9db681dbc6e76fb591 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 28 Dec 2018 16:14:39 +0100 Subject: [PATCH 84/94] Alembic import: Fix crash with mcol indices out of bounds Part of T57377 Reviewers: sybren Maniphest Tasks: T57377 Differential Revision: https://developer.blender.org/D3847 --- source/blender/alembic/intern/abc_customdata.cc | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/source/blender/alembic/intern/abc_customdata.cc b/source/blender/alembic/intern/abc_customdata.cc index da69938f34ff..89ee753c618f 100644 --- a/source/blender/alembic/intern/abc_customdata.cc +++ b/source/blender/alembic/intern/abc_customdata.cc @@ -284,6 +284,7 @@ static size_t mcols_out_of_bounds_check( const size_t array_size, const std::string & iobject_full_name, const PropertyHeader &prop_header, + bool &r_is_out_of_bounds, bool &r_bounds_warning_given) { if (color_index < array_size) { @@ -298,7 +299,7 @@ static size_t mcols_out_of_bounds_check( << prop_header.getName() << std::endl; r_bounds_warning_given = true; } - + r_is_out_of_bounds = true; return 0; } @@ -379,12 +380,15 @@ static void read_custom_data_mcols(const std::string & iobject_full_name, color_index = (*indices)[color_index]; } if (use_c3f_ptr) { + bool is_mcols_out_of_bounds = false; color_index = mcols_out_of_bounds_check( color_index, c3f_ptr->size(), iobject_full_name, prop_header, - bounds_warning_given); - + is_mcols_out_of_bounds, bounds_warning_given); + if (is_mcols_out_of_bounds) { + continue; + } const Imath::C3f &color = (*c3f_ptr)[color_index]; cface->a = unit_float_to_uchar_clamp(color[0]); cface->r = unit_float_to_uchar_clamp(color[1]); @@ -392,12 +396,15 @@ static void read_custom_data_mcols(const std::string & iobject_full_name, cface->b = 255; } else { + bool is_mcols_out_of_bounds = false; color_index = mcols_out_of_bounds_check( color_index, c4f_ptr->size(), iobject_full_name, prop_header, - bounds_warning_given); - + is_mcols_out_of_bounds, bounds_warning_given); + if (is_mcols_out_of_bounds) { + continue; + } const Imath::C4f &color = (*c4f_ptr)[color_index]; cface->a = unit_float_to_uchar_clamp(color[0]); cface->r = unit_float_to_uchar_clamp(color[1]); From 18cb27b4f49054cc3a2455d5b67fafde3b86c1e4 Mon Sep 17 00:00:00 2001 From: William Reynish Date: Wed, 28 Nov 2018 19:40:18 +0100 Subject: [PATCH 85/94] UI: update Blender application icon on all platforms. More accurate logo colors, flatter look. --- .../Contents/Resources/blender file icon.icns | Bin 145836 -> 237521 bytes .../Contents/Resources/blender icon.icns | Bin 189097 -> 333474 bytes .../freedesktop/icons/16x16/apps/blender.png | Bin 977 -> 18254 bytes .../freedesktop/icons/22x22/apps/blender.png | Bin 1451 -> 6067 bytes .../freedesktop/icons/24x24/apps/blender.png | Bin 1681 -> 18850 bytes .../icons/256x256/apps/blender.png | Bin 32907 -> 35861 bytes .../freedesktop/icons/32x32/apps/blender.png | Bin 2126 -> 6878 bytes .../freedesktop/icons/48x48/apps/blender.png | Bin 3289 -> 8591 bytes .../freedesktop/icons/blender_icon_source.svg | 855 ------------------ .../icons/scalable/apps/blender.svg | 260 +----- release/windows/icons/winblender.ico | Bin 295606 -> 38319 bytes release/windows/icons/winblenderfile.ico | Bin 25214 -> 31709 bytes 12 files changed, 49 insertions(+), 1066 deletions(-) delete mode 100644 release/freedesktop/icons/blender_icon_source.svg diff --git a/release/darwin/blender.app/Contents/Resources/blender file icon.icns b/release/darwin/blender.app/Contents/Resources/blender file icon.icns index 9065f1b359c708ddbe3c0f806d3be7a8fae7a6fe..409832cd0b95b9e5caa2e8f58ef9295bd3bdfdd6 100644 GIT binary patch literal 237521 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⤪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

Wi!vy$DaBGqtB zWJ`wsU(+>tvX-Cn93NkmyYr-Y$O5y=(<}$I&H3-Q7vHX=Ma&w?{K8etKS=d&lkIH3 z(!S%qr1YVJ#T^(?xCT0Qqm#Ly+>n(2Ajy+qjJnv+`xph46RXa`iE2IBhKPs1T5|9d7y}*1JjX-Tmfpii zUzMy+Ll%2iK6(FO82usQ+QtENQSOk0-aoLC51wDEBts4IiK>wyRI;8Ga55Jjix#_H zQ)Tlv==Z{Z#CakAm0@R<-#4?a`shdtBkzJkT5u2eh4y$;s9(E9EK<^)v+GYor1ZH{ z*d9;tbn2tdj9us4@7RISaWtMi8x^WW(^BjY%rCY}{6XlkOpG&`KHR~fnjKtU+2+5H zL7kdaR>rUUXT^E^66fdEhS_;0`C)M#E*{kqd-pJ;8#{f|&0Zm#3XICxGkCiFT=%Z#%7` z4SwZORUzkl{_VR=JUWER+2xm=dJlb*NuPi7SX_I4;9GJ#V{of{v{e2B4v)EDnPAAb zy7XlXxAENXbv@5xy9MVs$E^e%tI z^m-<@)8^H#aC?MYj595P`GRAAdsTpQr0&;J=Vp^fm1}dhfz9ZrUy&n?e4ZXoBjh{89lG&2R8{HXg&TibEDXPogbg)=i}%13i%`HC8-=pN)pm{P^B zD@TkUvuhhXY+&dVWo9W|2Ctu|{k{*?5PP8P8h^=q@(J(p z_G|HZTnWy!vx%CfJxlL`3v((a0oeS z@^9lZN?XB5jIQfEjFW2pnLg)jrHtdkUu#S{r929?8I4{VB$pzRvqpQC{4#b8rjqLm zK8p;z9@w?Oc7thG$D{ZNpRQ@~h+6HX=t`LZaMc$NFjJ|KvbF{p`&UoD@Be#eT(`)Y zK@2>Fw`PSIPVOU1bSvndOn6c0hs)j>pL|~<_D5`#Se6vnA?~Q3>N!@AIrT%aU2iMH zw#eJV_58#7q*=g8mnuUIA0Sw?A>M2HNJHuIHiGfP5u2YulfumrxN=H8^u5|sqA=F1 zM!!>`Yum`#0<0xDslqr^t+~^s)4kcNpPGC9b-l#p1((a&N=~0(?M^G4+~Ld6U0obs zF$ScjijMuz*<3&-YlRghxZ?{25GuHGu$(=BjANlK;9gP zGn$t09P!;(B(;>Ji|ePqF81s!hx8HWv^ZTq(uYH3UcDV~C`OAip~0@->Q?715x}APb9Gcqs#ssOMx6W4$B#XZI_T=e4F-oX5B8ZP`mjiH5D~ z2+?KV=bt|vTjr?xyx8~MUGpan^s5R?d7M@iP57_rCk^OCDB+KPF8RF4^!AQK zEvWw&iYp-eoXlY@Lq3N@vGBe$8Lq@(pR>v0wjC-SbFH(K(Spbv$l5 zQ}yVoj)VX4!xMG`D(zZ~$Ufh_M#fb=$L|07MNo`i(V&Rcbq>q1xR#lI_;#H$PcTge z^U>om8l^8T&>-Y@WA>03P!?{DZfNY2t8hQLrB@S9cprK>rSqygt@ICleUPW&Iar?6 z0CFMh8PieqW>pl|2~c*`nfxqm3>S9!wNXP8ggkSbml|Ki z7!Y;chWZXe=*eAmG;P;QKO%{R8SLS?VSnnAMDDk}T6_2@{dhs#4dfD8YWPoR35cYv z)g-E5eia+L>dcuV@Qqc>G-R!?zCRUic^dGX&U!7Ft+Kn_3nU>gqCN9p7*(;>KSkb9 z?@3<02ivYG3q{kINTutZRwui_W`TpfyD}A8aFDcp0mXDzzi#LCLHe1q<+q;r%X8 z@yu&FWBCrJYnI4u9}^8#+n^_Z5QJMia8Tqv1Xp|LX>g; z)f<8F$NBlE#9c%d@uG)ThxK^-sR&dJ{M_5Nc_P8%kC{HYS$AG#?V_%LmJ9T*l`|kK z`pdR_T8px*JTow0LEKM7CMBd(Kqz7@voZIJchxEz9%un~W0~irNNIMzer;l-1`f}Y z-!@m0cro)9F~=J@VOo-Sm7lAA><1*Z2SG~7a&TegFHUj;9qHp4lK%TG*9|y;Hzf!) zsXRx@yn_NS*;L4BVyKTxORm;_cZu;uonfB2=!FdfbbKLELu*wo5J~~-bBB?9N*XY& z+WM+w`&*K7R4%#WR#?@_#^mq}9gD~xS@~E0X-A=V7#zZ`9jp|g$qV9k#mjIJ(azjS z9pyjhwA-Z8_q{eqny+HW*gNZ=3pu&oN#B*Qs^s|*^yWw5!E4r}AkYiJIJ=w=0D~*Q z(D>4p*ZZ@?l*Kp0Q_EB0`P3?isKvpn(#4ofxHmHFPs|VpC;wfW?${y% z@_JlXB{+TT#Ylbr#B1>9`kB`wy2r|uePsI|x?+<}=T0v)>lW!doHU;R-e1QJfwj0Y zZzSSwf})|x0fK`g!BR|D%Xeq~nb@!%cTEC`JoU4V=yjnxbLGDnwJNPoSPS^(3Im8k zRK+a^0Pz0?eoJ%;Rp3&o;?Mm0y}nF{L&fc_-WyP5gn_`bED`Zo&5#FvxgEl1^cd;} z-wXvLLjzL}flKhQLc7tO(2O*OyTE&cy~~0zQIIVyhkG|Ci%!76td>%n=QG_J!NG9%NSHXcp;zQEsS5=(AsLhhiBa>9omm=NM>BOgDtIVXeC z>7MP)TRuRA@n-iR?%?1v405#xn@zq;K8<5YlzAa^k$5GaMu*b8_4=FGSkwNwB+ayS zDDS-!U&dc|{(hbZ>}-S>3LbrYHxOsvfeVRgdQzIH@STByR^M;`er*NJfJQspK2-Zd zVK39!=p8;Nz>bIy0EC$08&OkE!v1=R22*fXJnQZ`q>)@>{xv3^FCIJ^#+uSR^ON;< ztrH0_O~#Nj0v`bI`lB^NW1&7Md}2lKh+L10Fgwd%NbTO)r%W8s@Eho-HmW_Tbt~8t z0jn2%@x9h#4RgSrzW2ylV^N9yAyy5_AutLLb1G^WkvY$5pLzt)AdVEsM_6Veyg=4+ z#FC3$I|=0I`GQxQ4>o;DpLN!fNkhx6X|BEO)b4@R#y~{CUr8`W^;DGbB|5d7Knpi{ z;cH(ONU{;I+)!0J(@_@ixvSH~$L15C0*eSLH`ZWIBvdpfFyA%fd|Kt0vEM`-QK&%F zk62_-5b*M{8vC5~#$NGI+N7WHcI4T;>2aO6?2z$1m7C;){{x?3@G@iKsxQaJ2TCO> z$y@{_WI=rrA<$*8@g1r4*Pd9q#XH!N%1fht@L32-k)$o~Q#1y| z=-I;+8D+tD6czULx3+$v!O9!CLL~8zD1;L%)G1w<;KHUJSHMLuuPu6FmWPnt9>!oO zgTl*Js~ai1WV!i6u*2|k%%t~Ng9EF!*bwrdTUR4@7N{C$)`9Pj3z^6IzPG^ya4?y) z3Y8YvnoF#a;b|nf-@&-tK$F0XiUO7}91UUh8c3*~wIfTZoEG#HQF_BDD(C_T2PCQ! zf5~piV*z}$N9r<8{QUz1+Rc;cmunx}gk$sRu)SiY?~pHpMIH%4Z=;k1$97$EXKh7$ zK(1E4V*l&ovcL>Qn%V0kSP230S=(QWp3hytE3BPJ!Caz zo+`ON(IrXMc?b%X&IW*-3sHvYCw52JP zK(&P~Lx0iFXV!x&f5)+nd|=h4q0Gz#-(WIetZ*DmxLv|VgENxJw zi78&!;8H|*JoNoWDK~%=G`MdL=M9+L`na;7238EnNE=62&c`>2?*kfe3?;i7;+BpC z_yFEin?M|n2tbzaNNuvrRBDVq6TfYdb2;b-x&ji!WLxPM4(|6MrCif@Too>*o1Yk_ zznMq2#Thac7WTWaMeSW$jYMHU`}=b&3+N1cuEy5Bw9L&O`^HE~QvyIqwh;)1d+QQ_ zzo8v)CYQtW0sk96kPB)0h`-*ZHC!Mb>_mxG_N5D-9&+>^TR{7gI=k8I3hum#h3JD- zMxhq^DjC34TA!LATQjNv2+Clam#r(vaWr({#T4NTCV;MpM5*Y|#^M96l~JTQ53@3p zu2QHbl8Rq3*4R3t}P%V@dY;%k61X#{0xe@s_e=+(oo166`! z$h4jz5s){(gX@<&>$JS6iZ^5ZuTNwE)=|-%KcbY>y)dGbHyq_^eP7koIcQ6b%()<6 zQMWNqOWM=@obzru|1wdM0rXhKnq?I!<3-(sYOYxcSB!1ZdvgfTV)2h9yW&>f#bZvc z10incU3R%w@+2q|Kuc}E+;DC|~;4-J*MpUlLX5m}D9W|0mA{p8qtKml+H}Rm;sSaY46#c38d&c@VP+AJm z|Ngm01|lf_(e9&4Bcs@p6Szxy_>kGfR}mre6~DuL@y%cyA&?K?X|yeoLu0sj-e}9A zQqS1y)msut!pI*y7Xyu?`ytpA8WMOy6}Qxo_Q`&Kj9e$-gcXiKmBX&rYu85XmI(A8 zDG;0TlKTT(xb!>9vhw@YD2{Nv+^*ov$e8&7oNti9mz(vv_32w+5y+!vM*<3m=w29U z9!xYPA3G*7x=8`|hku5y(xhf~dX54WrtY@GdY=xMNol#lA#Hkyg=l5-`sVhlIMjLW ze?dtYP_`swEex{-k5J%uJs*mdSSiY@H4ul%UI0}ZA1M1HzqzR}5e7GV!bLzu50|XG zVNZ-uaXd#?OY+EH|Dh#9JO811g-7;_5zRVegQCpqZG@=Mo7k$Z(i1d%hTgRnw6D~D z8)-f3Z3+r11`K<)%zVZU>?kP54m=wHqa$3mQjk5EV!Ffm>)6B|m;Hl)t?374tSG=w z%lenWV_6|@iyhBu_D9EttMN>xO zl6F5wz!cG!4@P`4IPRWhgm1rIrMv2#BJ%-SwB7?gGi`rLkMH8-x0w)l!V4SG+?OpkL5~xY9T^3Ax<4e@q=IE6S#?@6Y-YH zxoAFT#%DdLelM|Uhz+t=VW<`g4Unf z56`x>`U7iEPh-fN+}Lr~A3ul-85e`APoYE(?9D`O(SA>rxkji`fLnQsJH@_$%egkQ zXD#amz@QUos=$lxOplLm&ZN8G{`;vFehqPOanQF^(kb_ zE<0OQJHh*HXI-Vmujd|Ro!?dmk$N<`kGD7GFirXOtSKn|`rjW9iA@yPRJ;bNh_)kp z2nh*W;HVvA;f6Q5uL*8==`iOelW6<8><+J7Gb?`JqJDz*rONX7{Q1cE7;*9sl{Uj;iAxQ7mqtgA>?j_6MRL7=zyI{w*8;LQyO zed4c9Pj1d5P2wMVgq!~qgfP7wrB(+VLHe$aYx2c?VdG@Q%X@BWu`VJM#F01>;G#jg z_VwLL<>dJ>Tio1D6H2YQc*lXZw4oy0JGit-m@L11RXuk$eMO#N+agn8_ECbD50I+; zCvi|?Y=X9k zkk160dYxZt<0@q=2)cM=)+g?9){9weZhJ<5Pm+{&*2zK0j;$~bvtHP)f;^8L8P=b@ z`)=yTgvh>%C#|Pk*0}Cmt}{DPd!f? zP$_F#$71ieYf-%UPAV~JeS9kC&9}lmdnioHte9ar26x< zl-7AiTuf5Ie4a5r<-qm{6pl%s?m-qC5&l0tomu+dHl|_yiPD`f#^;za-7(y?1n@R? zoM|@v4w9MdimyC9r6+0vjHdh~Tg^zAOqr07*<){M!G}5}m(&I{p4FF>_(_9YaIJVe zlvR6gx@G1RSuy5}x>)JO*dBZRS!&w)b zG(!O!dysL~HUE_0SXX1p8p&z;QeB@3)0wnH!{2X z2pEx|BP5D{#Bk$b;L%JB$b|S^vEpwN_aYyZQwiZA_LOn*o86lRF&+l`paKA>A>z7C z7+)#CFS)cLfZYcs>T+nTK*0OLV9geLe1E@Jz{OE&KsX9FyFCtrqq~;d%-8A94zmkccn-Tj`}51egI`*1SK2|43iHQHyy%XoPRdoCuVF`gd0(yRwJiMZ4 zzIWTi9OhYHPZbK2{pgig;oD>K8Ar)E_D~{v*CX+@sH{A|g47SWgEa-=vtE8@`z>P* z+7rcRH>}qS;r-Oa-75Uxw!|vxb|nJX#bE(HUpFaSnxIKFT`(;S_#>RkXiD#|vt{f2 zSJEF&3$-)Zi4gqxn5!4jM-A(p-{i5!qz$n#|1r?WPDl^siSWEl9D{xTfN(J}KgQ8< zrFlN>e3k@zC{Q0EiN$~bT(@8iSEdM(yZi2bS(wVHekTekEa)d+qKNjt`u3}gVLNae>hO@JNp-bk z@cEenYur~|?4R3b$>D2vggXW5{^fc%8E*@^X2Kbs)Xo)=H2*t{O)cXh8kPP5mAVu$~4s6p=&)>1-E|hHA##&TU!!~x<`;0YzZ*@IM^@o5|1p=@3 z)bH0#5(5gL75;D#Sk zy;d9XSRb=dma|~Fo4NRWZRs-gT%{)Y(q)_m${+(|Z;@Y&B2Tdh0L>$(_q_cT<) z)@D#-zUJbpOz}4+`j4}9CUca=)#oR6z)-)2@Lsp!zXua*@#U+X_w5}v|Do*FUeVGA z8i%O8wX?&NyJX6n5!)w0dNd01nRWvEbtl>=ejg58QHl(Q;ZgD{Ck|F_BHJhDh( zp!jZYcXCeq_Q4`p*Z0%T_k4h-{kr+0qtcddu9$*<+Qtk*T;j=)IB3rG30OCv;i%`= zw&x_h_+-`G@0q@x_ttWp`&SAmbJkwky@SN(g~B}Cw6z%&Y$idwjtQu=^?aw@@LVf>FAx7CitGj-%YGGu;c{iUN zG0tL;W3-*C$Ad-kcI!U*k8q{(>-FAGaesMUqIFIE5{Y29l&Uk0a844gS@q{+tQNVt zFiT%FScI4-YKNL9NF+Ypr3n^Mv^l>1nc`$wuGp#{Z7@tPO;MrX!eF2DhyTm-+sN{> zmA&CeK4nRsxX!0G(`Q|qgasq4Bn-&A@&yet8tR;Bi?6!ld!C=M23dTGO7_nNH{V_< zs+Uw+{L$#9t$lZrtBN^}q3on z9BT3#=0{+_XKSoK`_oPN@8a@?Z}r!{y`_Aog(yLh&&A0#@~x`u9%v|ENl~SDYDb)g z3_roxf0wL7b=1M#CX#>NcN-W4r_o5uCy$*RA|H?2m2M|@oVBHx)NI@;ZYK>}WEZ|~ z=wueXO1T^RN|Tjj#YH4&!iWj9YhuB?tF5=5pX-LlcC@Zk7EO^|d$+*(ulMM@?IFE? z1t@1qPZgV^xbg4%A}4wM|8T5apO-c5<|JQ?g}YvwjnlWY@QlYR$1$Z-b|+Ty`*KR& zoYV@ZZ$5p|c;SI<+Tdu({(jmQRAxhP24{cW8J?{)Wp=?33_AjZ53bv+gzRK>P%&>$ zOMLqsS*mW%$DQ5|zo%Pc>{(&@f_$<%)(<_=Tf_kwe46V0j+@6aT5bdC_b;<`dGim$ zc-ohk2Eli)D$QYw56M^TDb#@7e1pPt5H{AZO2|2vZmy~VIUeq10%N7?K!h5}n!&_C=QUq#bo!|CJc#C;D*q-h!BFUjG zf5lCa#HQ?pf@g$jV+lfEhhHteAY~uZF|-3T^a%UP_^8^=Tn|a2Wh1PaHWv9eF$4+R zsvLgXu=fQq>77Uuop!)qfpH2=jpspP!F?w^!A4d@67@8V$fw>dwByK#iB?Ve5g{iA zg{+V7aNoFL%CxLKp8@<&jPp<9O@)u2uR`B#B>vMktz^|Ta^K3kiW%DLjo!2V{+PPM zW#4gPtoHRrN~>NlVlgh(walR*OTftG_GZqT#4(f?gxP*gmsI`?Kwma>ktG-$@(Cbn zVbtEuig%dIQ}zBrI!Q<;=PKeNRuf=D9Iz*#ey!Lf2+2AQCMb`@pHU%o-y*9DPw zhn0iZp8`$ppFSuyVyHX(t}(aDfOxIFNO!(!y1iCxGcGH`^>8tRwUCN%Yu+2&Sid91 zU3{9i6=gR7_7&9DeTSwz3zk*&j{pGGl#IBDT10;cnvIQN8XrnPnLhQCTfbB^X&hON zPMstFnpQJ;gobUGZrPkk7%#YN&aS^@bh*Y#7dLJQk5lHbysr0h%DW81$6!!bNHq`j zZ`Khd-4UL3Db4{6Hiow}>3>3T-z}8RqImNyq#_Tdi4aWxidL8zT9E+lhw3al&dQu> z14nalfos3{wDbCEJ&@#sTJOiDxnkumhK8q2u6*ZvPWhAw5Th9Uys2zOY^jbHYv`W% z>`d3&f2mC)+5E=VYAnEJ=CSL2B55!>nUnlx^W}ZLl&R?K{=BSIm3{`TlTlTR+ku8= zFgaOiP6K-_9vpSB8Z>(6qt9f#Z@@dcVFQnJ2&kG^yC6kN{Z+oP>=Pb~dncbMO=ABU zQ$5QMOQYzO){4{mNAcl*YZ*&s26<2JKT;o;4wqSSYT8fIe#J+CPAI!%%8=Jl-1al8 z9~GlH0yv8^6A~w2cUJey^T|1mpJYI^?B!LILn}`{LkTVj_fk zsSJP=I;c7!1j;eqc1MtU_SiSZQCwh^R1pIiLZ%^^eBQ4zyE3+Hbj~xy8nOJ20VQ%{ zN=`Oo)0d z7adG3lC|bGPlNZ~Fz_7;634I)T-R#Gw80{3!T(t~-(~kUO5&WyJ`ej--)sr4oLYQ; zIRLyfF3t^O912*m(mcm(u!P>J)+~|VFNsOZLh%T2I8vdecXBT$q5OO>-_z!gI=xD7 z;ojo}^HF)myX;tLmyOcvm10DfhCXq{mn+~<6rBRpC#*IG>Ihcbht06Z`aD~3rv4_A zpj(W_fXd76kSkSaZIKvM5u5QSG2!yU>Dy+;0wcK=Q^Igt^A4=+0!Bt7XdF#%X@XNPq++AZSvT$cH5POkjV z`3|4Ywlq3@DLHpJ$N;J=>Y&dVRJb%mZ%wk30XMH{F^ABRaQ~dceT(k(%eB|>-69$# zV~~7f*7%4Yt+{^r9y~Z0Q66x!RG(q=BbhaTWtX0knscqied4<8YNNuZ;`vf3a1i%g zSS!4r;!85JKWY$S=-XZgu?ZmZfA|P9-9*lyEypMj`1?m#sVPmDZYR!YqdwUFVmjSs zG>fK+B?j7fjrj59GVff-L-Wzk?G-Qe`6HA;$*{@1}v zkgPt>ll{<`wI>ak_@-@e1XhV_z6@Z`edsvi-CF0P+K#@|UGuki!=P7(R z%!E%88{}|~0i@o~%f*MUdIsKgY>S7&r=VFf7}M_s`{RoPUmJc^QlWeUjx6Z)Z?NU# z;vvq;K5XG4bgHL<8E(hBvI#JO({tiCG-l$0$H09e!{y$ZZYVxzCH^aD(g~jka4fli z%?2v$uf*s$o}6_~IWDiqI7=gJVEU;gDh}fswQ3rU7@mjeIGXP^!0_L^)n4kxNm721 zg=uC18+)@~oABQ)oNMgZe+?+q9Zyu7S;rZuNl|>=7(3fM7OH_;Hm{icCI^jrJO%ZZfb;}8qVXI8}*r}b*_csR?lTxuWH z(N#Z*A%4YfTEU($H{TUhmb95-Ou=X(ljq3@xlU8$w1aq}=c*sAZCTI^^c_kIT{wG; za_aR>3RWDeS{oez5>lJ2PKF4@pPQ}>>xCCS4&||)jhzIJHX4NQycj?`jU;|~itBg_ z^Rp)SoXc6Zo#2>i$e^K&-AFw~St`Sw7N{t%EA&8SWk#96u~@b4uc+0E(k*@)P15a; zgee3+qh{iH9BrYMZcMpfOZLrT*Bgr{3j!a{?VG;mkCwsTu;(Y{h`!S%T*LY!gQSK< zO90r%U=DF5sGlTC*lp212-5V8WUJ1LTb0~x1Ka06U$;MTqzO=sQ2 zb1S>dtq}K3ukaE_3a_-@3MI3N-X`4!S_+`57L^nIsHehmpFN!(lR1ohX zzUseKZ<-Cdo=Q)ToA{`8Z>1rOshv(lV5cmj?5Wr04EhlcYXzaqQ~IHN^uB%PL8%y@o3`!uxa@Q2^n}M1(O_Gvq0~MFH}VV* zJLs8i997qa-RUVB>ObLfA3+hgFO@9j@p1iwK)QA-Udl3?c+0#})3!n=|DzfTNEw@) zySFebeB4w?CjJ^cu97@&Z&Y|w_pgNpl<)ww~3 zd~TS`l2Vcbj#5UXz0guzN$9Gd6Rd);}ex*cs(0)fEmspJ4j$7)?Z->8lt*c*nL z5Epy{c zA}Wr@h%jJ&5^Gwvu=em@Mmk@A;!&wuiM|#!N{t)w85;u&vSz^S2rtl4z+zDUl5U4c zQ&tTD;C}j9PpcI{+s>^t=l5Sz));)W0Tu)T;n&Ynb&915<6;|Mc#&$bxuD|m`4`8E zo}Hd)9Pv3X&3C8YN7VUE}|P)o=>{`fiu$c&yz}v5oY!Ze1#s8AR>H zJct*tL_?XOWxh*t*+OvG=_BWcIoLjFL38|HbkMXrX?dyw_Aa$$gFR#~BYC6!hNaEj zAbIw=%#23j^Jw_$n5OBW(uET|Pe+OElFE8sP^ITj>94x8PU80!#j^U~+T}@_o$6!N zfz;nPmItgG!Rx>{jip0Bj$=QQKE`+GMXCmi>JzBnHTP#D=Lmt1&rZhHE0G_@rdf}PYO<&0 z$E}enKE=ZrH4nll2XGt!=qUlGv``|;Am0V*_f_wLW79ZxRRWyBh_11*`U3mJLs0z< z*5CR9THFF&w8dDu!_`?u?t*N;A@X=w?bVS=z^cj+TcByYRYP zFgI(blde8o-k<@2yO?z`5JRx>e`fV}O>#OfYv|?J8sZ>UvPRmcUG<{!Lj3ffXzgXm zXq^`8!;ZVi#}6vb7k`~yGx>zQE88@0iV?kh;`U$gvEg)mZ+xIqdZ-|%yJtI)P%G0Q z0iuC`Xkw`0e$3CH?L#CwL-mIL`1if~W}o4CM==1D7-$kav}tKYa1~tZjTz*AO=xP= zh*nek?++&E%8h2 zyYS$o{Zga$bLW>{Um@JvSnT{81v%b$CiveMN2uW9gH$(IPGu3@FzeQ{$u}C&zQ-XY zX$eljpCZupcJl?sbd^72fPI%ROr>e&^hagpe_NgS3IE`aAGnB! z=1TK#rMCZ8+K)Gh4-ZLG+%ED^Y5YD3m~2Na{tPE@37kX>+>Qk^x*>*1dTPoS0*YC9WEEMUBhA|gsaa}MF2&YR2Ye= zzzypE?m46b%nOQP|E#a+1k#Y;HZJnT7^~*mY`WHyvjcpR2GL+K!3iU3HipbVO$0Wv z&_l8qq5ZyyMnVdVP?do1?EOE9KvP}b@EvR_1^MEJv@oDQP~9!jH&QAC1^39q3Da~! zqJKi8R_%RF)KxQ2tue{g=B2{*@2DAY;4e@DG;A#gfdnG{?n9|I_aVCgXFzeVEO2SC zj6r2$<+?|ulR(Q1)M#RH%1?f8((C+(xPfmLBXi@R8sG*{S>8PCKMbgbJ5}&dG!)T$ z!m=q@@VnNN-^NncGs7hl&UYr@A&goZE=#74H`SIZg~2t$uY_SjQZilH4u7R9;6!>$ zZzvb{0h7pIxAwf{OJx8CbZ9Q`*c-e0Z%bFp2E7BOPzp8BdlH^uMhVmmL9PJCS2J2Y zh>Eqp*M(0zcfF~;5>CI7euchB>ws>I_6|>9OqB~~Fc$7p+8TMT6vuDpoFel_{lo`g zrMc%)1GAuzk*3{#SfF2pddNpB9ZH(P7vV&m&DZkN2eXOdg?pt}F=Uq`uK2w)5@qAl zcZ)P}24Hgz~c1Zm?9dH-!ZHP%kp;WP19D)JiJ(gy@ z73(??MjONL3|QS&GRIxPr1ujC8Bu44Jg>&?_q1FmS0A;6$hQaHNEceJ{r-*)>H+Nq9Ny{ zl&B7(G+oY6oN*J~FW6&|_y-=}MTCCc-k8Zlz#^5KGkp)NS9e&TY07#O#6ije4g5$c zMl_=fkj8PKp)TgS#c3jZL3UfG0u)_4wP3zOr=tHV@VOjZo~om@?@w~Nl7|I5;>I+6I@_pZ#JInR9s{b0nE;3~8z{7|EWiUBxHIJek)j#sO4wLfrnN`|e zmo=qV3w~Mt$Utn*>TEDWxKHXFq{tZU7ku%pF>zQDD624OfpT*oI6p@5U%>8Kou{m` z6XMk8OK4GH#F@x|uxOy531HW7RR$-jj$Mq0LCbbfSZGQ|-b?bG=ORP-{xd71xy??;S zl4h)t#zl-ynss6XlsUrjM5q?o{gK}2hU_cbhxe0gWKij!DY9=QAt!k6JZYXc<2Qx9 z_;J`@u+U|q-hlg)@gOFQN4SN!&$$UX?+f|&vM$W4!QB_9nGmgt~KL55cSO?Fk*IL4of)<$m8;ZtF@|G1C zMz(>G0)TDwZgk#bF&VUxjgqXHA44aI)5Gy)A?SCldKmw4Z*x^6MKk~6)6b%Zb3xC* zZ8Mr``hai8Q0g5k^A)tF@fFOYL;IYRR>a%BzB_EX?7)YnSwU#Zd@mVaY?${SA9lF3 zs{=0hAfwPQVey}mdW0%S><(j6bKQM1P33VMfFR4uCoV~LDPw;sGi&))T7FF7M^oh*0n)AS=^C+6AV~F$&kDUmK|K^mmb&GY=<^Ssq07 z1*_qE;a5J4R*>urI$)8Hlr>}m>tz0A{cI5{vMb)ump*jRn!5NHaByGXe8qkOE~z74 zeR9QneVQeHo#MGNob=U?NCKq_?K1maWRVwinK2k;7xkB(Ys0O_!lcL`s&Y#X@VGKv zax~sDzz@+Tr#h#LvjTnozLy>L#MyQ~@3M8ne;-5$EBPT&p2R9~L`<#}W z$d$i416um_!FpxGY_r*G&`ngZ<8&zU#!#c^rB~H@LLjhN98kl3D~Mz@x^`v}S7Fhj zgo{ldJF3v_l3M+S5#Kv4bTby@I{N)r8o{~`U6*2+<7C@mM+-uMDZ}s#Q2%wA2$IA$!5DZ_*7rI)119ON? z&ym=NLF_;}7dIv84r;a@Z^w@Rjpg0b$-{RlkIyGZy{n%DBd&4Y1S>4UD~RVA6+5Kf8sA* zOU7?ZesL8@^R89bqpOA}@{jiPkR{n^G^Wmd_R90-Q!yz$zBgFgCyzgtJ7HjHDFEK- zJC)B808&9k3)?jIjSEca zf^rml=iA8#$tka%Wy*K?-09^lc|V?-`%ZJ)NfB~^E6YG(DxD+Xi6?`t-A*Broh`DumyB3eYUljN0+T3v~-oM~Z(;ToA z7;VvaDcgf-t_@ZArYap&t3U8?7!c_kQfb}!{Hl**M`9qu{^{G-F2U+dIjNSObb51o zbxWrp!Tt%a=BSX8;*U>5>-qvcJji+d)W*Oe*<;1rSP22B9r_=%wUVw4RIjjS7Q)#x zT1qGbN(aTJLCWc9R{9StbNOL&Q*?_BSYHWCv#uI64Zt{|W%mTKQogv3efF&7-;)hwRA&-WdXDE*)?sDDgm=fz}vMk;pFJHaj zh>;t566J~t#L%D52hfI?`JBOkwKaEAZj_Ce7Dgpv1Y&bj@ zb0+SFh04}tUav{_g%=0a3k#F6`H>x0Zw;hzO9J$h9LfhVR)eVhCzK}&;RmdjupL|^ z@=qcI`TRa`Em$ai@$X~L{o`L;J+*kF-E`2iao_`mFpw33cePOb_t74Br1eHq`EVb+!F|o|Z3BRuSpNGMLJT|}QlNH#kQRtb|5L%p(EiV3 zI^c1HEP*t#{%KdX!&&d+Rb~F}rRPxP=v^LKOm65+BAcmze&58upXG!mX23*fsH&y6 zS9;(DOEDwen=Mey!q)BC-W&rd3;ibZe^NCA(A2yv(M#oIglN|7y3iPhHJUIxYM>d3PMyrsC0{gIGH!ULi2$_lZn^BNKo z-2h|$#tWT#n+3L|U${qhKbdQbgPRjt0Jy+BIoE-eAjq00b!VE&U5?wKr=+BWHLtxq zj-pUpAFHv_=t%toaNh`CaUYkXf}lb#cFWU2?wXc~OFv-9_?O_Kk#;Tp&&RKG0c8`= zq&mC89IR-C#@X1UN9X0MSFc_a=g>7Ksa3uies!MUmI$OIdgILgNgfqr{oO(6$V-za zwuydB*yR0jSfXS=75=i1v+3OfD%2yQtGgL)(L9^D-J(z&nu}Gbg7tTUQMV-{2Ktn$ zGomuy^7kDzrK>p3`4+$b2S~Wr3mukZvE!lQ*tspi({F3{G&Rz-_1PtE2Hh=E$jvVz zgywqV|7~0VRui%Ix$tH;r0iNF!zUbV^r+%B-i-VrqYP*^$m?~q$^tVx-#{6aDB`ZJ za!u=gR8=@2>`UwH-8VZQ!g)rIv>HuV-J5r793&RIEPqBB{1|l*s-Jb^{dZLsW7RmF zG~dpjo~sS1*PTt$QTItCnu#OStf4i_uiOG00jEPAF84xgNsd$4g3gKPF7M41cCtH zLO?JK;N`?^@)CFfJF3ZugUUuIw?QBz=pG;92HyREnN9iX$KA}CyayA#ZvgEpBmuo7 zo9q=`HmzcqpDf|Sha?}rV}x8@eArN7gO|nI|lw z*?hyZ^@_});}1W$00jBSC-Cf^AHt*7Ewc))<=iWE;(pr0Rt8OqA^+?NA#ml9ai|A+!g z#>#)RpVg`XwBqnl>WeuCdyv)R@wobl3dMZ&1f~2?D#&cbTeMQW<~sYO59b+x*f3vf ze*U^a)URQ;{nm3LJ6H=L#2!LF6`l*zcma@|IPD#wG2vX`FF%R9QbO$25I1YSEWM|f zCm^6r5;D?Z#6z)@wkqDrhL`pe8rOhEIsgq{^Zpo`=N6O9!KR#t=ADX_Z*~t6e;VkX z`P_OrW9&Z2-u^5NSNmbMbQ+I&fmSlhGs6F?2GAhdr_ZdC_hKaF$e_S!Jq?G#Pez}UUD5O`_MOqB&D)Igr%~9TL}guK7nu#sLn>A)<`^NXz=a(`3C!*5{!H8 zBDa?W)X&XFe@+X$aUT)b^zyts*?yKe;r~(C?%=SV9h2z=Gvs3=z&?;+U~nPE^=!!* zK6P&#!pIKBE#0qylh%4^+}EUJ+(OnmrbD~jId&ly78du)Sb1(jHbJ*n=lf5LWtO9b zun&3xsXD~Q_3?L7CQy6m5nt8ToOJy6~ zQ@9#&&X}09nPL7%=vOjfozNVMr|+I6X%O-o{+B zBPjwg@?w|s)a8+}C^&_b%WQ6aCjcI&|J1qGT+%EGpe+DqVvktiV5dP1{ncl0e|&Pe9@{N{sq#f;tI=%(fSE! zhs$ubUpr)wna7Mr%iqgq%QvNZaD*XKXkw&B1ukuXV798(v{4!yu&nrFk)u0i#$kZ2 zcMZA760`9w&CG?+q%d1_$e{J_YPjf!%?#JU9^?ngm|xn(Mb`wV*Ck>Ax&I&-+?V6@ zDWxbsWju0@`A0>R`5cD)vDh4+s$j~&cUlc~g-IVWDU9e(lgqJ^_Y~cz&THOq59}Y4 z##8CGIu=+lO^Ty-khOKuI;HVd=(MS%*~mAF#~nj{Rup-A64KBEeh@44AgFVtJ9uKM zRL5BNOf;TRQ7}3QOT=kXRi^V}j4NsV-I1Rfn&wq53<}H|925d5_Qi>#4BXSS>*LY| zzN=ew@@UMp#D%tf-8D~ALR`zwk9ZDItf=x6<;s2uB6gnSHZcgJbfN|5$m7KQWt{ZI zeA%n|n;uxtoVjQR{rwOOKHsJmSw+g8#*qdi`wfngF)M5q1dokqG9MtXrNykEF5iJ& z^LbDP>h}zmT?28C{VV=Ov0aMgDi(Vslb0`re?$l*q#qKqc#Nu&EV_&1TX4RNWi#4j^in%d zeXtWtTD5uQVQfl`g`_-)3s@se^YM)ZjU5m9Z;|88Q?zgw4MJuj2>g~RjpbsT1iRgx zr`T3Wu?~4Kr!I8)Fei!ORE{76p5rXNT3a=x&j9rXf*cWwu;hn!I{i~K`kp#in zA5?4+7^7G#bCvs)71XR~sj2h!q*mlT-wbFMpIr8CMqoXFqHa-G)S$ z)1Mgl9BMMzZaxe7Q2}Slgv{I!ct#J8tNKw856iO~4~vbQyAE^bSWn5xojmuo6=(T* z7Yu=OgYJ=msZZxQ)fg+#HEeDo6#o!L&3q)P4+3itf!*t6^DTKz?Bc_n={AgMOO~!z z@O}6L&awL!Sk(Q!nIZY105M*|hVz*ID}G3EzGG-+Q)XOAp?X!%pU2POF=2eF9-Slr z&AepJFV4a(@8za0Oo9@E@|r}2sTo;Rf)u4LHM7KRouX!HdGG=z8!jcc35lf5e z5;<$u+%E^bvoB!LJSb8PKr8b&ZetHoLBM}JsZ7Fu#C7(8uK!xJ0_M*aE;hiFLHT<^rE`psrMgS-Vw zL?+plK+@ofr=VO+J4ha0andguui+V=yBmB%84w;y5DZe0kfQ@mEja_~J>7hG%wmgg zdKxFK*?Ra|0^!Aj+pVhV-N*9t4m5x)0IB^zFWe)BM?8d2oWPHCwa$2H#1S5YKbuP( z0U1sgm~aK<;SIGtDKtxWp3;h+!~z+S%TwKxlipyzzZ;|m?@lLqEkCu;JH}8xVqNO% zcB7AZBN`lct|vYcac9Spv3-vx(UUe=t><2N5`rm{BJFG|cgDFS9Av;XEGYJa zp(=h39lstHwg35X&FjD+3lP@it4r=)K6od!J=Z2z9NFTl0``~s;>}uz` z%IA9i@~D5#_0sLR;pU!`O7La=_3GE~P(E}XMR`O4dt$#V%90v@b76YDl7Zl8T&nuP zYHo&DI+ZMvNPHb6;TIe63HqlH&STc4w|7x?eIE5w&O9vk$65)g!nis+&L)ej83bSS zLfMI#kT9*?u0?5SS{cfy09;iGCdud{{$*(Lb0=^x*jfC$>#6k5hfFA$hkpdGcB|WS zl~B5bkqTJg575zzAEPpW@^juJFjUQQv2e|w^yv0#098;`WoNC1<=x)VtgIq9VoOfh zOd5Cqc=|B1E*X$LrayZ(wDU`c*47;B6R+nWCc~jb_Kis2X$nwhnP~Fn5!1mh6bS;4 z^YBr#Mzs4R{|&fTQmln)&zss^X4T-iFk2r zPwPy%vEjJlW={YK@%eR6*Bde{s}gd<_jyk;ws}@ zw{Dt1g$TAQd&7|S_tfSMZkCp>P^jZYN_qBFZFIBL4`FVTvAUx1<3D{;(xrH+KDrP3 z8v1u8`Z^IxG6t|!#&93W&Pj4cqeYB3V)y79ZPD&hEo6ak*OtAa@Cjw|qvk#oEvef5%88*)WgBGYhY}w#IVr zx)Be0V}54C0O7Bc_P924y*Ul&Q!L*EiGiPP)6L>ZH>YcA`EFOaQyYL%$fi*yee#k! zp?Hl;yVYaZYd>~UHEFgyw)cpA{5wyVI=nMC#RDLktU7~MSdZ2%{L`VngR`!QL^dt8 z@D>cI>}iNTrIat#iJdD-Q=^$Ne5QlfB}I_Z zQ&z$LUgC+6Nilp)d^v=Ig5u%^G_#LhVI7lLm#?&zkEiSki>4obQ~gd+bPWiZzTSJY zMl_{+8X}OEeNkB@i9Q&=PLkSDRJp2AZ@kqT-IiH`s#=y9g6Bpw<~=UjR%?eHA+dB3 z)iIU=*$I{t1)C%x)aI4nWPpU5pyloL1)89=a%~v$_TGQ=d1ImYBMQXnu710Jt$>oD zKkPkC@LnxU_XlMY8neJJ zX?dl#Ff|HI*Agq+2(biR zISKorH>p%iIaD-*@WKS2Vyjvj-17DV&0dZ~@MV;Lf53dcjk*jUHKtwlFF=`iqg=bz zqTxi{SPH%b#Pl(?lC^C+QrQMRVTG3)if$i4P4VUhldL{)v%zxag^IGdLV6Plw&_gW zT}j(s5b}&#Rbv0QP_Wohg&0!EZW(D|W5at4lEgqqis; zpWst^%9lfOA&UtsmSHUfHOli|m50|^`;#}JDCVW!5eK+cMh*MvjA`r!SJ-RJ;nz$Z z=n|sG;lP|+d{wtBc?bO~BXU{n2#i@vIzkicxvhJaT78z-2#ym2lqOG>hV{@XE2DrrxN74my=f8MAg8Pw@I^QK1_j6>7dD&>nJfi`N?V#I_i-2Kwxgh|$g*6Ij zne(!ORidZmZ^rR^>hS8sD8?lE-a>8pYnC%y7iR{(?G)0EdfszT3I}QX)5eIwH6@B$ zqksMYJ(l$N*!2`_Hew<_-&;Z1Z!hIGyI?&n{S^^~eY^FMN=af$nq!3+g z2O*+Z%o#0Zs^&R>Ai%Aja}e3u)|l}0x0bRqv|cptL!UuVq-X=4V96*lu@E6D2 zUUNE+Eq)xc8!zwh!&pRs$|sPqiGUCNH7NgBB+3K zW4s#!hm6a%(+_W6T3yiqYVdYUlp)%BsIt7DKMlS3#CF)it10Pk0)WMUNDvIQ)oh~s0kZ>cYO z|Cxvn_Y)!VPFtLCiv+Mbs;^3SoI89bknJa0g?7$E@Bvn|wAU>FC8|NeWEbDxP~`a& zEYwSeX?mQLtj$O>$pV%;q6x7H-36I6P0GR2$ZEeaj(2S)NjgPbHg>n$il&VYmu zjW5XI+?9lCK+-Eld6d?_l%Sy}CRE=6_v{P?%PXuI#T(+&2ud3*GH@+sHa z%`Pl?11ns7r!A9$Fr~*F;8vH2Kuu4DzTAx=6&|MyI;8J$=Xp0gno`I?eK{iqZMr2L z{fhnLC6KkKB82VR6G)A;ezXYQEsI90${A4LNRd~&zA0pO-(;%L2Am9Uw!@z<@{V`3`D?3}%Znl-z1g-p{BOZhPC1!qxBxa(XI@Te!Ty6r5 zh3!YwR^%|<6)puYncBIvu=}XyV29EUX^OSw?_I&K(kG+#WFwA*8^5D`Imj+&1n%>; zQL)<05O*>7^W-OJx?TvWvpZ}lKs!R83s-aXpcxvcY#PMNV`1vk@bUklE+(P;ul9}V4%PEo!S#*;52RZ2>LlSwbP7-qjov=_`a#2 zn4O2dLbL>*OADuqMGN|$wP&X$-(IW}YPWx;-zSXGz2p}q`b*7_#Cfu=rwFU8GsEwa zsu<8ZI->*?W7>1*#D-@OxU1MCJ)FyqOn5={%i8}CLZeSxWJ`Dg8e`^zTs}wu#L=EY z&?P_$(A+G6cyWU!Un8{MofZ@X{tXR0*_4*`@>A`ei9zHa4*aL{Nbd zv{q?F`4K%u|K~!GHZp>@12?$RekkATyX=5!zDhELAy){OpPX!U%BY_BA(#cty;kN* zx*j1jO26SIc>Qf&dwC5r{D;j3Q1Y2rB@$r2`@XWC;!6r~%(G$Fkh5o*`!P zlHcJR8eVB~BHcYZulpNsgd8^7#1pLU^dKOK{ui)_{=j7^+o5{vxhakmg@p=I+IrKN zIcGV2qsos}MywtK;fueQrV|qr1=4t}$=B9js6lan0o)=LBVJDS1PLg%XpMHa7<4$shpv9p`Ua?cV#_=3dH(BrRhc$FPk;aXt_1`YNaHV0!azX8j`GGO@g)+6d;HyG@w(O1 zAYOm+muTlTgLD3i&T>-k?em0|a94b**~NTy;<&)djJgL8Sd2MAm11n$_d};vpD^%B z$;pV-^sDAc9BHeWs4pNMuU&7W=hM8DTBZ*@;VbYcZ_RXPp+zB@?LF1jJin_ub&WL{ zAVtb!J#(!rdd!i(2a}kcyR{N@Pu?|`lF^U9jbTrw|)$AgOvA z`*V~BDkwg}57tRiJ!&gg-}zW9B$xezX=g;6*yxdXP-~v0g@xDnH&dnn%E{3AGKHOh zmnXEKlq(enJS zJ?Q(avdFQ51LN@@-_S%}rmpjSEp8fp9cJ#H(;M!Vu$IzzC(i(Ohe>u*h9IDs_)CKS zYA5-YO4d`P8ohWJ?dg2X9WU!rp1P(dL_qw#~4o+`7D zTMxW^5x07UR?;qDYRbw>&Ic$2X?`1O4^GqD5I0)e{(PHMeZS%Oug4};Nz0u)>$BJ2 za0fr*ELZ(_Uu5{GXD7VCEeR(nIH1NP%J8B1v3vO*P=-P#aVfsHSZqj6_vFX}^vsFd z=lGiQcYRS-8A)iJQ$Nk3LCA;n7BuEGCIjIa{d-lP{Qu{WA*_JIdV*gv_NR&-;B%F{hqGgE z9`S72{*Rl&e?M%3B*Wn@A&&WhG5&(F3RG(PyOK{5=xl%ct;gOUts*|XkIk4gkD)++z+iKx28(Z__v zxS4Iv*9ve0eX}g7vkEjqy6Lra*85q~-9c&zz=>P?cblyBDq8fWCNjPfquEMmOPJoj zyQzVJaPw0nyl0;fmi0XiL-Dd~M!W%AsZpnJ`iIWU$nJqGyv;+9!L}Vm6#gz%1Xd{@ z9NV(ji4T7}(ZIp4c$umI=pkw7nZ7qjtUej;VLf=)KN`HEs|}tPB=nT)AtS%8M0_YowF; z--DLtJ)po=r}oGpc82#8pZuq+BiW8u`r5hJ64|Z$u7Mc^nNhSV!Z6A6YceU$rVJxG zQB7ecy&|5EbGOKwWu@T#BjWH|DW^@Tgv$eewg)Zva5Af|Ks?Ft`!V~^avL22|Btg( z`J5t?_&_-Cg~lV`=+T%uovc;`PN9`fI%bD~QVq}k3n2j&u>ny?3wC!&jq{ZSApK1v zP%bJ>W4rYP4@8YN9St$GiRU_k8$thPPyXlhE8K<3Ksdy;CD!5arIkSeI$>f!iJA)* zu!E^~GWkUHq`{I|6Cta*%???WmD~MccJ@Hls_^8&-8TemQGT)^($!*k_lpjT5(t4` zf0T}L^mve)$Vmlk`OF!XIl`*YqiE0)p|q$YMxb(grUBz~j=R$&0j3f)fzYv}f*shKvXSP`Mq=euo z=?w`lmIMZ^^gk^S*7fJ(C45BV9t$5Xo0~!(nllyn_Er2YS=8qiE5?%9_P#s&zYAMm zLz^OyZqw$U8?T>*eK=tY3k>XP(rx*I+w5Ei{NJ;>vA zf7C5B;d||P=6!$+M64^u?b2gBZXb~g%h!`y=(Pu}H9o=76A!CohWTc-z!z@ezd=aV z93^CreR`5x=rWBKQ+Z0&eP~_Ps4=T51#gE*;tR!fk%}N|>CTRmYS!xmkILCQe$OzG znA}*gf2E+PP6Vz>0i|4mPhKs(j*v6_^tN|Hp!=y=rhQNP(6Q8tEwOOX2VEpZLrsDt)DVn1j`KKu;{(lsaDOQ&qe!=lanlB?JF?UcZ$wiUFve zXYUhqtaWU?E-UEo8~MdrwxECRH;N4YW#nl+-|! z0TQ_r6nXb8g~yB!i0jxep}YIe0w=GpiU6PiIufp--WQMNBbh^7RxoSM8~ZT3alD)x z=9|QK3~D&<$57-#84VFF!jQH6;A`e=(S6ik-r&l7AK%(wK=%lALw%3o2}Xt(5i1uQ zxZ|sQ@izH-!w+n=S8=X3u_d}?YIYdfY4ZXgW_2m0j_jtUrbZzmuBW7$Pg(z?F_zP+ z3caNC1&(;t-EqufmoBqYVTjj@S%MY@u49mZZD`BO{wy@O#NCfoD3=LPPB9z_d&nAe zc9Eoo001{YWCDwR`p|br68_u>Cy?X%fs}{`?>=eF%+EIM(SF(!JmuNy1PCQvX!rZ~ zybS(5wg@O!QI7!ln%~gL(ed~T;B?}1!M9}O?$cRv`j7S!Xh+Xs0m*-j3y*`u`V16K zE3vPO3C7?wh=?o|()N~lg|rz4>5v)^{PQ*!uqo4jAdFO?Yzd3Zpo3wu+e1Z=$K zq`s-zVbtf&VP4zHLY#)1F5jMt(a=XbifOwj@G4(u!P(xC;kqk7TH#-8=w|Xx_!$fG zpK3JAaGpBt@bf2x=j7Plqc?2reri7St&)LzY*ms7Zc6X)?b3-nOYD|&?h$;f$M|DL z0G+-2HUvc@ko8wJS`aM69jD|IECcb*S3;UCed+oQNEHk9&ic`+RKg_t_9agCu2`xj z-mW7AxcZkfblE*gkYR(ypvPb&breW;Boh<$`3DwP(M^H@wG)FV9#YzH7wZ0MlLFWP zjv|YufVBH#$UFUxuY9UbF6FmB**2Xs@IO4elS${`E z+;;Il`q*``VVZ>U4VTh^@Am>3n5PmbI%@vpW4YJ5Rj=GKkH-x&9$-Brm}b^eghgIJ zUQ*brXMm(}d0#`+PS-u7d`MyMOdv_yTL{;20JBfl=x@8tvY~pGAQ%ayqid9byz#~t z#ryjy3QCq7c1g3e@`?9zT1zt?ZI5+T?Ge2%iP?ux`WCX- z>+Dn~dW%0!#?KZNWAVMkqC#`Wn5Ae5saaM^6SbnqF#m+n$gs(9jMrR+*6@?jCN*1y zs*?JxHpO%z2km&ZK7$Z{*|I4gHJiwvu#VYI!?!pg*=ouBApnl82BiT6TdnBneROEv6uRimsX zCfFoh-Uk7zvSqNXDYXaaC{d(x0p~ zJj#AN$>A8m{XXUHVEjVWTuVy$l0%GU{_d5hdRq{j9mi?BW?NF`rf76GWAfYnP zAFhsp$Qt4?7b>9~{+EqHew)M%kN4yER}`Q2N?EQj=IOB1oTy^krpv_UaxzkrbJ2e< z-^j-oy&jEuA={pxABa4W^^aL0i=g0(>Wz48Oo`r)TwaBDJmT&V-*u5WT7lYqPzB;q zVE}E3p8_~Rs{kmZpNb4%igjANFB93SSV;W~VjR0+RNG05R{hqx#ANoHNFrcwCNYk3 z65GLsSO}f={27SJ>am&FH5m(v3>r1fkDhK=#%F@96%sj|2@YwMPmWVXdtygB-|V@j z8ols@A6oI;m$-~>bvCb_oz7ze+g^xPLV zA}ZL}cqef-W*$K0uV)@De3lJhzdl-6T1KkFN6?HYVHb9g>6M~&Lf^;jx2NUqFn`S= zV#93qe#|xAQq@wx?Sc}*a4F?i{6&;wzs)hXzV&_- zi*6mBa*m}zjtk?S(PgP82+=A^Zu~(nHX@tm-wJkQ4M$iczNH6sN?xyQG!iLEY-n!Q z_7PIECLRcwW>idl?hYJukq;iR0k@TN^kgT5?@NUvZ@ZK5f&rAJasHz)WH2niVu#tOLp8x> zMQh*E>^Q?@TM=*f0Lq3(v`C~W9?|R##Thc&;*7^&!oHw$$$*|eZtFLdUDD`@On!RU ziAf2Lpv|_HSkz|{s)8XLkk(_Q|u8_;Sz?%p4QQNAsgBl7zm+uU;-h30f07OYenx(h&=oc)=SSSU8`tCgTY6f#itUtSP!MWZvBv8>^q6y&}0a zr1{l`2)x4QT~|pVsOqU>8(zd%6JLvaL}8E3rG_H(2Wo-ZO-{w4@)g!|ygXSQF0f^s zWu%@<|3|ZC@OZ{_Z&Gu>iF&{OB@ z%#dWQKrY9Pmps9sXkwQcQ_^ZNqI3*?;woCP*+fAtzPO1#ucP>^7Td8;QpG?)X^t`V z&p-Y#9_4MK9Z+2Rw+j@$Dx#U$E*+c90HMs-rTa@i@!*BB&p*)}h|G}58Gx>>&ZEW? zYN3(zjjYI+wlRr6+cA9HWngDnawasjq*R9YM!Ajy;^%a?;>)s!G zZp4BV`2#Xg+I7yqtAVnQ)!uIg>%J|wWInFJS5y7j=hB!JKw1}+EP61dW1A8hc#ne{ z%auuUM=N@*`4Aqt`~#7g5!CGtFgRX3lhDopk)|zrtu|-p7(-Eny`PP8FVCL{T})9F zP}VNlWc_K7Wtx?I(Az5b>?xJAVCV0!c%^NpqWH`__4(JqOd`%kuemKImfQxM3MZlt zdRm=YzQ(*NtXp_yx0;}RVk=*JwihHO(9S0iP}k4T&PI^ZIMheQ{-7cU|8~BTIC};b z5-2x9&+ozq>3WC!1J;@Dq&BSt6F@{_W$d0%$j(MOe(>0!p7T5tz@e*^2*E=HfAaJm z{yE!y79|kF}6SBI8rM1KeY5Z@RL3nDp=brid9ObeO4Q2aP58 ztmUNJ@@JXwd8%cZy}sKD`gP1Fp4;s%B|xejaQYn6t0+-2w+;)&!EDW^qa)$3qR{ts zwOzz~Z~?hKvU%|p*5;*$73X@N1vf9&3EoM<1?nv%;g%9sl>R-q#g628wk|in$kqU$ zCyvMJ<#IsQBdw@6Ruxt7mb+phqGPR3sk4-cWz0j* z4wT;XQ&v(|Bt9R6g@zAD?Fq(WY)km;R`wAkk{S6xX5vAo9?lCRN*$&`oFE=q`(=$a zC;s9bR@jy_QcrB4s#E%1eqCD14`IcpfOAMqfcm)8M=i?cbSzqQI2k>FV1qpyusEBtD^ zzV|V7{(W*vOTqn}2%v;W2F`lvZ@#92Gzk~`1EcN3FO3m#QXN6ok{-e8 z|D;P0zpmFv(LF+`uQlDx(Pg@hYPI%1Tk8k|30(8eWNIbH;U2SG_j9teUJBoR3xIzR zK(_HCcZkCA>?b|ZK26I-VEF)`uc*k}9;#kSh@;(2Mc-4ux81>GmgTL|Efm@IL_s)@ zjrKY17`{_9_+^0H82IfT@jrJW^o>CL{0ezx&S>yi)@KpxV3=6M^=vDszE^_=&totQ z`GaPZBW+E?kVp@MmX94`YYJM*GLi(<7fahtYA*J_rST1ob%Z-Dg&quwV<2*W4dSpk zvaN9_+~IVRx9SvHa;_7YB`GreBGDHJ-!FDAUQ8AqRufAYp6s?>vxCBUJ{&m3B{{?; zRe5L3)1)BHlVk+D5Tr(3a7Mhgt3S;F=Z|-R3k$s|9WGxfqp11qmV>iyPYO3XU~~ z$)DkMQ0$Oit1z}<;nzpc)`-%ahD#sN+a?iWitVamD1ms1yK;St)eBSIA!N9y^lk$@ z!L4i_Af4|gGwW4QRt^meiXsG*jiU~I6Ymm+bLjr#Wk}JYp7^GVc~g1in+?ROrhIWd z|IV8^^(JiwoS4zLFGC##Vf%~bx|#CU<4TFj;@oCw{)J~xM&p$$73eM&^cu4ec@)wp z`%a^?W_`8;PtegyM{dQ{An%|-g1M{QwYOKS6X8y?pDjVql16GI69MnOX-jV-^lIogoOBL#;qThb1m@3MR2c|@u zsvdSGm`AuKIq{gj<-`-`vi@_aTKGCR0%AAiO2R+DgX8`y`yo$bJQ_2vjdE6mYPsSO zFOYr@(LFMvb6ER8wE=R&!!R=LW@5?32wCr#>JF9c+T{+Bfml6RWe6;!@;c}&KQQ*g zZ#l=vJ|`DMB42}@KvAFnu|XIuNR31se+Rikllj^9UAIoqHJ*sP(PI#11E>Nt!?Sr< zB|24!z2T-8*fsz)=`{6&Iev1(T zw+uLYgHB>wqrb+nvq7V@?^246B>DS#H8Nz{9OnYHjS5D zz0CD0EQHDk8Y2XeZ5NgSHo7|E-ndTSzDgVhE;-2pP`aL|U-bAb#*}W?MeYJs3FIJz zVhi{IJY`7LSRfQ&hUkfPV zoes*?R|N74O|~RVtFgz?#T{&5;S2I*G6HKOMd*gNA_i+u1It(YD{SY3vXk( zWc1`#Ztz@7q-(c|NF8F^`w50J+Iv359})R46ZT-m#DaPpIs}rr-uk((jP`^QzwbbS zZ`|)tcP}%AE{KJ=QA#TZ%IK%>?FdH&Kp8&7^X-bacstx3Bb{mwq_W8gW1e8$&1->D z?zZ1W5F0Wt4K>rDmpwjC#)3b0*T+v8_$AO9+Z}6{brt;PUFMPmp0H#7olureQcb1I z<9$$J>O+ve{w&X_r?dQ(TJJCqQh=q~i~M34H|#kBOVe*}lG4)SO$=1B*tGa;T%GZG zI=4$5M{=S7DApW6$i<=`yYiivZS&@H%99=C#3xSLq;9!i|8$ zR{ZB8|-jI6-1x524KX3#xz6yD{McdKGyG|v&N`V6? zf8f1MCVJ)jxJB7F2tjB2vmO{i>Hm19wL6v-RWX#^pO(8^y7gN^hN%Ise|5ks*9f3!I4oEj5dz*2eHE!;g|=BIX+>y=qqX& zt83JWwBc!>3lk}ltqGIeqhzBSm4pJ%Z;H)+`IquE>c>C;r2_l=xI{iZrP23dc2xY) zWZ@#u4CclFyuGD`xGO|}(yTZW{Mz(b&@sTS7C11) z3nCH{!zqf)Z9Y+ou^5i#MA4Qey`p9d>92+hO#-M2;`^k}HnePRHCd49s8;a0dPgQD z;`Esb0Cm8?m|FGRBVR&r=&U$bYI7ms6#>28upe*1^f=6_^gcF$uBd9*BOW7BYA^$- z6g^7vk^(f7)A?w?eLV3UXU~|ZTx6*&Uqgw!w&h}*8j<$|_4N|Q^h%6^CJ)Eupb5b@ zBpKp8qo^@F@(TOR&!sY`T^I;H6Q&2NVwF1!c zB7n0Q1)wukNk7_rT8|dP)E+2A6|CY{mPGob-6|pl;%&daz1{#~;Al0l=Y(VQ}7(A_NaqzgNW83*kfJ0U!={h^ko0zX5$ zI&)J4fhuR)RzZi}T3fGfN!>(ciw$djo@jS0GXC^6*xu^Zw_ghFJd%rKe;)QmupPMV zNAX<$F$sGx-Jk09F5QS_) z?6q+V@i^t+Uf_8oLM<_W?z`?Ui<{T5Pl9Fks=ZS=SkspX5~o60lfN^~9)@lFv3Y{` zcRH33fy%)wwJqhdgFogTC^Epvq|ZaCBbmdbxUMeY{ss#FE63J~PfBF8N_sO*MyBBo z!Y27&mKg>C{h9dc(ZI32BRojQp42arpDXsR=iPUEyg%4kpOA6$FvXUCw02Kh??^<> z>z^hqS;CgK(AJSU7^4McY!<~8tf65O-T;ybO%rm>Ut*051!Id;8w)dz+J!^c(eO7NFBUy zk@lr(Ue6L4;MOF*-VwL%`xv@pnN}Nw|CdMj-PIz8bZ3Q_%fkCP?dl^@UTaeX@@=V; z0SPR;l`H++Iyql@kS~sC!+-%9IEI?-K+iGyaUyq``RueAs>qKF!UK=BY=$x4{|@~G z(irpCzyh_g|93eU-hzWk3q;Ze1X7p-nW<#8s7-&)YdJ3V|CXp<+_wcM)t*o#f6&<; zJf=y?8_$e`_(`wK|3LYQ6Pvb+yW-0_@d!YF!B=1p7>EmP*vyK zlE(k-?!?-xVA!cK-nXn_6RT zOFqPU+O0PbtZyL-wweioM+@%}(a?Rs4U=|9v-I5Y61C|!q4_$Gi_3Rg|&hF>ZCzrun7)Y}vKh%Ck3XhzBAcco4crmW?sR z%KYV9ZQM^aug-7c?tWPoTO?W8LB+P_!u ziT~yL1O&0|A_MyBYeFQL9pw<@VTc>?-^4`@sUz=%+^^jR(J)!YbXqisI8@)8lqKy& z2GW4JRfBbZe$Lp=>swn71IQ)P5mZO3RrJ7{weT{RTcMfC$q~HlPF9-%qsK&8#Oq4> zV2sqSFf1)g;`s>&UKm>WYXZW?&!kcv^WGI8BI%;o zc)cg4g13f>1McRe!0-dS)KIFNaEfY2@K31#z2L`__Z5LZZot_Qq}-T-fYyNISxrYa zqS0{affzZ&s%g=y;@^6@qM)EIIg(=A6eNvO*Mz;OBTkrrg}CCK@}cyGxjG=xqNvb+ zY!f?RTq^`{R_CfB^wzyXHW3+Gii6Vc6d~Iu^GeQau-8U^!w72U47|w)`Ce!~nSfkD z+q%Wo|49xs0zn=hJZgEa$X@b@8*u2xm7ppLdq+a}39+rQUAruEd(_&qx1ZW+t?WK9 z5$}djz~%e2xA2``%NQWI%u~Hu-!e!Z7+Kg(`m83zy8?hK7)!9 zE5sCN16%K$e{C_A;kH%T)w3IEVBZqG+~H#kgf>>SfX zXG;&lWu$Nc$3EJv_uOlXWBH_|FN~erbc$augW@mImc*lYH{Q)-BATKYhxCCcfkTXe z&&^uY8jg`Y3hjy`x_W03FG#~7<_aJ1CP1`A1{+B~u)BtJSY?+p&~PY%Y7CIs45^!5ib-l+zZzWz3T}f^5IiNVMOhuzby|8UGUGFURf(r?{2DBgiLQ> zuw|z&pDZatSV#rDTwXhaU?>nN@Hj2zLGTP`K5Iw@u*V(2KE!iErv1^_asKgI zU8{%8hT~&9?BSt*rx_T^yb?MS7Oaee@*! zo|R{cV*TlRTI;#0QsJA%rKH!2kWXL-CU&gsoE!v&4g_J5hyGLL7kf58nQuQ_P5*xc zjez8AzhZkBF&Afry3L>pzwn@4Z#hSnUA+^aAhh6eMVm;QFI!HO(IG=)-e zXMYM@#9Pw-h)mI+ATlf!Ig!qXRW?m*zDG7>_K064-xU4<15y6;JWU zG*5xU`tPcvZ<(ka4H%_abd%yP)(hhOuCf-`@N0tceY~OH>BczT;(ou~5gz|s?iH+o zz3@k~^Wc#2e%Tg33wqR1^=^{Y!__o_uK+C?=@pJGVzR1 z=@w$}qBk|bXAABs=k?(Xt&ZjXdr^)r+|`Ax7|HqXbLkI3moE+%3;(mN!yv?<{ug2& z1-{kud=`~)+eXTk24F4#cnp<}s3pM0>_Z0$m_3Z?32+9oY%Q7f|M^w{1QOk-0NV%X zmKiP?5WN-*df^|#pB-0OkB&b}TtX>T4tGlUb*pCF!Ll364^3Esx`sDmOIrW6@M2XY zpRQ{>R_q0BZhA%G#7It2v&M9YxDQ`}!7UdZWphk%qe=z{>isrZ<6urvN%!Ag11t|8 z8-}`~^rv-jw5hS;6M|W>};Gq5=Cx7f16MbY||CO64Gec|pt8_R2O8h^rNEt~M z4HE@{{Kx3cceHKscps~Gd}ymo@Mh*zi+hwn5h@ypIrNqPeKuuYlzCITo53W&T*gqmOu8vQ zc7EkSVE69sWI4FRH~?_r1`&@*Wy$SET5K8d(c#=rkF~0*XRu)oixd(3P3na z7NwaDfGGXf&{#m^KQ=i?iqL)1h_aflDM?+1xNYN$LI3@j9T(z{!%@2VnZ3jq<#PJ} zX9?Wmcs3(JG4IpVEarNhz{liBa!)Pj3qr0Sw9ty#^8Y?U_z? zaH>SCH^$^a*0=sbr%ZD(1fua)Dnc76mHA~sr9&AA052V3rHKz?Hrdv z4cW&Y`sf+{A{WH!q5Ioolw~Uo(rQ-`@*rN0BwVqINw>YP=j&+FQ-m1s+!zD*W)W<* zG)s2nq>G=Ok4sh<3JP0As8%MWLz^q8bhz{f+PQ@jeYBsi6ge8-dOCjOo7xDVVW^#= zz+c^=LW|;qyrFR~8t=$Rp1z}J9v0L1w2r^t*M=;&V=rw^XASX@b~6`(mEy}XWm2NL=^0S zUET`0^VEiJGVgU>OjRs!phR`&g@60;Hp8CPD0PpFmPjdYdnroUiihvzqX2h9(e5a| zk>x%MSl<=wwWLUwpoN?rTVa-xC1oa%DG#^>S&!sAOG!r;&-|S_Fe`_mv9XKpf1)%7S^2Ql ztepOekW};A7xvA1r0X0OpAdVbYz!UxXY=`7mng}ZutR$h+K8fO2P3)M1i(0 zeP^(jp05M}P(IIPHNVUFNqp|_h!#``kJ&`cM5xHA#eoIibYFdA;D4qHBlBXCxZw$g z8eA3SOA$qe3L;5Cuy~K($zC{#n_qW77O$fMf*ylI1fImX^0LP&h%?&7H1yfLI0L@3 z_gZNHHHr`+;4%_mgFm1-&BAbne3uQ8db}6D;}x;9jf9iC^GFDJwRk5j4l&hvd<1`f z!cKERpfu$6#-=S?lNb&6-x5HpPtm|zm`y!G3Aj!NHN2|rgft+OqoOhMRsxbvhO4Rq zjURZzSMx7v=3;)khQ|7r7`(j<&pHZ0#@yk1VpF@!j$`C^QZmTYdVzO$|Cq`yGILop zZ{9uvT>@Cufp;IPc~jZj+L4mEK#g%hgoQjF&V8;II1P&YY|Kb|j`-O%)yB zQ94^iEOXg3BC7BwrO!tHTKZQUILS0l(m7-v?2^adKDdfQ1w>KFFW3T@areQQ(2HIE z82#&_)GdGM4b+etk&2v2VV)5}41{5#VxH$daVbN^(O)5qXI-}Oi%p{|pJj*|8@$PD z(n0l;_I2n9yr2`muj(;MNa-3-m2Id{c2A-Eg?9OD0ufU3ttXx2W%gFd?jK56@5e0{ zRYL;@79+aH*KhAbe=~T&7~^%WKK`YA!l2V)oAv~g3j+rRUiNYlU{DR`l81fq>K^Eo z6yx2n>vR}Vl?4MiQWYIryB@t;zYKoHt%iHr(&RzLbv`o+i~@aQ<*n*U!?Q?9!4%{3 zWO=*~oFyZB0n_ae$rLdUQ}`oA>JSb1pw~9u=Uh{Es1FiA?!Tc6-ZmU~&apXr;i z{r14Fyz4{P1RW7dnhqN9MyrsVtIsF&%(r`u?W#^ExTpAr*5t6!rcY+KhFJ)&<);z) z@2!BVLzH~(@`76o!+dq0=F#&pqT;*a5JOASg)8AwfeWk_EcmU@bg^svYw*NVBn??f z(3tYkbe0+#+uO-!O;b|4U4T;;CAfc>QYJxRKMQeR%&<~w zOuQ+EC$sJ_N0h0K8+^YJNIa~#MXG%55wAn}Kxr_!0LZ6`;IOq10$|K`Yt0$~#fI}E zm8|Bp*vd8O@)paV!MMU8-78EIkqMgi(W8N}4d1&Xxoow?AY*DsL{M(aii7Fen9Al| zyRz~1R!bD<`J?Nrmd|t9@k=Vm+3}T%#8)hJjzIQx%gA%II!+B&{bOe)WB9Y-Kp@si z@qs+(@MVH%Wi6KPcVP?I>r$Sb27H0bS605aMUPFJUwx)xLdM zKzUE`SGPX#fLQ%=!w9;Uq}mCOe<5rh@y<*Mdd+lCi$r>g?T3;2|jff#7)PnSL|gn?9Vq`*=Ju*y5)Muxv|Rla-Ln)Fp4vc zmDWmVrL^TW)v%lpmQYe|Go^@QOMvrgZRwH_m0qe=;eM+sa`t|-mgKjC;HzzZM}e^q z&-6T06d1nYptUQh-eWN?dU(7$>_L3(T0)l%9Z8htW?dz>UG+8sdAO!iohEAiz(Pe^ zui3{{6`;sdYfD_^Yre~!M&#daxBW_x;fk8Y#Aj43W3Dz5Dl|j>D0}-p!E}zD#Gz;I z_9T*C`A8rMW*3P5C+)t!n6^>_ffsNB2*Ty_Olp|zsh8BUt(Ww&wdY4NT$e0hk69t3 z*E1RJ0Dj6Z-oL@s=(jza^j$p#$*0&u*0wBM`(>%KKEEP1Vx~2@h4M_mv9tUso%_^k zi^rq1DtXX&vmfpwyJ6iC*N}@$2F&XzUi4dEqG(ht)=nhIo|)`n`^6)JrBE3Bf+&8u zpT_4vqIGH(AeEmy^8TjNy z$u9~R8H8O4^VievH~f{OxJN4s8@gXPs{i;ks+BgGqeGq#FLHI23TCm^a`P3hhww@T zD&Oi&MIE+Zxrh0lzV}^SbADZCN{{mW9;;}v5*}eF@F-wkVnqK!T|W_Jp9WIXViN>) zX)1`BR9aOWP2=V~BWe?{&A~%rAM$?`QTKic-4L=#Qv9h=jEWB})lS9}d z-^K{z+Y`5}+v5}S1W=;xuL#rW`?`Xd4y>-P^;8+12*+rf4osai<)^f6uL;L|;`d}e zS1VBm-2!~)7E0Xia~QoJYG&8`AQva*83-<3t|SnXE8f#qd@1qNS1d(rrK zb-c$0Ccq9fWtAV}&BYWRb13_%`g!x_SUZRb?Y*Z4<>WaN zYhVOS1UIl%Bpj#xixbt~th+K+f_IJR(^r^4?&|uBX(-k_f!-ipG-t1};CmjPx9rYl zF!HN{CVRmS_s?6h1#*j6|9HiZ(oEM2_A142cB`j7F54?6M)ZG#ned_bHO0a-_vnib zu6Uj24?MEZcP|?H>drFY9XKuIN3F8Y0=>%UgroucUko=QN~}t*a^OsEQ;P-^fLEcy zqDoXFDEW%caJ6sWzY*c9>a}G^l7wmf7!sAYXuoWdS)M3aG}ugZYt@H`$yLug-Q~Ev zLBKjdE5~_}*`59?RJ`~jVUAy&N@3+_R;BuY8Z;YF>#U#)47j_o6aA3XBup|3iNmm$@Zc0stdfd{teWP0v=~OSRm( zHuJJS(bTCiqiJm}4M?n96Q#6U5J_v`R$=A?VJ;OeAY{{0YClrsDu0m2dHeiXA^zp` z++=ailjSlj;4+4z+cK)U+j6bC+hXqvqJ>4f4#{MD;>+pT{lK4ONeuTKZs0esQH|(3 zWVWl6RT%$qGZ+mL_-`0j7DYoJ{6!85;2U*Mika4PhhE==|G=?JTOHmr-nmC^9tM+N zLb=!S{M)OO%~%b@bV=(us_7X=er0~-zScfot?!cFJvEHCq^uxvdy`K3#xW**j_MwsO1`J2;CSq#7I6d)E(RQCu$!z-+P?VrRLhe zgwMFoO|}~v%2%@9LNtG^ieoILG9+}c3nF8)-BN7b2B8&aEd@|QG~*)5Ke#{3rt;a- zJ=vY3Pe+jlR?{F)Ab9`G!NXk0P<*_lsO5~JQg{AA;YCugwZ!<`Zx3+)iG6SY%lj5S zoyTgd)$Un|E8s}}x1s!4g+Qm+0ps@a)J)J>I?tX%K3tWg;2#-EAw#($71RH4lY6gw@Om_; zsP{z?m9q3ie#)9uSYkL^R;b9+v<1aa+-a^g{Qk+RsMMSq*${g%oDuJLG8R9c;wKPP z?Xc7JIDGfcuS6*!PRLo%*4nB-i?FiLP{}jF!23vG^-E;Xqu%Ow(bbi`i^DF)4eQkP zyO*4++KQa>o_7UX8$*_!X&HhnZ`~AcQ(!VN5=FeyZb{7tsA~hyXW2b zpA<-B|EVy_p4VKqsFeh}#^3kVnX&orJZElwu8NiEvw@PXT&TUU&Lv~Yyn6P!zk6bv z2vR&!<+vg-ThhHd#G`o(C@TS-#EWl^E_9hs(U`?1OI`jV3gMT)r>QGyWT1c%5B z-vJLy;gb}9DyxN2DA7htzmwxGFJC3vR2iZ&BT;-(Y{9LB;6R^8=-Tezrk+atO6EAd z5%_~(3h`9Id^`BYl37Ts{pjzV%beQp{R}#5hS0q`(clD+BnzJuZ2Q`T?LMTV{Y|)M zvY*?H^JNgtO~H`jr+7>*ciY86%lmJf-~oRR0#) z_SOsS8?JLIA8L5){ufHuK*x^!zLK%AoD!vW3Cb0Jeu47~PD^eB73EOs5614LPqX+| z&r<_t+F$81O&T-R5a!0?nQ3>X>_gnI=vMtz2im{0=_cRERSF~-rm9M8NVUk@ zT{imXuR$I;S_~E3A66PikFiH|Ys0Ra*1dQS&2Of_k#0K6(E2^GYwik|9>C4uK-yMFI10XPlI>K}8ca@v^ zcf&oEvOe`$Y#sR&z5Su|2QOCF_aO^%2c-1=ffc*}zE)X=2J91AEkmSiHN)>@CNvr) zcDbs?>TlTVMR1S%L{XbzXPMtKy{2~WNC&6r03BB92vv+g%+2vM=Lo?YwZYDH60Y+pvDJiooa0u40rt6}eDD{_9?u?J-fE9A%)A&vHq61RYzj$yw*}2t zgjrt@^rr!sxKxjZ9(dc4cIs_+vjsvsUd}OMmf9t(Qq?r7+eOug(op_CvC(DP$LmPa z=@}}w-Qv}%czuLYj5{TP^@MAGeNljWq~X`}+s!(UI@cPyj>G6@P@W@=0!t4gc21g- zYJVn5z3=rt9SxPRYEmAV_S=Co=m}*j&sewW1N=z{D`cAJ?I_Zaf-=1pB=HvkY2v@q8|BPd?BCJRN3&n^l{C>YJSdK^q>7)H zj~G8>*VKF1?qK-(T}939yS&Y0Npn}9Q4IEcblWa3rENcOJ~!dq|G^C9Xnwa_zA0GD za9_=)?6RihIOG*Kg$z3a1e`&wtskd!xs^9Fvy{(+)?jIWZ$mW2?x;G(p7I`i!n(Zu zntbk;gEH-`Bd6%Ng=E_Q95}l7XF-Lz;z8g?vZt#?=oHX7p>qSHL6E z_q=b{1m6jwTN#VwC3?7|!zXUGmwH>u3<6SLe9&}-X3FZS@aR82{ht5d?J?aVD+V#7 zN&HnytS|~6S>kH}_avgT3O_uy_PC_mYOz7F5fWK4gf?+UgH+GaI;_bErB?mT4BH}a z4_6q++Qip@lMXe8YFT7uRmzngIRn;)x&?DmN6)OSe_ z?qAIte>Ol0#G;-PMT~Wh7(DJ5q>rnAVsP)#)>^U`ixP~Q*AS!1 ze#||7JhsSD^LxV5Y19dMdbs3E=<8MEpY%AbEE@M;HAw8!30Ec<<0;|UU_!egRsY^w zi|PsrgONL|W+>#4Diz+ACILwt4vbY6ujN4Lm~)L)RxQYG`&j5Pts&)W?l`J{P;gW6 zRncwCXi}wT)#FF>(vqV70Q&u!jyFEKKn6zDZ|Rq~!|%yQ2W^I=>ZGF0$7<@UBi)`d zT_0TBo%-vkq>Z?n{E=(fPAu9#IB4;a9}rrDC5rp9M6kGQC%B&-bq`tRIv)Rls(Ex& z#R7kP0AM$u!mjBHInT}W&)CYxn7!Is!eWB*dL`@*7(B=PQfBJT<}zoFaEcu6qtE?i zgub{ylZela*+ZgFMW{KdzM)61-2LR5UR@~uP00DA&a>{6@;~+Ue(w6mAO#jf;WHuM z$aHtgiH6%9(zUjVv1m9E!v`Nx!<&4qlQAEE@(kCjZ}+(+205SK1}&f_3p%4don~>~ zvIKseG(R;vuHs}i4zy*YslXJ@tc>J5L6BW>rhul6;=#}L8Z@=QDAU(@sd1Hz0g;z2 z=&vyaAKcYO(ssNI!V}*yBYAkP+n@R*QuuAH)EsE?4Qt7&>P|`n2@^iT>J^rEVv@6m*(sVA zEM=jo-Ji#>$KcX;WpU)PVC^~2=Ix8%;1k&xeXMa`1TV)CKBiJkVX1wW!YyR0QBo!4 z^GG$u)v9C{Pk(brLWAJ@XAqjwr(ZTo#!vNTyl3V&sx`xA-;-F@3+90v!`mJ1r17}l zL#FKZ>P<8l|p)Thcv;{U)&WChPSuM3AP%oMQ38V__>Kzzw|EeT4Xu897GJ zxt(}Dn7hH|-10Y)TImI9Wg*BLZ~uzpCKmGENC$VJ^WcgbBH>bgJ6pQ~!{r;Nlx*zW zeyOOrhyXN)I$)T$#fV!Gbpw2Np71atSFLtCW39H`mb0-wrJV7On6I7y5oOGO<%)mo zes1m|Vdup=@uItChqXBS$#8T{g52wtIbwn151Br?SvOu~t)i}=rZbF=Whep*#?zKU zT9b;b0y9Fuytto;OiFM&zhL-kW<##LcjXEzK6oB)eTn<2NO@+jZgqUU8j$D7Z<#Gg zIGaX$k>iaLKP5@B!pB)R8X=t8g(#(L(LcX@h?`XZmh2viZ185&bsZ4!rUIiU{>qUu zYoo+ZG8J?hAL!xyELUT{v&i_Q!7#^M^u&q@K0cGErnCITA3_Q5afg$BOzbnQ+|*OH z{VPc|BA3*5Eu>~?ZE^s`z$W%bQK{`cZ7cK+1tjcRk(9%=K7qMh@iSaRv@^F;NBH*J z?KY?ld@l_X=PDU8cA>qq!6%p7={pjZ72FZuUq%$}KW9w{Ab24fXaC{_!GQ!A5?9*v zd<#uTS$H`#xil%BPow$*y%;47P4<@xp0^CgU0-spjQlyg$g-*MwcKN0`$SJ{p^C`| zH##OXkz7^rFqFwJL-9Aydzim+-c@m4nC-6K_}z3@@!797-=sr5`EFWtM;8!L)?zy< zkkUt=zG%#yc=ac*LA~xVJeDu)f3^<3EjHP3Zufd+)g*m`o8}YnsrI-&um(@&r9|x2 z_b5nGfI$CnkQCF!(hbx<69?Yqu0<%3rvYt?S`)l6Q#r(}QEh&}o+mI)RhUctGc1-zXVr=8}dKO5|fNp4|ov#vP0y-h^DFc%}_)( zGBowzKSw%NYz2B;PD^9D^S?3NJues)1>4fGyLY~Sr&Dl8Xiog>E|pG&339HeovC=> zi^A-9-iQ5`#&dW{{>5~=gh_Ni|DQkF8E@lftQcQ>^+0>>8|Y+ z8ZW5ac%!o)ufP8hE_|^IpGmq&I*nyWka;3*c-!I(9`9lguN zshL1v?~=!_$wxAMNS|^3ER*&sx4Np} zl~Du?NCm;?LB=;^R(f4AZx?Rhi>glz_Ce5K)FMeM@(z`FcxllyZ@TK~drNNP_Lsh4C(|8nFeOgmc=WCtvdrvs*(MjAT$h zvDWDRlwGvgh!AKq;)$N{9<6s^(H0v(>38dB;K~A5;m$bl4!V$gtnGOl0?pEs$STq4 z5SnvIG&4NENba>UF4fb<1O3~PB#cIaS-kq`X{pYA!}&3LDPEKF~$oCs*UF1oWczq&)I zQn_F|^l{nb+M!!7m`rZIeL6>Tgv@3b(EQY`@&+Zy-g5u~`kQ7ZUUW9G?{ z+Y?>VRGqu;A=23(u#=&{&F&zWiQ&1xtq9?#uL{TvkOuD9DxjtTIt+{Dv9_qEFsg%Jr zg)Re!7_jNJpo+h-tiv2^7D=q14nX_HsDmngU|gjB(qAm?WIVF4L?0PvI+w_CkNW`B ze$5UH-LEc;<(`Wx9y0;18^q;6JGXHrLW-YE2)e=e3e3=7OI_vTg~TJ+o}{L>GE8|l z`>_ed?B5Ihj3*Js$KJ*lrz0`(#s9u)Su|+$vo@GJdxQH48$n4_zQ`rZAQmEg3BfWQ zm=!8Q9OosXh@{nvtSAjx3G8Qe0Z7gCZHbINV20ocJYXx z7vxP1boFKr2W9yV*CfeIrbZhu@!1wR{{lx~0Das{wv=me@qP>_=bFCeEO#m0_{cD2 zWA?Kp)`+RFu-An(a`)VFI1&@m+nZxi@Ybm7Vsur$X?Et=H(E-X3ItBH4M#NEU6TME zhO_}rE{B_gz=jWj6M5>0ugsG%|KY8^Qr!B`;|IC7`4B}%hna_I1)1dWQqud^J6F>Qz<#Lyz@b-kx`yH^AqS*(>G1KppQG zJf&|$jPNPHjkDIBWlBL*)tj-d_9HonWkfV*P?UPr@)Wn){6?i|8bF$Bkw9kI)=y z5QN<@I_z>U6i9&{gcdXmnS=;nD=x>ll$5I`*O+&~W_HFuIwHOnhB*>zkSsRmJ$G@J znSM?O_xCBgfX;JztwrTJtmkd=?P!o)63AcevKW29brb)7I@v~onqn~7ddpb%5<*7_ z^eFuI&s{RY0^%R+KBzV@iaj_Xbx02#FuV9FA!a@kw3#iu?2jb^`XqXO*^`}cf0Rbes z=Z72n6HF;ak4e8=r6Bc&@jzB+Q#0E=M-UVzZ?;0aANHBa=s3fKTl8NPzABqDFtcC5 zrO9(Y1SeubSQAk`V}70Y2toLv??bs9BSm$w3T8Li4WLfr1!sTYGcy$;#^hp)KMN@D z;*?b|>WUUDj$`j=N*X@&A6O)^^B0?j>T~*Pq zPVqMGZy&tqRsKHKh2LD2%=XR9trsa$RM!2(S9AuS3#iQH;bERkNjQt_Fe{L`+IM?T z!lw}W=RO10Kvy*3S~H4O?N(#7cg(k;_zA(mJqjI4pB6LXQWP`181|++D}|uaig`5v zDa~^p^z^%dTpHESKoTrikt%>g;D~4zLP~2E5-`v_XtCUyT8LOhg!>z__|C840qGBA z`-^L8lfR^^OZf&FK0k7%|8+%SC@@NDFzj`#Lj+L*}{<7BL5CYm3UmE}!)p3yc z8sgw*jgzB|bhz^$lPLS&*==6AUoH6%77XIG&sCSk=3v8Pqa;ZYsM$Fd_%c%9^GpBT zX&mLzJk-Ar!kei!2G)VaIztx0b#;=TNj9d9g^EIK&hEFNU*;%db@N<6PFr-kIqxgs zJPp<#_`FSh&C@@+=9{Uikm;j-;y}*IWDNg-!3ex~#~f==eJ&z4sK;0f$C+he)xF^R zRV%Tk!l`p}+ahcCq#L*fkE-=pBjx4%yv^`)#s`BCo|rH8l6ae@eCHE(YSzZy2r8JUGGEhk{W z!g|YLbM1IWK?Rjoo7tJKh3v4i;$@>&iwSK*^KVk(`iSX%w;KoaTlX4EWOM>?cb+%2 zG}1xPk7$`@Z@YDE=H@-D!5Kq%)XYuKgPCsPN2f&j?(;=mQ8yQLad>BX1fl-!^B9jM z|H~_O`h?ncPpvDSgi!r$$;a^II+&u?}L?7sIin z2n&Yk+Lt%W6%(*y*4WvrKd3ck;%)od(nd-^b#QTmC`n=IqG}d8bwLqt+ay!|^@GGG zUQnv`U_!s<=s4%s0yvhDdjhQO1>sN3%6he9TjsTb^A8&5f7Uckj8vo2xxeVv&3#+GN)k3>mnXPq3x?3i-nP^mR0mOfT40@TK)t%6gXCUZnh0BCT}u-E+I0wv2mC)ZrobvaF*M(Q7l!oD#>T zK%!zqYoKYim8RU`SqNp?1r(V5T9_PF`@nvz38y+vi2BSIQNE{BIpt1QO48)LJ%0@R zibUV@Bt3M0q3pLLu1b6ju5_Wp7Twg((EGWr!6X$PwgKc+LW-d0d_-l2PH^Rz*?HN) zi-)dg zFc+ytJPyL5MBe^%E;U}=+Y%D^)2XL1g>IZQ2~#-x(~_q4SG~Z8^hbf7T|Jgn8%G7B zP(-5{7wa@5ertQMan>c@g(-K(JAq)9?o&UhQP3M?da&8wQP#|w1DQ;;s$E@?H4qEOI$NwiR64ygE3rkLg7^}p`mRopDoX;j(}8+s0stZ9T>I zjWBYyLNb~VW7=@h!>5Hcf6nDj+`QI)rRQc@8`u51Bi-jrdKf0xT+G17d!97~t z^~<~vXK60lYyM~w$IzFaH#5H{+TQzRtJOX7KaF{BL)i)nY~G?vAZH`Z4!J#FNzu3s zj2YeRYXuVCSmcUD31Gr(?U3G?uIhvAH9XFv${=bt{u}BpN2>vf!gk!>9L<4#F zAaH&7Ws4Aja)4h_X?Xyf4_wscz*v#+(-VUgYs~TO?QQ`ld#NGO2ypE7I0%aBSZXm_ zqld+{0BKl1=}G|GPYu@q&WApSq6{o%&E6dDP$r8Z9Z(_|1*LsBP>N0hwhLyOfKEP7 z-obZMr<7Gx0b*o99z@=Oh;lMpsyJOzh2}drj-_3+GdI6zZ*+` z4;E^_ylp8P-w?H5F*coL*;|FbA^wIb++pMrg5aTZJJxHn==d?*LKr9n zbVZchJ)>&9aofNe;$B-z6%3XA;FVDB+hxLotLz+eAQ83Wk?>qp_A9`g%nzlFB?Xa3 zKfk^8nlb0q10|0e_Vbz0UTVTlB|%V2LM2VBG9mozpn!n4lMIL^ucZE*G0pe+Bc94= zN$;((X6t+_=?$ZU*qLmH3nbs?>WBBxz`N%*xb3m%g00OW`Wo1X=po$Up4SPZ@E;tA zXXA6D>}?lXuqkI~BK)pEW0*7sQyAp3ML@ou&V2DCzxCL>z zOVgshSTy8$q{JTc)e!qv_E~h$>kN0NMBh7K>m>iwgrOA=#h2Q?AeQEPjo7aPna&f6 zm5PVGe9NO&i1-X!iE?xoW_Oo&w8oJ-89oTvASS+6>iOUU8qoHp9B6-R=y|dny^}SF zCIvF?#Er% zF2KPLx$bid$!HJrmn>(2Uv6gNb2X()G_w_26pQDvnyCE@!n+H6Vw9Qcwm9mYfnJxz z=sTw&nzq*cB6HPe7iCI+u`nW_YfNUS4J(fiY@mT&O`+XRqkkJF##~;{&incXhwni4 zVz+3KgVrH(cNKb&a+5@LHEjDJK>v!8V!D;ke$9z4lFx@759Po}IR#p2YZxlg;E$F> z!7Ym%3XbdacBgo6-`ZaU@Az@r{)QLyu=jhe=%}>G#uZCouw~RR*d>k}nVlA9K*+KV z2}6fn+QLY?3COFs-Z0s~x@*{B{uTTx?`zJj^SC7GcoG%2l0(07KzD~Ys=Ud!$9VZA zYV6)pK3AB^VDza6qXusnI$>(6lD4NVqiNrL-8Ib67kc$E4!mu2hM0B8WhZfXmL+cN z!N0qBd!8P8yM#fMZNQtw{!*N`>hF+CF#lDbX(T)qy>KI^GClHH|Es=azwF_TH{HSP zW3**K1Fs9{vR)~BveEZt_sy`20r&-u#n(i6#7C0V!8vfb#@=8dW?5geyFrjz;m>$j zC$Ag{?!tG+C_7h=JM*Ni<~@ptFy&vDYuz7X54oSBbWQydh~d{%YSRsXCkfN496TAV zL8&UtG7t?CA>oePrs4iB5|{4s2OeIuF}B7-d9ox|Y}xy&KU6*an_-tY7P_Q@{$&Kex4d~*y=0HHHi?vcx8E}IU;4% zx%LNE`Rcj=QTgTmj?Lr|5B>))oOeb8fgSXwD8DV`aG2(r2S-ns9FGz>VOR^SpPXQ$ z$*s;jD-+XXF^>|CvRay7V} zUG5KasF6Er-|YEP_v)XFC)%7|gzP<(hxseuF>j5A{L;>$epLe1YMN;PYcw_(HT2dk z@`-15s0I5xosSi2S#YVs9V^u!O0j#{)$>?{(7Agn;a<3PJ0^hILelA}`Pc^!oz1D4 zMgL;cw$Pc?6wrc2({-fz@F$so2?)GVr{mt z2u)*G)kyB&*}&Z%aQ^WpxnZv^#kyqiRO`?C9^1_CtQC!X_m5H#{if_0@9po<$yoD{ zfSs%ONf4#wFDAyDfxR80Bi$(*+}Ev3(68t-B8mF2)=g>V(I2~7)iI(}XKinXBm#d4 z&mQmRRjqtZKInh*`taERS3SS@K%!0p??>k5q(Uiwkq0L`rE(vCqaGPtier8|kQ=GD zqt;|}1hHO0GfkI!#tLot+=*o(w?J>Y793{7mNOby`2LJ2JGQ_5q5oV`^kY4M)1`i) zj7W1CN%bc$&Rb%aZo<PYH_AXo|M%OGBMh;R4+g(LnUO&l0Z=nd_>3 z*c#9?wg-!HtF2l+OGU*h)Q=e(9oOh3a>N@1QD?SqZ^3Fdm27S(4!g*Pj>>VwQ-`B_ z(6*0mWNveE*MkhqXxj25S?Zs?-k^_Fk9xtoI3@L)Sccl8$hF-;s4axoY)6%Dw*ioX zrzz|u-s?%<&KkL>7c-*XvyHGTh_x;eZoiEhtTp87m3_&rnQ@nv0>^_yt!DmW4-~lb z^y_Y-jokLdQ8?{l(v`hwudZ+K1z+Q}qNR&j-+CTpJjQ;6o@kyCG1tCTVv zhFzpKjwS8NNY0d;55E|m;aXKla6X%1lHoSnSk0g86N?aO>@ynk6w=F` zWV1z`^V5~DPu1QLOqIn+W|G5~+5CaXwY8Cp+e=x!QKbBQBaaY~H>4qdL!Qn0oi3&4 z89O_MmoJu{E}(33cEm;I#@27l1HVYQ1Q#K{LDA1D%^{%t)=nv9Wo?^GPDv9-7 z+e@C?r_1}yU#d2u4L#5We|Tne06SdKVm_?k%?pVWiuiyntraSE{DQm_kkBka?V4*< zmM#CB{#_7=Wmru~;c-+)7@>oMWtt=&JkOjB<qFwkmJeN9eF@Ht!cav$UrNyL6Y?HSFcREDh@WLIIv{mo(05EA_ge z5mI|Lpn50%;X!xLi1m^GM9Z$EHZ^t(cYrU8lY$e=_EZTcO48Y8q5kLNksA)}WJZJIf@yF*1p;AiVtAoXm zK7^k+@6$C4iM~Y#V5dV`&-#V?jaZdUofEq@x&8!NjZdodF84_EGXh8rve6v&A}^wI zHiGBVr=MA5p**8gk<%M9{GUtechY_)MnQI%o7D1f7w|mRJ{2RiVuj%%IiKDo4Pp@X zXEPJYpWVdNARMfNb&MK~5?Cp(dmfH5r*(&efaCT#p({7(u*y}^K`KO$;&)*%;ek2? zb?P3ntzS6joBjKOIQec|cKV@n<=sb8+-+44zm1ag(Dhz=t z4NBB+9`{S%T?hcD!^Y3{KU6~>e^^jyh&t{mtuoquMO}|Kc;9CxdwqC{vGz;#2y_*P zTXI9@W}Hyxaj9Wk9VV(28f^axk=a`LfP6pxq9>5;WJzXr*EZsE9Yp&y=Sw6{H+C_*vn)8E zmlJ;X+;I8y9@JyOy3e4+edC#=e8DH@hP6AhjFvS5t%89sYx&Pm)Vc!;eaiVbGk{iU z?jU&VPDS&&&AsX{_}g13d$op7^TMEekIHXxXZ|c^$5iO4g8a@=;J)O>#om%Zqd&9A ziZCNck6#~hFP(*goetkRGZ}P(PK(=s^}Y%Gys>86yl^;=9$3j{*M17osLUAX4d8fg zp1%rg4o2m}Po~S$t)i0!;QT9G%xog_HJ*dVc}I%{egzkY+Cg0u`*KEaI+z|M;|3Ch zV29(kx+)HWaf7L_Mw{tgL6+QNAkc`rm>)LmO(u=xeU;`=mxGay4t*KyMf`EF%46)i zmxo#VvR;PB01q_w(&*|-Nzn9%`y>jFgEAkDDZC}j3BRX=Plu-}mU)m&!+g?GRIQ;+ zU#p}{%CzB4l6hcABa&x713GvMH%8XT2 z`9Vixi!G>bLiHhB=*xM-mc-J6B+H-JLz8(g3Y;RC?;viK3<*iY({UqV_;FC@;PJ@R z{=`M?VvP|PZ#xRs=!}=TTSvQ5P4aTo-XiY4>qlaF+_$uK_#)eW>pT%tAGZiTIl)DL zFhU&WAGB&@_jojiuk@rS1mm;+>ha`Yj?ArlCiKe>Gu6fKodOQe1eh^9$a7lLe(p9pKs_6Z9jS6yg2zoQr4mq_!KD&mQJP03d zDc}SA_}7BcywH!I6Bi9e6GHo;Z3;d4zJ?xneuTM!vxKVe#Hh*b?trT;bcN72iO9W0 z%3gkUM{ko)_XW*3eVKOae8k8l9LX_qMW(SQ10CE)G%v}f?e)iKj5 zD%#0?gJl;}_;-_mq{pKR>@uSNf6+2`%Ki)k7t;?4S#Y%~Q%CeiT?|WjRzY}*8O;$Ba zHu(Jcij2+!hhd%+;wnZB@$|6cG%XQld2gaG`djl$w(Om48>+Ggue|z1%-V)z3byrL zSgnKJrB>PRbkitZR2^BC%T3m7KGe)sfzg8mj}qOw-{ek+in$wW%-uH`-&+$5Y*3N9D6pT zgFZ$9nSpS9!VLQQ#E``oIZ`w)G=+*uuD@KEyFD<_Z{d)bqzD8eS2CR~(+pnwPL9ZN zxq%5OKe6sHGc&>}?TJ$NFh6>+GT_IJOv#}^Ji~YtaCdUR+keR3ST=Z3E2MTRD|*r@ zH!YkZp=vhE%x7)(n{$yc1yoc@AVRd&QeZb(u2+j~GvK)z!xy(JLwS%`6g=n4zR1~9 z=-WeviwI;! zTnb9c#y}_`m%(KXB1en}?;C9&4JVery%AR8oTB0pQ%i|{W4kEogqIaYHfEpAR{SC! z8h)O-O?!qt+r8GzC`n|{Dccgl_;AXF(70>E#WeDmK9=S3!fb!M=we_*mgX#JPMQ;6 z{zj8hUXtJ?d8~{#Hxz5 z*a%XD@EJizPDa#3`89&YTIa;GH;V2{rVB<9I{s9Gj_#Lc#0xw-q(rW3#RVXVC$TzO z=wuoD6;xE;bro`uvtRU`nM|;hEgRcVO9vefC&M4O6`M%<$25dsaJWmt+(GJu(vSM? zwQ{xwKBwFkEpp{$eiSyBA^5^4vl=}ACHtApB3|Yf{M|*Ki0BloyiQU&x|~GfC<{K6 zV%3c83$MVL8~Y0=aowWX*yHfY}R1p@K+wA(*M!-NCy!LUg zrPiLhZuwMIB;x1r3t~wQxGlBxo8t?WGOZt)1B#1}ByN0T zh_PYGdT&;(`JR74A1(Ipb&yi?FXeHa6})228k_^Efd?Xe>+;GSP6j7aJ1>TRtL>im z9-bfim>HDWF2@_~CZ-a*`jUjps6N0&#wL>m&lfY`$u9qz(Dh)1-!vF3kGS~6ACQDy z9Pon-{awF{UtjA?tJS2ObiP7kiYI=%qB~!Y-N)6=!qEDGfuJNPUev$%O&%`1TZg9E z`^3Oz9Scez{=!jQs(7sAtf)_-|3MhLRD%DHR2Uj#hy*@ zF^{o#ldgEC6z=OwM}2oXoW^go%IckR>GjwRXyx>7Y`&QR4 zr-!)YTn=v?_znPUms&(sHi^GW@_-;>&iC84O@fdfHF;N5Q-6Q?HN_3+8%JW)QGff7W3v62I|qMx1ro$BKU!uq^q!baPL z9=8?T?Q`8%2b-^6f0C5*Evz#<$-(yVOIW+4A_Mr!`gC3Q$A+ei$*NQ5yHd3ZWeB@G zgguT8h-2P^{Mop{X{lckEVbs-Hg*A=JBkD0#lhYKTbp+F)JLJEz9b=@$22xpm4qdw zS4AK^I~9Nj9-Mfw@{zf=YQrBWs&6q%bAIClDrEsSC76{uMm4F7AFX`!5uNR4`$-WE zi3i@39|gjW5lBXDo6DW)epgMj$kW@J*pzgld0b#}X81>3ASj7Pqtzb{liAmv>~kOj*2(+cnF|mKNm%>IU}#Z4dS` zThVmx2&Bxd&PFJ`)dO2qik`56$p_OwjG+1*3iXXyg{#jm)R8N!Azhnx&X20sG z(^XG9D2J$kEor9HDRCBq_8s_8JweVrfWf%{i?~JIDkgZrhAr48cZyV6R(>=YfDf3j zW)1oX*v4&=H#S2?9a$o6xmWBRFt0`FF<> zhh3Zo@NS&E`_<$X?wpL80{2MA%G?;wiET|h$8-wpQ~k z-`l3oN%%w9i#V<(&mTCFb!7===0le^7G!?wxnb*o(*zgFxEv&`OF2l3=L9p)PTJfXUu>%Nly}c-M4vQ zYL}y9Xx;;tkMnoml0f=Ng1?3IR{%Y`uL0}HS9F>u<)H!0=izLSmU}9O-bVU_;4jYQ z8=w-9IH7yyhA$xo%A!xR{fYaF@BFShHhbs{5>th+lkx(Lx&N#mmz#|aYHe$F!?u?r zVv3NS0UV{L42+ERYDHi#&aa4o+Nj7s^0+bCY2I1ftlZZ7Lk$LP(Eu1zwL@>d!~VF~ z_n5A!WP;6LNU+XF_s-Q+bCUxSs0`_O@lakq2)n%vulTti;{h}sMowx=!A|-VlBbw& zvh`yKY?n?DdsB&7ECAsd{J zYR8X%>(9R7TKsrKG{xac^pud6(p*vR4tZBR5K~&}y(mL~HzJK!dktbBG-Qt()}{_#f;;*GB*2_2Jm!S9?fVtI*eRe@8*rX4xL zeyT?J+=}*didhn_040bOTV~kBT>M%~&2e(^R!x{jebC8gEN$WY29^+Tp1%rvVI9`4 zj-jFe@=lVaW%Ut+Q}kRxC_3eHcI4{S^^8S)z$kk06o9PDSD za8+_wcD9^5r{q;Mm$)7aETHV;mo+4`L@ZpU()aSA`KeEg)&l8wXR}B#TcUQ4ysh+; zeBxmT&`~=x<=37z{TH`q!EBQUYxX)Zpk=(6nKo*!n6Dk;pdk~=atkx3u^;dOv zO9^-tAHgMYE$&&{o+tnDAHBeN>J?o1`E@TVZoIDK$hj=0e1gEY$7LkU=nDZ=7ZZV$ zRwDo`ztrTN_R1Vc!bEqU;Q&7zhXDE*FL08qX>NkK%vn~% zT=HFwE)V%&x;(!D9-%Z@$(_Q`q__oR2%w~yN#EwP17i}bC#^m7Fgp4ag6cZ4bDm}} z(9fj-);jsVlbJ|j*MakU+X1cM=Lo{l2Y`*)-u>&onmlV{?$`U~nBS_>-ZU41mpI*b zxv=lsJMexZf_sJX_ojQ%eN@X<5Ey=j_X$vOiz%fYapc9d$6=T84so}n=?=I8;l0y_ z@m2;0aZl1-Bt^maqTF_5OL0AsTvjKHrh>OwhXfg6svlC+aURI;P||v{U;Iw|E$1Ue zE_6vsq!xn%?MS9leh<63tM&M2xVT=$pO{a-3j8^$D1gNdB$9^91b)Z>KYL5?J2oBO zX5AQ6xsFivW+2AR_?D|vf|oN_aeHbyygMWO^%;LvLUrP|yH~4Z*c}r*HgF`XUH4Cz zZ~uuZ2BpOQ>5`~!MQe}@H>)65PY1W{X~O4M`;LoUWx$zwqiIqV*f*Q2R|!Sw@ddz< zjElr6Ak1RxV&fSpuSFeWAN~CEZP?(=k8h~d<%tlrX2ijwf9@3Dh~@h!X`aCaXhH9w zKhM~Ux!{i5Ft%m;=d*-W1G6Ms8!n$yYOzn-+7M)%nL+1OV=}OmiB?9*_(cTdJ!i=gZQwl_3t`)N;Bn@X^x~7|^?53tk=gi?fb3Rz z%QnZV#5GsB#^>U|>fA?o->pTZX?LFH^kd#{22Zdqi62P`RqR8h=CFMp^=MT~F0jd` zGrk`$;$^q*S9N~u*{@HXrvnUJQNnh7CU9N_#S#-r?BXQj{zZ!K@80D0AaX^R4z$H~ zE9b@6Fl73#7}uCHcHvd8wih-z7BMC3YJkP{$>Z~5D-PxZtkLo2$=r<4z%zT*USGlu zZ$yiW7m0ls8E)Q~Vo@@m;-$xp?on~Hv;+3!zF!{Et8+=WEo>+wcOqOK%#1cW!S_U582>rchcqHcvXI^7#ShW>I) zw-YT2J9iRoT+sM(LUhkO;g|s{PtWt-uTX!hD_IC>elyDQ5o!}K_TD{bGn7I|aWf-O zdAq$9*7q=8Oap9yCvAx#U^whCo)OyyVGzDG?p5^YC@@d~)AIdZ8+sU5Obj>!!R{8#A_Qh1kT4@^Y zR=Rvo*jVW(-$&?Eyh*bytAPf5^ysU2;|9_s3=(joWC*`*5QdDbw~wgHY}5{K_)^LI zCd|P0ozzi1zKNUnrN%3|^!Y!-k22(Hp@a}rv&BM|sZ0Xz4IgFPUzyQjsYX&Umq*Xw zy=tXPDbvq($=&$2X`T?|$$#-#kBrGfBLA01yp_DNCut^DlN20!U%qK`6ssiH7JR7g zI2SQ`6bKVgioca@EHzo6}OLH?eYL^EF9LrP!{?^+CN-1I;f?)92Kh zx`KaKgH5SC7vi}S%fp*C037>?rTG8w;fxkQB^TFlib)L z3#yY?T+Mp|C5YM+1!XgFBfO1cx}+j^96aNPfOYy@`-dWMQbF4o|5?0|2g~Q158ls0 zolALY1DY%jzP}~rzyGwA{Hv@HKhImkhZBE#Bq1lfIr`@OP=K^+P9$kPR8l%^@5;{efdR{%l=+c?GUPKmX%S4I*=m&FLyG?GPwFj!7_+Yn z0d(Ut11#uf`iOHPRSx=R4?f@XC04h=uw;1N9pdi`;6ZA+wg#apHtG%Dx|LG!+P zA~*Y0d`@~)ZN$1nM2%l$KEM}gfO5aV`N0VGw0UA~u#(sAllxYBu96;HYex!;<-WdKTM}4n~l*B$&Z$9UoBK~P)Zn-kSp^$(O0bC%{Cik)2=zm+qkjy z;oqH!A~%cuDMU=fTILVI`5Jp{4c_M#$b2Hg(#2J6f{3U_b~mV1ifshay`dIUZ% zyJeeuwCgv2=ywWkDt4#4@md*rgzIsAPId5QGn+B1SU3Smc8&Pe#zf@hChf=w%MG2(W<@np&uN=0NWY`md?BmD{xZz+bn6cZ(Gl**U5 z(O-Pu5$R;^OlwovZ@aC%htT8ifm;|S`uiD1y6{g?aK4%z<8D*_xSd}ijX8&e6FJd7?Lvt~7>qJDymqAzTQ zX8Sii10Ks;*S&*&QG*3a4gHiVzjo!xBP0OnC2Iud$X*9BmKBKZ$hWzGerR1sNJupR=kJTX=L?O$SvMfd8i1wkf91R} z!|kqQ12}Tx@HZPl0b~#8VVi(U3;3n~b}-VP{L6j>ERKi;(Bq8jc2%2Rnk*t7}`tj_#bL>kQAF|ZGeD`>B`3>;AXF+c6#-@a3bR92+ z?y}dTutZZ6b)FC_`YYdG9#T!VFFm03FkWZ&v7%xt@WuR9QIksNIsSz|M2D^u+~v99 zweRYH;{vlch4&pLK~8s4Hzygr)kI#l<>lq^eQhjCpwGTLe2`uh5! zxu4mplXXjsdi4?Syxs#LiH-!@>)=r?-r1&pXXEoO^5jz#%j-T3y60YGRjF|DoU1(ueho$2oYFV5oo>K^pCnT zcxYU0!{=SQ{qv>be2c?GjK$dCOX}+!)hCskSHDyhu z!uys%_SV9pAP}yvg09Ma7zhhYz|I}Q1LbDBi3f=WfgubL7_3@-N~|al1dPr327~2! z6AK&(WN`SSFj#OP69Hsy2)xB$MKNN5!>=-e(HN{m25fNHbtVRbm3|8c9D1FJ#bAAB zxd9Hj$_T|_u!=Zwz`@s{Q;niu=O z(t3{`T`=tU@lQecxb(daawGL9n@@GjOR28Dzl zLodyzi^2}YLjsP;y|4aBW=p2TIHt7k;#=$PZXNTb+7zT_$z>l%duLgbzM?=nz z{!%ZILC07K6dD6VgHfk2pb9t!j64fI2A#qXpyMEb5QG6rB7ot9gMzQh-W-E~4uoJJ zm*;0;$B?r#WH=}k14X0IX9(CC_9+65L}S815f~iwCF&e`iH2iZ{+~cP?y3IoKq~R_ z2(0>VKq~TZf8|*H-++WD^>lY}{~tg)?g@Bl_rHNO5oP}mNON~!uKmvPv!@Xdh1Rfr*-JM-roE`12U<6Qu04m4>_WFjq`>R(kU9K>M^Y(32)Z5_e z$6tH+`1`oOeD%up)nBNf5oumto}RDMW=;{uv*|zyfFXQ<$FtGiKtb#Z?ED6Rq2oXC zFJFd(pcrJkk2lPVC~+T!YzcGr{=RX#ljI%_B0SCZ^}c#x`SL7G0j7klpudDz0Sds; zK5%br&u^EP#Y!+`93>@1lf$!ofcf57Gw4&jAZ2VNCAnYcOTf%{Lw$D8+e#tISPC^r zU~aLzVJSW^Z>&``LJuIy^&xkFhJ2@{e1Mi3(CAv_2XJMmk{tro0X)2l`Qs1sCWarO zQSVe0m6a52H!hEZukmyU0}4DVF45?*NEe@2AeIG*MI0jU}fuWO*~ z2M2i*B#t2gq#?(XfMH!@s>UbC`-W#&YF1j9rx(ooiUvXF_`C&DK^Vw+p6?rPkna`3 zuuy#wzG2=F-|%18xH@V~f&0LGv3=kv4Tpbmg_!SZ>Y79R4_qD9fBWyaO5);rQ1IVy zmB`7-!B+I&ah1x&$*%f8aCOum!NL2#an)}u_!n0c!^4Avz@dx&zMfy*B{G#M!HHM6 zf^!FR!8qaUSZu6UfC>V#L7Z?7@D+~W+F%`pATDeUE;^fAH*01r2`6@3;S5abW_ z^_n^#1(?naK?FSg{Q#LO z0gWE=4+?<#C!e9d05F-y%<#atiSKNoQ57)%0Ds@4-OF8xYy9l+0|lJnNHlt>Fzsv4 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 M1@Qk$e<$t#1H#;X#{d8T literal 145836 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­+w~~3t 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 z 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 BRC@pb diff --git a/release/darwin/blender.app/Contents/Resources/blender icon.icns b/release/darwin/blender.app/Contents/Resources/blender icon.icns index 5eef94afde9af8e20c8b64be5c79b367c4b8add4..071a10f1a854b20855e1c3c6d862f622baa0e7a4 100644 GIT binary patch literal 333474 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 z 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≷bcQ1am0>8V##RA!r_@Nq=`gRZAc zm;eN;_G((2$ZXfkHe2kzj^`GN*!?CDG!{gp+D$xE06$FYo)_5rr4mN9Me9FMn(Ecd&mCh_lTtrH0vI~j;6x6G-kk-GxyM5{r@3X!k)k;`L&9`Dk~gY@3ut61?g=O z0Kc(?p1U=l zy+I2SrX)vI{jYGH+-z!f%W zV>;ozRsDJ`bK$l2*Y}HNOqI4oPPzM1kmXb-yhA&?uPsxrli#tCUpk~m#VY^bx`e>G z_8wZqx|i!;JI5wzzvz{t0_r`WoH0T$NV(e(58=ZU4O3CS#nxtzEa*TDufbzi3DscN^zsp>oHV<>g_ycg=2^Yr*~I=1Ox4t2H7YfFT z#0Y`fE9C)!=tI$GfX=0L4+N4%I1N|2(C4w>ru|a8O@ELB3r&Be|h&)$W}_=V6yKrEg&v~SF{ zW6JT)oZVryDe*5sLY4R>C}4R0qNb#?^G8P4EA*Jw2Lr)oUJvi;+3W6xxO?vdEZhRX z-d-Kn2(Jf?SAVxI>ci& za?uxleup>5o6mbjDA1~YzyG(~7Kue{c-B`LUq^SDMfx<)^NQw#Pn0hr$|!XhyzwZs zB3j*BzaEjBx$(%QuJCr-IbfqIr@K&Sq^Ix<>tiDVPIphNK+-$)=W@{RJJ0%GoSAJ zctBpt1N-!muQW*uhi`*I#+hD!p9HFdUd7Wu%-Z-JjS0IQ-XRPmWNzf}w5x-MDrJQ~ zRkGH!c6GvXSaDyZEJX~}s+N@c?N>&5^jo6$UF~K@-$5r^K5akmMTn1l$K*50k=_9! z&xmp0_JcT|eYUp~-CevZr=&rt&F9mgW~mk~%0*vGl98YQY|t(#bM2fkl&|!4GaWw8 zF*q3N@V4l`pH0Ou!l3nzmY15lUaah@3Ax>Tk*7Jaajw}F1g0X8s`dv#unE8|TQ|MJ zpZ%jPveTk<=d`XqSBv7mDQ%As6**0(6B~ScpCm0hKWr&~f06J>k)3}hn<8fJw!B)^ zyC7k6G5Z+`2C|+9)Q9wNj#Sh+_2e%%+bC?1OtmQO9cx1=+jP?3Ty&tEy3&99+WrY{ zg$whV|0^c+w)Q2x4%%1Sr#egI!)UdzIR>C%tj6wXEXROxBfjwCZeo&2v8KLmfgSJi zFDk%tU&%WS75~sm*P&?su!`UWGqM2UU0|m~JcZPF7}_|v&4=O#$2}+OEgat86JnXD zUn#ctZ0OR@^E4|S0wGc^7lma37RTBa20hFKBh+mo$r`_WSaQjfg65N9VEVpS`Oo^1 z&swyw%uZYKm2%dLMLgfEb`T5j+r@dfzm;RQbqZUV6-Q+t%e2mIyZ4wmCP9XVV`Z2K zVk(fe)$TSNU29eVVBKcnav;pe|67pYDdKqmgDRA>zsLZ#a^siPEl~YOd^C19YI~`D zbG$LdGdHy^-V@bWSAFwy^d*RLD#pSs=P4$lh;Gcg`zFis^!d`S&5ZwdD6;(#q8&NP zhF=s-dk23!h^MjKnJHN}oP0Y?4Ztq5IjA#7nn(R^_aZx6HE-Tyz~5jd$I?P(sX)YpfIp%CvS2fc>iH6;ByzS)1{TCKP1nr2 zqR_x=&A95@<5@Y6h6{-LJnP@DwFFKZ9!7BLE;M6dONnagp^F^6x%u{jo{K{}c#YkK zT#DpgfCr?BF%MflQWIi57|stXZ1RBVAGV%`?yT;$2JFW9g2E6cwdWQMu+48AEsd+@ zsJO&$b)Ne7|49U~tO6qeQGIWfVqr}!5*fA>FP1oXFg-G=jqpX}=lr+FEuaYE2f|Dw zDR0U3;K=*5kf@@mu7GFs#dVn-p5Y|T7^}Z0o|$!-i%wO)^7~q}7m%|}1wgQ8Rh@5E zTS9%MRwqS~XA7kn7GLxf-QtG81d#VH|7R0?3^C8th-t)j*2tfo4RS6u#;D{%Ev#A{ zPu-wU6H%09xl3`Vi(9|)>qfNh{jy%SE#IhkQ^abus{DOhuG$Nc^ZdmZer*;dxJsX1 z{I^+wBvS%R3206=N%24Qp+3eBvJ=u?ZLP=I7zg^aUkoy4DUH}1Zv!_Iv6VB~ zfmEs_50^lQj8@WF#Ct}Fj3g>Acio=5@*wN#=0}?zPB~BAn3wB24XwQ=?_%Ibov6%oA}9LSstQ> z(3brF?82RdTQiLH^Ic9AOW9&q?N`)4Ity?2pn;J-i6eVx58Xzdr;V+20ek=GelF5| z`USC&8X-v4CI<`*plCP??wcFjD_t=lQxG8H;cX*eEHZlj=F{urj6ql@tz&uOZGOh5ub;|@SRKbL7zWV!}!Xv78Z!EYy_W6;znbcc~6J(d4`1{jPBe(;;%=qo)+oPkWJEZaa<-aO-c}^)_gxymw}{|6_d}@(g^$Xu zmg5IliRrHvR5&iO787T|xm+#2Gsl}WZtGTSJne#5zfIwSWc6~(;ILJ{=QOlkF5BL` zSqhA^TE@X=y^#{Cv};nO1)n=}o6H=x${tsib^??{-lb8lg6+eT{X8zH!W&Zr5-abm zM>G^s-oyQ{BIJYU1HBVxRdLqBk-1df>~R9BuW#6>!5FWR7n-#+&s?l=glQFljV$P9 zz=h+wCLunT^JVx2r0uC?@z1TBEh`oD!5Pl^UCF_sN5D$IpPLSdSJ;%DDO?jvEK{{sweh5|87+LuGdoWxhe1oftEO>3aHz~B?D zU4lMoQKTp2*H<29gMYPQUom~vTOwoLOm{ORhlVgxb|HB;Td1BQA{Bm_`nBI?n*LOM z|M!|r>2#{ODDnd*Gpz!n#&^?q>f+xEbP5-rbw$5zj8W>PJW%E$nh5k)8c60o{K8KxMVB=tMKoz8wWm#Smf$JG8E*?;Vfbs^c!~04@7V`>&by1v&75;ggA-%!rTL$7on2i%~lI}XQGNC2FYB7 zSs`~>CUtcq@bd{Kb+JxJ@E1nSC%M1-Ajf^rS2<%G-Is6Hm?4NM|jSt@_jJ zO{CU?;+S)VZEJzNGp17p;M$uxW3khAAOcS`b-xRB=Pq2yhdHSTEL8YL} z`&Ktk2i6#HzwbDuyk9Q0u{qauUD&t7C#NLdy0FLw7bR}p;EpH;htVL$#hC@;@YmjU-2abnf=+b{@A*mO{Fg? z8IFMt`R2(|6YON{=|;+>LRa>_0h0-C)Xdxa+<8QJBu~zhR+sjeTr3I{-@KunHX|ja zNq}AItGv4jrY2E{mr>8)U%!V33JO+>tE%Rm25;+|CtN}HcMY^HQiyWUDw#0u;>XP} z7xkE%hb5&?Ed;7*u}ztftw^Bn15iLoo3!i;1l#Z8lr>8B8N=|dOmmkYOmLy8k8jV6 z@#nhed9ByEhPiakj+EGnIRHr=vg4916cb$YMeY@G#FmFVO+BAkmBV&?g5jJtlRDop z3ajkgw#!nGYl122XkG^|A=KU+ch*)&TJ?)DJ(EA8 zyQ+HLY0vfAA7lqY04ZnsED>=1P|Hy;&Ek}!0OF;g*a@{*`4Y5ziPGAdg-p!;=FOg| zD4>{|VnL?BJgIyBgr6d>v)Mbb2Ov__cxw$YHmM_?UJMg^PG`%I)S4(Vt7T%_2WzZL z=-SftP@rq5ZWa#$)}!*iGW?mFfQf8hVm9@PWp&Rj(WSZ5T^aajQ;Aep3ZI)evCc@cfwc1| zFbpAO!X*K=PR4|`)iTEJDnIuN1pm!dI=}JK57Ir|=}v)UmO_}_q}BZKVLmfuwx1|%c5 z?J6qi%?0Ospb*+zGRRapsAln4-`V~2t$4chi*9!Z-SHq04o0vx=*R0ske^0Xs-UR| zmE`{5xoy8kBTY93b#I(aa&>uW%H)tuS5){3r5mTv=RWxCkGxP}f8Gj}ZHA55)a&Z_ z4^6*#xjv5OYusfoP`Le~k7Bz$#wJT~ip1lnX%o_jKb80?cqPyM^eo~_6cS74Ipx%a zl`E`;5PMPUu*y$DA>l}%1Bu~hyWzbPhVHM2J1$a`VTQ0Z&`O0B_*}<<%rQtn1mutq z=h^6OzE?ubjILg*Es2py%$CpfLw=LJw$Euz3EM;LI@-UgB1$}U7k(Nz7j7sok6JHB zO~YnxwtMBM!znfl)0tgp_{_M{=Ai@_QczOm2Hh$8+pjpiI@&W1PV3*MGed z=Hqj>X~kkCuf@p3c0Q3Mx%&#;X1$%+Sj`ids2OGyxb0&6C-ICA)5>Fky9J5w@dKJ2 z8sY+Gl(4xyM#-b^vcqXTbYFCT1Oq?`Xeb>6=&`XNaNn2TGVpl!YnK+0UWr_PD2aV3Nh8C^Xo9_;n^YOTX!syPuM`{WqfkfkLm za-F z8{RO5^N0OvQ3Q?+TD89dnjEze)_@b0a14p5w1^G-fuLa9UYvg|52@ckXK40^irZyjSL?)`TT@#6DA|Bt-wd_N@RhvsFuo-J_c^Oh!rpS4!`%Nj3qUr% zJ_iF1e#0OQ<)Yzc7Ky&T+ubPk*{$Ev5meHnL~-LIUT+Zp2UYO_S#e8glx}eNjxy*L zU*tPB$RczMDq>^{2+uM|4P!F-vO+Iq9O9Ve^&%9jl#!+zV&=&*a%D#W znb&rOjfy!p3twGYk!yVhtnIiXNAdr9ChjVky!Q9@**vM{e|#`!fD*rDTGRI3mz=eW zN>1Nu6kp_Y4oLU?oA@k(-eJIZJx!%rtYpUosBgtsPFq@mh#Z8Hha$v89k4-R>53ij zGE6`C3MKAYLLNp76^ICAQ|98QL`@rQb3W5hr$>IBsX9Gh&Eb?@Wm9wP=F*iJHY~y1 z*Wpid!83X}wiV4B{{e@s$$e~`m?JODAhg*3bdw?>uTc6>F;3?c=fAfoc`U##uTGtEdPHVuIz3OlKzCRe4&Vb7GP&9&WO+uxGOs`HOb0 zzSFF}S@DHypj%Q@pVswI}$<=p}$?k@FW)kluD_-Xj7 z;y%XMqNYqjp4gy|&fh(jxjw|CoKD7T-fF5yTlm)JFSy;FtY$FL9t9iF_}F*aFnP`E z)t+DJlM8%#_m6z@Zmy9O_vQ^4<4DIA+LHc`oX(z{p7b+Ve-?QcjXIb+s!dDN0D}(p zKnLtChI|++JfxXqz-2HX!+_hN0}9#ySZPUWqVD8w8B_PTOmAK%F7gp7(8!Vh*pbr= z{Vd11KXQA)d2Y6ixcimwUxC!)VO@hQ&zfP@e3EXTA9w~A@@4CHF#{9DFU=snt7-8n z=XPl1iM7`&ru;QO&Gc3w8(p4=*K6(U#5T4!$Ak+=PdfvwGj@`6Ep;k$(2J z=ik4*veG?KVW!Az+ny@hYdjsf=~Bk9_{A$yOYBIs$=~|*b3D65uRKLmySE2(y&G!J zYgFaCOFjFuEe%nB5k%~X4Ockw+jr5Ae>pY7HRf`Go`RzNeMPL3Q#e>w>CtWH%kBrKlH7z3NUUTT2wwX>bb6UXmKsc;|aIx{TR1TsnVgk@~)BBAH05 zc<$d=uaMwsCfT%^VfyB(IQ{(~1x>Y7t&3Iri-i4+7@zG{T){rcD7F%C#<6o$vDUu$T^V?GjIYu{0xzdxF#I@(pr40GVr)Oqwx%mjL29D z``-_K8Wv)Rn7#Y6<#B;xD%~+l6dkL^3PjSl@h!&Q(h?V5^qu)UKClBs0G)mjK^-6v zO;{RV+B2dATFM_#gvlSzhhKf)Tkeu%I8lEI-x2}uMnA{EOk);yFk-G0PL&X%krYZh zJ8(w}V~sU=UylzDu!c8j>mNCtXiG|){p={X+fHP1+>uN?G^39xKH7?EWcd0rxr#VO zAYo)$FiC2J=X>MMnn;z*D_a*lnaa1X^q;1^dz4gO!#jWCPpDD`jus`KHlZ|2){r}G zKgE=x?Mqxmn&elVB|?SXAVbV^DSv4^fmOnCe}>@3_U_!cuPr#CIW#!YBbTuTzk7bL zx5qT!vQeMSS1w9H?28RPJ#9E9Cu>|mCmP=V^}Wnjp@W#NwJiR@SGMS?WpYtSBNS>< zo6&z_kWQ$8?4mTGx%3^#`^LVnz$hSApDQD^Lky0vVYUYgMCT0TNInd45Mh7YRyya6KnqoV*Rb6{`c@lP-@Tggu9bZ z(^|)v{LH((ca$dNv|b{%lfAq&n33lFuxaJq-|32&2<6QDQ-WYbwT8yQ!8h;JDAk3g z<)Dx}c+M)vkKiwKb>&Ox8(JOnYrWmxOSjU0V9L26n`7cXct+;l-`uac^tF9P z8DHfY#55GKINKkh!Poy2)@=Q*kon|^L&SP#aMmyP)?@tb;~(hjUu44yZ^NvdcegH} zm0=#_-MaRKAURswISijiul+=#Yd!k<)O0^xb^`sa&uJYeiks3) z02Hv#Kpzj^;Et25am~Q=d2`>x_c_U`&XAORVJ3bwZ?s6m1S9d@t_zumQcJaV^gar- zG_8T(jsvgywf2%V0H0h4E^4GBN|`}WPwxYLgyDQK~>1k$TejB@H(HRRv7>nMZdc~YTYI)(%fM0{IP%6hT}b&3 zRj9G&hrwUN<#_Za!b`#;TwVJx;V6|88w37U;rOr;-Z`(oPZ2nf4Lwf2S7uD5EAHCH zO7o8G%hGQ!NfdgNyk(CJ=Y?M$ZF?F>+{L)qyy{ll7@kD`jyBPyVOypoD8gv@n3*PX zeFXcwz3WCPJv$Uc!~&d_Jt*|3_eVdu&wdiC!EZJqgSqEQS6eYYOde4oqQ@l$7Ol^j zuKuC9RXhJEzt4A3eh2Y8HBVG;e-=G^m!ep?<%9trOo{N#%ZG}&d{#W^AQn7reqtf& zC35XNTl^_374B~SWkqN=td-IWXh~Fly0}*|zI8IE$}Fn1aUr~SaMmwB|G{TPCq8aY z?~%(okl0audFIt2zkeAtTtE2Q4&A`Hmi+W1v*%0SGD{}@jaRj_hrtam+@#uIF0`=Z z_5u_8WbG$u%{#9r@pp(^dq4H>3vCdB)ngPpFgg|yE9-~>0@mNjism3*$d@9mb|SNt z7F7bGAUoy|I)#Rr4QEL(h%Z+x3VkAK?q#a2vP%|5#;$j_cK8T6BzY8x z|K>CN^lD~!nB~W8nC9)O{LdIX$Sm`%Ka=C2L0?ppPulkimp(GsKtzWhJw6Lm^ zSDQFQ$QHLSKRz$vl^o}8t~028)}ji4~5-_4rh-)AQH7n6K~t*tIS4g*_mG`lKjw!KwGT%MmrMAU<7 z?XWuhE|0esy@tWkaA^?Y&Blcd2_F{cwo#P2tl~oT3V1)U^{bANQ~RH zwrnNZQFd@);_=s_ohZ*+akqt!tbDkKee^><(}jt7PJWY7F?SPxM{S5wEnZ$fr~P8h zC$A$iP#Onw(si?vkGDM7q~d93fE-aEtm;AJK{ zY1bj?C>O>$_!ZvR?KRFCMd(yoyEKupQL3XlxoXt+$o*jn@6Cg|{qNaoisaY=motA6 zYB(!=ZF5lSjqge#U*emD{%{tm!OM#T;tPuElaDt4xPlbGz>on zJ)1oA2C=HSSTDP?68M@MQLAKp?^G>+;N9wX?F9=Ij)BX=z5wk z*K$H5bDdz}Mf#qPdj`iSBW}ymN_49LpyRN`0d2ZuKZIo9)Hi+vTsGJb5C}=-mVOtZ zZJH}J%mzj$Nce$b@bC8L_~y&J-t3wfF{_W~Xxs@DF~lzoK-M=^(z!EH^8&|LObUeJ z$Dn`f-rWOy$>&MA|Mqx>?PjcCG(w+6lGa2y=4yJPcpgWmB@_jk!#vsVQZZ^LjgN5@&6l;HIvd5aB_=*mU@W zaE%RgFJcp);MG%&_a6-7h70-Zba}dUz0Z`(O}}*hOr}+E;ZH6)xXas`K8eA`@b=~) zeUMN!v>K_?)OJp0KpKbdl&rjgUr&&VTd1I{LMO>4s`?O^ITF{Vf{3-9mIdbIlt2l>DU}}n1qmusl zwHwom0pOaDEAeXgX7|JM;>7ej+vw@4>kP%Jexcw3PoW!YuL?X2MdB`)J5xE!FnhG& z;+Yb8BDL0#K>3$9de^2G@n0lNMGm}+6&Iu1j@Q3O@m#*`7OSsc@!`6;I;+Pbb~X_4 zv4?^^=e67dZD9ypuc|5})AVMUpC{<5Iv3R0?@M0uHDWQ zGD%bKf^9fevi3pRnS|8LF+@Eg63Q?gmOez^d^7$xNnz>S*6QN$PgGC6hNEYN&Oema z6D-K8^qS*;Z zdge~?=+OQc25LzJ&0|YRfI)V^G!bD$R69(>G<*&>6^Q+C$ds@Jf+#C>XaRO*e*$Z( zms0rNTwCEaBtAJlFW$)L7%g;%DB5QJ9fJMbW7S`Rkm;<7t2Z9`Lf(XU<=sZ$WO$OA z*M=f$!@#3Q?5_Sa=a*(zZv=rh*

@_sO9bct~+`(RXD%bHRpt!Si!@WW4c!mwN$} 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

j% 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 UvMw83>W<$>Hqn2Me-6$62QlC2D*ylh literal 189097 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 mp7_z8Hd%fJBHQi{Nv?VP*o+BomUbiDDJCYOA)k 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 SVihz10000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - Jakub Steiner - - - http://jimmac.musichall.cz - - Folder - - - dir - folder - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/release/freedesktop/icons/scalable/apps/blender.svg b/release/freedesktop/icons/scalable/apps/blender.svg index bc1a3a970f63..7d8a0432f48c 100644 --- a/release/freedesktop/icons/scalable/apps/blender.svg +++ b/release/freedesktop/icons/scalable/apps/blender.svg @@ -1,235 +1,73 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + inkscape:version="0.92.3 (2405546, 2018-03-11)"> + id="metadata19"> image/svg+xml - - - Jakub Steiner - - - http://jimmac.musichall.cz - - - - - - - - - + + - - - - - - + id="Layer_2"> + + + + + + + diff --git a/release/windows/icons/winblender.ico b/release/windows/icons/winblender.ico index e6b368c562b5eb6c5f0af70b5a06858cca5b3e71..d229a696eb2fd9a1764de6281fc8893cd8e4cc4c 100644 GIT binary patch literal 38319 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 If2jEX0QfC-WdHyG literal 295606 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 ByqN$1 diff --git a/release/windows/icons/winblenderfile.ico b/release/windows/icons/winblenderfile.ico index 254480b6ed5a60b0cbd2ad3147a16ea490f3f4ef..73ca8df39cba06824f0b2670f4b62bce9a6db24f 100644 GIT binary patch literal 31709 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 literal 25214 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 From 2987782d6dd448f0c704d37b7d487906d70f7a6c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 28 Dec 2018 17:36:59 +0100 Subject: [PATCH 86/94] Docs: update manpage and html with app description matching website. --- doc/manpage/blender.1.py | 6 +++--- release/text/readme.html | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/manpage/blender.1.py b/doc/manpage/blender.1.py index 0890547906a0..4be16c15ec72 100755 --- a/doc/manpage/blender.1.py +++ b/doc/manpage/blender.1.py @@ -65,7 +65,7 @@ def man_format(data): fw(''' .SH NAME -blender \- a 3D modelling and rendering package''') +blender \- a full-featured 3D application''') fw(''' .SH SYNOPSIS @@ -76,9 +76,9 @@ def man_format(data): .SH DESCRIPTION .PP .B blender -is a 3D modelling and rendering package. Originating as the in-house software of a high quality animation studio, Blender has proven to be an extremely fast and versatile design instrument. The software has a personal touch, offering a unique approach to the world of Three Dimensions. +is a full-featured 3D application. It supports the entirety of the 3D pipeline - modeling, rigging, animation, simulation, rendering, compositing, motion tracking, and video editing. -Use Blender to create TV commercials, to make technical visualizations, business graphics, to create content for games, or design user interfaces. You can easy build and manage complex environments. The renderer is versatile and extremely fast. All basic animation principles (curves & keys) are well implemented. +Use Blender to create 3D images and animations, films and commercials, content for games, architectural and industrial visualizatons, and scientific visualizations. http://www.blender.org''') diff --git a/release/text/readme.html b/release/text/readme.html index e23d1ac5b0f0..e6be92ad273c 100644 --- a/release/text/readme.html +++ b/release/text/readme.html @@ -22,8 +22,9 @@


About

-Welcome to Blender, the free, open source 3D application for modeling, animation, rendering, -compositing and video editing. +Welcome to Blender, the free, open source 3D application for modeling, rigging, animation, +simulation, rendering, compositing, motion tracking, and video editing. + Blender is available for Linux, macOS and Windows and has a large world-wide community.

From 196a5116aa2f7a3b46daf2047e957b43bee26083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Fri, 28 Dec 2018 15:37:53 +0100 Subject: [PATCH 87/94] Fix T59164: Run Alembic in background when INVOKE'd This is similar to what physics baking is doing: invoking the operator runs a background job, whereas executing blocks. This makes Python scripts calling the Alembic import/export operators more predictable. For backwardward compatibility with existing Python code the `as_background_job` parameter still exists, which overrides the behaviour chosen by INVOKE/EXECUTE. Reviewers: brecht Reviewed by: brecht Differential revision: https://developer.blender.org/D4137/new/ --- source/blender/editors/io/io_alembic.c | 29 +++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/source/blender/editors/io/io_alembic.c b/source/blender/editors/io/io_alembic.c index 8e446c73eab7..38e0ec0cb3af 100644 --- a/source/blender/editors/io/io_alembic.c +++ b/source/blender/editors/io/io_alembic.c @@ -77,6 +77,10 @@ static int wm_alembic_export_invoke(bContext *C, wmOperator *op, const wmEvent *event) { + if (!RNA_struct_property_is_set(op->ptr, "as_background_job")) { + RNA_boolean_set(op->ptr, "as_background_job", true); + } + RNA_boolean_set(op->ptr, "init_scene_frame_range", true); if (!RNA_struct_property_is_set(op->ptr, "filepath")) { @@ -388,8 +392,10 @@ void WM_OT_alembic_export(wmOperatorType *ot) RNA_def_boolean(ot->srna, "export_hair", 1, "Export Hair", "Exports hair particle systems as animated curves"); RNA_def_boolean(ot->srna, "export_particles", 1, "Export Particles", "Exports non-hair particle systems"); - RNA_def_boolean(ot->srna, "as_background_job", true, "Run as Background Job", - "Enable this to run the import in the background, disable to block Blender while importing"); + RNA_def_boolean(ot->srna, "as_background_job", false, "Run as Background Job", + "Enable this to run the import in the background, disable to block Blender while importing. " + "This option is deprecated; EXECUTE this operator to run in the foreground, and INVOKE it " + "to run as a background job"); /* This dummy prop is used to check whether we need to init the start and * end frame values to that of the scene's, otherwise they are reset at @@ -522,6 +528,17 @@ static void wm_alembic_import_draw(bContext *UNUSED(C), wmOperator *op) ui_alembic_import_settings(op->layout, &ptr); } + +/* op->invoke, opens fileselect if path property not set, otherwise executes */ +static int wm_alembic_import_invoke(bContext *C, wmOperator *op, const wmEvent *event) +{ + if (!RNA_struct_property_is_set(op->ptr, "as_background_job")) { + RNA_boolean_set(op->ptr, "as_background_job", true); + } + return WM_operator_filesel(C, op, event); +} + + static int wm_alembic_import_exec(bContext *C, wmOperator *op) { if (!RNA_struct_property_is_set(op->ptr, "filepath")) { @@ -568,7 +585,7 @@ void WM_OT_alembic_import(wmOperatorType *ot) ot->description = "Load an Alembic archive"; ot->idname = "WM_OT_alembic_import"; - ot->invoke = WM_operator_filesel; + ot->invoke = wm_alembic_import_invoke; ot->exec = wm_alembic_import_exec; ot->poll = WM_operator_winactive; ot->ui = wm_alembic_import_draw; @@ -591,8 +608,10 @@ void WM_OT_alembic_import(wmOperatorType *ot) RNA_def_boolean(ot->srna, "is_sequence", false, "Is Sequence", "Set to true if the cache is split into separate files"); - RNA_def_boolean(ot->srna, "as_background_job", true, "Run as Background Job", - "Enable this to run the export in the background, disable to block Blender while exporting"); + RNA_def_boolean(ot->srna, "as_background_job", false, "Run as Background Job", + "Enable this to run the export in the background, disable to block Blender while exporting. " + "This option is deprecated; EXECUTE this operator to run in the foreground, and INVOKE it " + "to run as a background job"); } #endif From a7c5f4f20657e12b43337e32bc62a876cbbe6292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Fri, 28 Dec 2018 18:05:31 +0100 Subject: [PATCH 88/94] Fix T57078: Alembic curve import: better check for topology similarity The old code assumed that if the number of curves was the same, the entire set of curves would have the same topology (in other words, it assumed 'same number of curves => same number of vertices for each curve'). I've added a more thorough check that also considers the number of vertices in each curve. This still keeps certain assumptions in place (for example that if the topology is the same, the weights won't change, which is not necessarily true). However, when the assumption doesn't hold, at least now Blender doesn't crash any more. --- source/blender/alembic/intern/abc_curves.cc | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/source/blender/alembic/intern/abc_curves.cc b/source/blender/alembic/intern/abc_curves.cc index f9880eda4513..fa5e22148362 100644 --- a/source/blender/alembic/intern/abc_curves.cc +++ b/source/blender/alembic/intern/abc_curves.cc @@ -440,18 +440,32 @@ Mesh *AbcCurveReader::read_mesh(Mesh *existing_mesh, const Int32ArraySamplePtr num_vertices = sample.getCurvesNumVertices(); int vertex_idx = 0; - int curve_idx = 0; + int curve_idx; Curve *curve = static_cast(m_object->data); const int curve_count = BLI_listbase_count(&curve->nurb); + bool same_topology = curve_count == num_vertices->size(); - if (curve_count != num_vertices->size()) { + if (same_topology) { + Nurb *nurbs = static_cast(curve->nurb.first); + for (curve_idx=0; nurbs; nurbs = nurbs->next, ++curve_idx) { + const int num_in_alembic = (*num_vertices)[curve_idx]; + const int num_in_blender = nurbs->pntsu; + + if (num_in_alembic != num_in_blender) { + same_topology = false; + break; + } + } + } + + if (!same_topology) { BKE_nurbList_free(&curve->nurb); read_curve_sample(curve, m_curves_schema, sample_sel); } else { Nurb *nurbs = static_cast(curve->nurb.first); - for (; nurbs; nurbs = nurbs->next, ++curve_idx) { + for (curve_idx=0; nurbs; nurbs = nurbs->next, ++curve_idx) { const int totpoint = (*num_vertices)[curve_idx]; if (nurbs->bp) { From 3f4e3f718fdc1163cc52a84d85978fa94b230211 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 28 Dec 2018 18:37:05 +0100 Subject: [PATCH 89/94] Cycles: restore old sample and material override settings for view layers. Since there will be no view layer overrides in 2.80, this is needed still. --- intern/cycles/blender/addon/properties.py | 2 +- intern/cycles/blender/addon/ui.py | 23 +++++++++++++ intern/cycles/blender/blender_mesh.cpp | 15 +++++++-- intern/cycles/blender/blender_session.cpp | 10 +++--- intern/cycles/blender/blender_sync.cpp | 19 +++++++++++ intern/cycles/blender/blender_sync.h | 13 ++++++-- source/blender/blenkernel/BKE_layer.h | 10 ------ source/blender/blenkernel/intern/layer.c | 33 ------------------- .../blender/blenkernel/intern/library_query.c | 2 ++ .../blenloader/intern/versioning_280.c | 27 ++------------- .../builder/deg_builder_nodes_view_layer.cc | 4 +++ .../deg_builder_relations_view_layer.cc | 4 +++ source/blender/makesdna/DNA_layer_types.h | 3 +- source/blender/makesdna/DNA_scene_types.h | 4 +-- source/blender/makesrna/intern/rna_internal.h | 1 + source/blender/makesrna/intern/rna_scene.c | 20 +++++++++++ .../render/intern/source/render_result.c | 1 - 17 files changed, 108 insertions(+), 83 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 243e0571a97f..3f6c6de5c5e6 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -272,7 +272,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): use_layer_samples: EnumProperty( name="Layer Samples", - description="How to use per render layer sample settings", + description="How to use per view layer sample settings", items=enum_use_layer_samples, default='USE', ) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index f5e7e98b40eb..667547633b46 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -244,6 +244,12 @@ def draw(self, context): col.prop(cscene, "sample_all_lights_direct") col.prop(cscene, "sample_all_lights_indirect") + for view_layer in scene.view_layers: + if view_layer.samples > 0: + layout.separator() + layout.row().prop(cscene, "use_layer_samples") + break + class CYCLES_RENDER_PT_sampling_total(CyclesButtonsPanel, Panel): bl_label = "Total Samples" @@ -720,6 +726,22 @@ def draw(self, context): col.active = rd.use_freestyle +class CYCLES_RENDER_PT_override(CyclesButtonsPanel, Panel): + bl_label = "Override" + bl_options = {'DEFAULT_CLOSED'} + bl_context = "view_layer" + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + view_layer = context.view_layer + + layout.prop(view_layer, "material_override") + layout.prop(view_layer, "samples") + + class CYCLES_RENDER_PT_passes(CyclesButtonsPanel, Panel): bl_label = "Passes" bl_context = "view_layer" @@ -2098,6 +2120,7 @@ def get_panels(): CYCLES_RENDER_PT_performance_final_render, CYCLES_RENDER_PT_performance_viewport, CYCLES_RENDER_PT_filter, + CYCLES_RENDER_PT_override, CYCLES_RENDER_PT_passes, CYCLES_RENDER_PT_passes_data, CYCLES_RENDER_PT_passes_light, diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 701dba61b507..7a85ff27e53e 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -985,18 +985,27 @@ Mesh *BlenderSync::sync_mesh(BL::Depsgraph& b_depsgraph, /* test if we can instance or if the object is modified */ BL::ID b_ob_data = b_ob.data(); BL::ID key = (BKE_object_is_modified(b_ob))? b_ob_instance: b_ob_data; + BL::Material material_override = view_layer.material_override; /* find shader indices */ vector used_shaders; BL::Object::material_slots_iterator slot; for(b_ob.material_slots.begin(slot); slot != b_ob.material_slots.end(); ++slot) { - BL::ID b_material(slot->material()); - find_shader(b_material, used_shaders, scene->default_surface); + if(material_override) { + find_shader(material_override, used_shaders, scene->default_surface); + } + else { + BL::ID b_material(slot->material()); + find_shader(b_material, used_shaders, scene->default_surface); + } } if(used_shaders.size() == 0) { - used_shaders.push_back(scene->default_surface); + if(material_override) + find_shader(material_override, used_shaders, scene->default_surface); + else + used_shaders.push_back(scene->default_surface); } /* test if we need to sync */ diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 58d3b57a67ee..f84eefd0233d 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -481,13 +481,15 @@ void BlenderSession::render(BL::Depsgraph& b_depsgraph_) scene->integrator->tag_update(scene); } - int effective_layer_samples = session_params.samples; + /* Update number of samples per layer. */ + int samples = sync->get_layer_samples(); + bool bound_samples = sync->get_layer_bound_samples(); + int effective_layer_samples; - /* TODO: Update number of samples per layer. */ -#if 0 if(samples != 0 && (!bound_samples || (samples < session_params.samples))) effective_layer_samples = samples; -#endif + else + effective_layer_samples = session_params.samples; /* Update tile manager if we're doing resumable render. */ update_resumable_tile_manager(effective_layer_samples); diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 38e0e66b91bb..60192bfa8f89 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -372,6 +372,25 @@ void BlenderSync::sync_view_layer(BL::SpaceView3D& /*b_v3d*/, BL::ViewLayer& b_v view_layer.use_background_ao = b_view_layer.use_ao(); view_layer.use_surfaces = b_view_layer.use_solid(); view_layer.use_hair = b_view_layer.use_strand(); + + /* Material override. */ + view_layer.material_override = b_view_layer.material_override(); + + /* Sample override. */ + PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); + int use_layer_samples = get_enum(cscene, "use_layer_samples"); + + view_layer.bound_samples = (use_layer_samples == 1); + view_layer.samples = 0; + + if(use_layer_samples != 2) { + int samples = b_view_layer.samples(); + if(get_boolean(cscene, "use_square_samples")) + view_layer.samples = samples * samples; + else + view_layer.samples = samples; + } + } /* Images */ diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index 7290ea0cee0e..bf16de4a9c97 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -78,6 +78,8 @@ class BlenderSync { void sync_view(BL::SpaceView3D& b_v3d, BL::RegionView3D& b_rv3d, int width, int height); + inline int get_layer_samples() { return view_layer.samples; } + inline int get_layer_bound_samples() { return view_layer.bound_samples; } /* get parameters */ static SceneParams get_scene_params(BL::Scene& b_scene, @@ -191,18 +193,23 @@ class BlenderSync { struct RenderLayerInfo { RenderLayerInfo() - : use_background_shader(true), + : material_override(PointerRNA_NULL), + use_background_shader(true), use_background_ao(true), use_surfaces(true), - use_hair(true) + use_hair(true), + samples(0), + bound_samples(false) {} string name; - uint view_layer; + BL::Material material_override; bool use_background_shader; bool use_background_ao; bool use_surfaces; bool use_hair; + int samples; + bool bound_samples; } view_layer; Progress &progress; diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index 2abdaf103f95..9ac0c56d93f1 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -117,16 +117,6 @@ bool BKE_layer_collection_has_selected_objects( void BKE_base_set_visible(struct Scene *scene, struct ViewLayer *view_layer, struct Base *base, bool extend); void BKE_layer_collection_set_visible(struct Scene *scene, struct ViewLayer *view_layer, struct LayerCollection *lc, bool extend); -/* override */ - -void BKE_override_view_layer_datablock_add( - struct ViewLayer *view_layer, int id_type, const char *data_path, const struct ID *owner_id); -void BKE_override_view_layer_int_add( - struct ViewLayer *view_layer, int id_type, const char *data_path, const int value); - -void BKE_override_layer_collection_boolean_add( - struct LayerCollection *layer_collection, int id_type, const char *data_path, const bool value); - /* evaluation */ void BKE_layer_eval_view_layer( diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c index 3fedd380f729..572dba4d83ba 100644 --- a/source/blender/blenkernel/intern/layer.c +++ b/source/blender/blenkernel/intern/layer.c @@ -1057,39 +1057,6 @@ bool BKE_scene_has_object(Scene *scene, Object *ob) return false; } -/* ---------------------------------------------------------------------- */ -/* Override */ - -/** - * Add a new datablock override - */ -void BKE_override_view_layer_datablock_add( - ViewLayer *view_layer, int id_type, const char *data_path, const ID *owner_id) -{ - UNUSED_VARS(view_layer, id_type, data_path, owner_id); - TODO_LAYER_OVERRIDE; -} - -/** - * Add a new int override - */ -void BKE_override_view_layer_int_add( - ViewLayer *view_layer, int id_type, const char *data_path, const int value) -{ - UNUSED_VARS(view_layer, id_type, data_path, value); - TODO_LAYER_OVERRIDE; -} - -/** - * Add a new boolean override - */ -void BKE_override_layer_collection_boolean_add( - struct LayerCollection *layer_collection, int id_type, const char *data_path, const bool value) -{ - UNUSED_VARS(layer_collection, id_type, data_path, value); - TODO_LAYER_OVERRIDE; -} - /** \} */ /* Iterators */ diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c index ab50cf8b0a8c..2134c02b63d4 100644 --- a/source/blender/blenkernel/intern/library_query.c +++ b/source/blender/blenkernel/intern/library_query.c @@ -438,6 +438,8 @@ void BKE_library_foreach_ID_link(Main *bmain, ID *id, LibraryIDLinkCallback call ViewLayer *view_layer; for (view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) { + CALLBACK_INVOKE(view_layer->mat_override, IDWALK_CB_USER); + for (Base *base = view_layer->object_bases.first; base; base = base->next) { CALLBACK_INVOKE(base->object, IDWALK_CB_NOP); } diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 1529e6693fb2..ab5f1a30d04e 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -460,28 +460,6 @@ static void do_version_layers_to_collections(Main *bmain, Scene *scene) for (SceneRenderLayer *srl = scene->r.layers.first; srl; srl = srl->next) { ViewLayer *view_layer = BKE_view_layer_add(scene, srl->name); - if (srl->samples != 0) { - have_override = true; - - /* It is up to the external engine to handle - * its own doversion in this case. */ - BKE_override_view_layer_int_add( - view_layer, - ID_SCE, - "samples", - srl->samples); - } - - if (srl->mat_override) { - have_override = true; - - BKE_override_view_layer_datablock_add( - view_layer, - ID_MA, - "self", - (ID *)srl->mat_override); - } - if (srl->layflag & SCE_LAY_DISABLE) { view_layer->flag &= ~VIEW_LAYER_RENDER; } @@ -490,12 +468,11 @@ static void do_version_layers_to_collections(Main *bmain, Scene *scene) view_layer->flag &= ~VIEW_LAYER_FREESTYLE; } - /* XXX If we are to keep layflag it should be merged with flag (dfelinto). */ view_layer->layflag = srl->layflag; - /* XXX Not sure if we should keep the passes (dfelinto). */ view_layer->passflag = srl->passflag; - view_layer->pass_xor = srl->pass_xor; view_layer->pass_alpha_threshold = srl->pass_alpha_threshold; + view_layer->samples = srl->samples; + view_layer->mat_override = srl->mat_override; BKE_freestyle_config_free(&view_layer->freestyle_config, true); view_layer->freestyle_config = srl->freestyleConfig; diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc index 70bd533647ca..ce3b2538274d 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc @@ -151,6 +151,10 @@ void DepsgraphNodeBuilder::build_view_layer( LISTBASE_FOREACH (MovieClip *, clip, &bmain_->movieclip) { build_movieclip(clip); } + /* Material override. */ + if (view_layer->mat_override != NULL) { + build_material(view_layer->mat_override); + } /* Collections. */ add_operation_node(&scene->id, DEG_NODE_TYPE_LAYER_COLLECTIONS, diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc index 866b5e630317..f77d47874a2e 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc @@ -132,6 +132,10 @@ void DepsgraphRelationBuilder::build_view_layer(Scene *scene, ViewLayer *view_la LISTBASE_FOREACH (MovieClip *, clip, &bmain_->movieclip) { build_movieclip(clip); } + /* Material override. */ + if (view_layer->mat_override != NULL) { + build_material(view_layer->mat_override); + } /* Build all set scenes. */ if (scene->set != NULL) { ViewLayer *set_view_layer = BKE_view_layer_default_render(scene->set); diff --git a/source/blender/makesdna/DNA_layer_types.h b/source/blender/makesdna/DNA_layer_types.h index c3e819c55385..d959d54b07fa 100644 --- a/source/blender/makesdna/DNA_layer_types.h +++ b/source/blender/makesdna/DNA_layer_types.h @@ -76,9 +76,10 @@ typedef struct ViewLayer { /* Old SceneRenderLayer data. */ int layflag; int passflag; /* pass_xor has to be after passflag */ - int pass_xor; float pass_alpha_threshold; + int samples; + struct Material *mat_override; struct IDProperty *id_properties; /* Equivalent to datablocks ID properties. */ struct FreestyleConfig freestyle_config; diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 2d0838a04c5f..d100449c3536 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -194,7 +194,7 @@ typedef struct SceneRenderLayer { char name[64] DNA_DEPRECATED; /* MAX_NAME */ - struct Material *mat_override DNA_DEPRECATED; /* Converted to ViewLayer override. */ + struct Material *mat_override DNA_DEPRECATED; /* Converted to ViewLayer setting. */ unsigned int lay DNA_DEPRECATED; /* Converted to LayerCollection cycles camera visibility override. */ unsigned int lay_zmask DNA_DEPRECATED; /* Converted to LayerCollection cycles holdout override. */ @@ -205,7 +205,7 @@ typedef struct SceneRenderLayer { int passflag DNA_DEPRECATED; /* pass_xor has to be after passflag */ int pass_xor DNA_DEPRECATED; /* Converted to ViewLayer passflag and flag. */ - int samples DNA_DEPRECATED; /* Converted to ViewLayer override. */ + int samples DNA_DEPRECATED; /* Converted to ViewLayer setting. */ float pass_alpha_threshold DNA_DEPRECATED; /* Converted to ViewLayer pass_alpha_threshold. */ IDProperty *prop DNA_DEPRECATED; /* Converted to ViewLayer id_properties. */ diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index 155c030587df..6e69de774e95 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -274,6 +274,7 @@ void rna_Scene_use_view_map_cache_update(struct Main *bmain, struct Scene *scene void rna_Scene_glsl_update(struct Main *bmain, struct Scene *scene, struct PointerRNA *ptr); void rna_Scene_freestyle_update(struct Main *bmain, struct Scene *scene, struct PointerRNA *ptr); void rna_ViewLayer_name_set(struct PointerRNA *ptr, const char *value); +void rna_ViewLayer_material_override_update(struct Main *bmain, struct Scene *activescene, struct PointerRNA *ptr); void rna_ViewLayer_pass_update(struct Main *bmain, struct Scene *activescene, struct PointerRNA *ptr); /* named internal so as not to conflict with obj.update() rna func */ diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 9389dcf81ef0..f3f5371b4589 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -1424,6 +1424,13 @@ static void rna_SceneRenderView_name_set(PointerRNA *ptr, const char *value) BLI_uniquename(&scene->r.views, rv, DATA_("RenderView"), '.', offsetof(SceneRenderView, name), sizeof(rv->name)); } +void rna_ViewLayer_material_override_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) +{ + Scene *scene = (Scene *)ptr->id.data; + rna_Scene_glsl_update(bmain, scene, ptr); + DEG_relations_tag_update(bmain); +} + void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr) { Scene *scene = (Scene *)ptr->id.data; @@ -3227,6 +3234,19 @@ void rna_def_view_layer_common(StructRNA *srna, int scene) else RNA_def_property_clear_flag(prop, PROP_EDITABLE); if (scene) { + prop = RNA_def_property(srna, "material_override", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "mat_override"); + RNA_def_property_struct_type(prop, "Material"); + RNA_def_property_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Material Override", + "Material to override all other materials in this view layer"); + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_material_override_update"); + + prop = RNA_def_property(srna, "samples", PROP_INT, PROP_UNSIGNED); + RNA_def_property_ui_text(prop, "Samples", "Override number of render samples for this view layer, " + "0 will use the scene setting"); + RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); + prop = RNA_def_property(srna, "pass_alpha_threshold", PROP_FLOAT, PROP_FACTOR); RNA_def_property_ui_text(prop, "Alpha Threshold", "Z, Index, normal, UV and vector passes are only affected by surfaces with " diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index fc99be81ba3a..7efe0a5da607 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -307,7 +307,6 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf BLI_strncpy(rl->name, view_layer->name, sizeof(rl->name)); rl->layflag = view_layer->layflag; rl->passflag = view_layer->passflag; /* for debugging: view_layer->passflag | SCE_PASS_RAYHITS; */ - rl->pass_xor = view_layer->pass_xor; rl->rectx = rectx; rl->recty = recty; From 363cf1152fcbbe5fcd1a0b07833c1cf0370dba74 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 29 Dec 2018 10:04:39 +1100 Subject: [PATCH 90/94] Cleanup: use bool, style --- source/blender/alembic/intern/abc_curves.cc | 4 ++-- source/blender/makesrna/intern/rna_internal.h | 2 +- source/blender/makesrna/intern/rna_layer.c | 2 +- source/blender/makesrna/intern/rna_render.c | 2 +- source/blender/makesrna/intern/rna_scene.c | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/blender/alembic/intern/abc_curves.cc b/source/blender/alembic/intern/abc_curves.cc index fa5e22148362..9501c643e321 100644 --- a/source/blender/alembic/intern/abc_curves.cc +++ b/source/blender/alembic/intern/abc_curves.cc @@ -448,7 +448,7 @@ Mesh *AbcCurveReader::read_mesh(Mesh *existing_mesh, if (same_topology) { Nurb *nurbs = static_cast(curve->nurb.first); - for (curve_idx=0; nurbs; nurbs = nurbs->next, ++curve_idx) { + for (curve_idx = 0; nurbs; nurbs = nurbs->next, ++curve_idx) { const int num_in_alembic = (*num_vertices)[curve_idx]; const int num_in_blender = nurbs->pntsu; @@ -465,7 +465,7 @@ Mesh *AbcCurveReader::read_mesh(Mesh *existing_mesh, } else { Nurb *nurbs = static_cast(curve->nurb.first); - for (curve_idx=0; nurbs; nurbs = nurbs->next, ++curve_idx) { + for (curve_idx = 0; nurbs; nurbs = nurbs->next, ++curve_idx) { const int totpoint = (*num_vertices)[curve_idx]; if (nurbs->bp) { diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index 6e69de774e95..54d8adc4588c 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -224,7 +224,7 @@ void rna_def_mtex_common(struct BlenderRNA *brna, struct StructRNA *srna, const const char *activeset, const char *activeeditable, const char *structname, const char *structname_slots, const char *update, const char *update_index); void rna_def_texpaint_slots(struct BlenderRNA *brna, struct StructRNA *srna); -void rna_def_view_layer_common(struct StructRNA *srna, int scene); +void rna_def_view_layer_common(struct StructRNA *srna, bool scene); void rna_def_actionbone_group_common(struct StructRNA *srna, int update_flag, const char *update_cb); void rna_ActionGroup_colorset_set(struct PointerRNA *ptr, int value); diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c index 28b0b686bfcc..c84c59287a54 100644 --- a/source/blender/makesrna/intern/rna_layer.c +++ b/source/blender/makesrna/intern/rna_layer.c @@ -381,7 +381,7 @@ void RNA_def_view_layer(BlenderRNA *brna) RNA_def_struct_path_func(srna, "rna_ViewLayer_path"); RNA_def_struct_idprops_func(srna, "rna_ViewLayer_idprops"); - rna_def_view_layer_common(srna, 1); + rna_def_view_layer_common(srna, true); func = RNA_def_function(srna, "update_render_passes", "rna_ViewLayer_update_render_passes"); RNA_def_function_ui_description(func, "Requery the enabled render passes from the render engine"); diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 9836dfdfbc90..b549664139ff 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -906,7 +906,7 @@ static void rna_def_render_layer(BlenderRNA *brna) RNA_define_verify_sdna(0); - rna_def_view_layer_common(srna, 0); + rna_def_view_layer_common(srna, false); prop = RNA_def_property(srna, "passes", PROP_COLLECTION, PROP_NONE); RNA_def_property_struct_type(prop, "RenderPass"); diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index f3f5371b4589..e36a124073d6 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -3221,7 +3221,7 @@ static void rna_def_unit_settings(BlenderRNA *brna) RNA_def_property_update(prop, NC_WINDOW, NULL); } -void rna_def_view_layer_common(StructRNA *srna, int scene) +void rna_def_view_layer_common(StructRNA *srna, const bool scene) { PropertyRNA *prop; @@ -3239,7 +3239,7 @@ void rna_def_view_layer_common(StructRNA *srna, int scene) RNA_def_property_struct_type(prop, "Material"); RNA_def_property_flag(prop, PROP_EDITABLE); RNA_def_property_ui_text(prop, "Material Override", - "Material to override all other materials in this view layer"); + "Material to override all other materials in this view layer"); RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_ViewLayer_material_override_update"); prop = RNA_def_property(srna, "samples", PROP_INT, PROP_UNSIGNED); From 7c438e5366b22eeace2f2e9872e26519c5d5eb01 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 29 Dec 2018 10:19:38 +1100 Subject: [PATCH 91/94] Cleanup: avoid counting list multiple times Also simplify selected sequencer length function. --- .../scripts/startup/bl_ui/space_sequencer.py | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index 171e4c38d015..c328efc11d12 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -36,10 +36,7 @@ def act_strip(context): def sel_sequences(context): - try: - return len(context.selected_sequences) if context.selected_sequences else 0 - except AttributeError: - return 0 + return len(getattr(context, "selected_sequences", ())) def draw_color_balance(layout, color_balance): @@ -318,29 +315,35 @@ def draw(self, context): layout = self.layout layout.operator_context = 'INVOKE_REGION_WIN' - if len(bpy.data.scenes) > 10: + bpy_data_scenes_len = len(bpy.data.scenes) + if bpy_data_scenes_len > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.scene_strip_add", text="Scene...", icon='SCENE_DATA') - elif len(bpy.data.scenes) > 1: + elif bpy_data_scenes_len > 1: layout.operator_menu_enum("sequencer.scene_strip_add", "scene", text="Scene", icon='SCENE_DATA') else: layout.menu("SEQUENCER_MT_add_empty", text="Scene", icon='SCENE_DATA') + del bpy_data_scenes_len - if len(bpy.data.movieclips) > 10: + bpy_data_movieclips_len = len(bpy.data.movieclips) + if bpy_data_movieclips_len > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.movieclip_strip_add", text="Clip...", icon='CLIP') - elif len(bpy.data.movieclips) > 0: + elif bpy_data_movieclips_len > 0: layout.operator_menu_enum("sequencer.movieclip_strip_add", "clip", text="Clip", icon='CLIP') else: layout.menu("SEQUENCER_MT_add_empty", text="Clip", icon='CLIP') + del bpy_data_movieclips_len - if len(bpy.data.masks) > 10: + bpy_data_masks_len = len(bpy.data.masks) + if bpy_data_masks_len > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.mask_strip_add", text="Mask...", icon='MOD_MASK') - elif len(bpy.data.masks) > 0: + elif bpy_data_masks_len > 0: layout.operator_menu_enum("sequencer.mask_strip_add", "mask", text="Mask", icon='MOD_MASK') else: layout.menu("SEQUENCER_MT_add_empty", text="Mask", icon='MOD_MASK') + del bpy_data_masks_len layout.separator() From 07569a333b2e27ccc17cfe6662a9789f74d5fc71 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Sat, 29 Dec 2018 18:34:25 +0100 Subject: [PATCH 92/94] Fix T59675: Motion path frame numbers at wrong positions Reviewed By: brecht Differential Revision: https://developer.blender.org/D4113 --- source/blender/draw/intern/draw_anim_viz.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/source/blender/draw/intern/draw_anim_viz.c b/source/blender/draw/intern/draw_anim_viz.c index 4ec1f761d047..871358f815b6 100644 --- a/source/blender/draw/intern/draw_anim_viz.c +++ b/source/blender/draw/intern/draw_anim_viz.c @@ -267,15 +267,13 @@ static void MPATH_cache_motion_path(MPATH_PassList *psl, int frame = sfra + i; char numstr[32]; size_t numstr_len; - float co[3]; bool is_keyframe = (mpv->flag & MOTIONPATH_VERT_KEY) != 0; if ((show_keyframes && show_kf_no && is_keyframe) || ((avs->path_viewflag & MOTIONPATH_VIEW_FNUMS) && (i == 0))) { numstr_len = sprintf(numstr, " %d", frame); - mul_v3_m4v3(co, ob->imat, mpv->co); - DRW_text_cache_add(dt, co, numstr, numstr_len, 0, 0, txt_flag, (is_keyframe) ? col_kf : col); + DRW_text_cache_add(dt, mpv->co, numstr, numstr_len, 0, 0, txt_flag, (is_keyframe) ? col_kf : col); } else if (avs->path_viewflag & MOTIONPATH_VIEW_FNUMS) { bMotionPathVert *mpvP = (mpv - stepsize); @@ -283,8 +281,7 @@ static void MPATH_cache_motion_path(MPATH_PassList *psl, /* only draw framenum if several consecutive highlighted points don't occur on same point */ if ((equals_v3v3(mpv->co, mpvP->co) == 0) || (equals_v3v3(mpv->co, mpvN->co) == 0)) { numstr_len = sprintf(numstr, " %d", frame); - mul_v3_m4v3(co, ob->imat, mpv->co); - DRW_text_cache_add(dt, co, numstr, numstr_len, 0, 0, txt_flag, col); + DRW_text_cache_add(dt, mpv->co, numstr, numstr_len, 0, 0, txt_flag, col); } } } From 266b1e2cdbc19466ac452cc3cb08273d6f37b341 Mon Sep 17 00:00:00 2001 From: Severin Date: Sat, 29 Dec 2018 19:06:06 +0100 Subject: [PATCH 93/94] Fix: Scrolling Preferences could cause blank UI Steps to reproduce were: * Open Preferences * Choose "Input" category * Scroll to the bottom * Choose "Interface" category The newly activated category should now use the scrolling set previously in the other category, causing the contents to be out of view. You would have to scroll to bring it back. Now scrolling is stored per category. --- source/blender/editors/space_userpref/space_userpref.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/space_userpref/space_userpref.c b/source/blender/editors/space_userpref/space_userpref.c index 9a876f9d9257..a0a263cb5de5 100644 --- a/source/blender/editors/space_userpref/space_userpref.c +++ b/source/blender/editors/space_userpref/space_userpref.c @@ -123,7 +123,7 @@ static void userpref_main_region_init(wmWindowManager *wm, ARegion *ar) static void userpref_main_region_draw(const bContext *C, ARegion *ar) { - ED_region_panels(C, ar); + ED_region_panels_ex(C, ar, NULL, U.userpref, true); } static void userpref_operatortypes(void) From 543ddbe6bfa8072b4c09ccc9abe27237d3598db5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 30 Dec 2018 15:14:00 +1100 Subject: [PATCH 94/94] Cleanup: warnings (clang) --- source/blender/blenlib/intern/BLI_timer.c | 2 +- source/blender/blenlib/intern/noise.c | 2 +- source/blender/bmesh/tools/bmesh_bevel.c | 5 ++--- source/blender/draw/engines/eevee/eevee_shaders.c | 2 +- source/blender/draw/engines/workbench/workbench_volume.c | 2 +- source/blender/draw/intern/draw_cache.c | 2 +- source/blender/draw/intern/draw_cache_impl_mesh.c | 6 +++--- source/blender/editors/gpencil/annotate_paint.c | 4 ++-- source/blender/editors/gpencil/gpencil_intern.h | 2 +- source/blender/gpu/intern/gpu_framebuffer.c | 2 +- source/blender/imbuf/intern/colormanagement.c | 4 ++-- source/blender/makesrna/intern/rna_gpencil.c | 2 +- source/blender/makesrna/intern/rna_object.c | 2 +- source/blender/modifiers/intern/MOD_build.c | 3 ++- source/blender/modifiers/intern/MOD_particleinstance.c | 4 ++-- 15 files changed, 22 insertions(+), 22 deletions(-) diff --git a/source/blender/blenlib/intern/BLI_timer.c b/source/blender/blenlib/intern/BLI_timer.c index 7bb919d47e00..fdd89771077a 100644 --- a/source/blender/blenlib/intern/BLI_timer.c +++ b/source/blender/blenlib/intern/BLI_timer.c @@ -50,7 +50,7 @@ typedef struct TimerContainer { bool file_load_cb_registered; } TimerContainer; -static TimerContainer GlobalTimer = { 0 }; +static TimerContainer GlobalTimer = {{0}}; static void ensure_callback_is_registered(void); diff --git a/source/blender/blenlib/intern/noise.c b/source/blender/blenlib/intern/noise.c index 8ee99544ca58..ee2bab11ade8 100644 --- a/source/blender/blenlib/intern/noise.c +++ b/source/blender/blenlib/intern/noise.c @@ -188,7 +188,7 @@ const unsigned char hash[512] = { }; -const float hashvectf[768] = { +static const float hashvectf[768] = { 0.33783, 0.715698, -0.611206, -0.944031, -0.326599, -0.045624, -0.101074, -0.416443, -0.903503, 0.799286, 0.49411, -0.341949, -0.854645, 0.518036, 0.033936, 0.42514, -0.437866, -0.792114, -0.358948, 0.597046, 0.717377, -0.985413, 0.144714, 0.089294, -0.601776, -0.33728, -0.723907, -0.449921, 0.594513, 0.666382, 0.208313, -0.10791, 0.972076, diff --git a/source/blender/bmesh/tools/bmesh_bevel.c b/source/blender/bmesh/tools/bmesh_bevel.c index f0c2a343d4a5..e48616ea2312 100644 --- a/source/blender/bmesh/tools/bmesh_bevel.c +++ b/source/blender/bmesh/tools/bmesh_bevel.c @@ -1741,9 +1741,8 @@ static void bevel_harden_normals_mode(BevelParams *bp, BevVert *bv, BMOperator * /* Set normals.out for vertices as computed earlier */ if (BMO_slot_map_contains(nslot, bcur->nv.v) != true) { - float(*vert_normal) = MEM_callocN(sizeof(*vert_normal) * 3, __func__); - add_v3_v3(vert_normal, n_final); - normalize_v3(vert_normal); + float *vert_normal = MEM_mallocN(sizeof(*vert_normal) * 3, __func__); + normalize_v3_v3(vert_normal, n_final); BMO_slot_map_insert(op, nslot, bcur->nv.v, vert_normal); } diff --git a/source/blender/draw/engines/eevee/eevee_shaders.c b/source/blender/draw/engines/eevee/eevee_shaders.c index 6fbd0ae5173f..29b30e7763e0 100644 --- a/source/blender/draw/engines/eevee/eevee_shaders.c +++ b/source/blender/draw/engines/eevee/eevee_shaders.c @@ -33,7 +33,7 @@ #include "eevee_private.h" -const char *filter_defines = "#define HAMMERSLEY_SIZE " STRINGIFY(HAMMERSLEY_SIZE) "\n" +static const char *filter_defines = "#define HAMMERSLEY_SIZE " STRINGIFY(HAMMERSLEY_SIZE) "\n" #if defined(IRRADIANCE_SH_L2) "#define IRRADIANCE_SH_L2\n" #elif defined(IRRADIANCE_CUBEMAP) diff --git a/source/blender/draw/engines/workbench/workbench_volume.c b/source/blender/draw/engines/workbench/workbench_volume.c index a4cd81e7fd20..408212f6814a 100644 --- a/source/blender/draw/engines/workbench/workbench_volume.c +++ b/source/blender/draw/engines/workbench/workbench_volume.c @@ -52,7 +52,7 @@ static struct { struct GPUShader *volume_slice_coba_sh; struct GPUTexture *dummy_tex; struct GPUTexture *dummy_coba_tex; -} e_data = {NULL}; +} e_data = {{NULL}}; extern char datatoc_workbench_volume_vert_glsl[]; extern char datatoc_workbench_volume_frag_glsl[]; diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c index ff4fb0c85f65..f0a147f17b1c 100644 --- a/source/blender/draw/intern/draw_cache.c +++ b/source/blender/draw/intern/draw_cache.c @@ -2714,7 +2714,7 @@ GPUBatch *DRW_cache_bone_arrows_get(void) return SHC.drw_bone_arrows; } -const float staticSine[16] = { +static const float staticSine[16] = { 0.0f, 0.104528463268f, 0.207911690818f, 0.309016994375f, 0.406736643076f, 0.5f, 0.587785252292f, 0.669130606359f, 0.743144825477f, 0.809016994375f, 0.866025403784f, diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c index 30a940e27f6e..9d9f7c47b14a 100644 --- a/source/blender/draw/intern/draw_cache_impl_mesh.c +++ b/source/blender/draw/intern/draw_cache_impl_mesh.c @@ -268,7 +268,7 @@ typedef struct MeshRenderData { int *loose_verts; float (*poly_normals)[3]; - float (*vert_weight); + float *vert_weight; char (*vert_color)[3]; GPUPackedNormal *poly_normals_pack; GPUPackedNormal *vert_normals_pack; @@ -1422,7 +1422,7 @@ static float evaluate_vertex_weight(const MDeformVert *dvert, const DRW_MeshWeig /** Ensure #MeshRenderData.vert_weight */ static void mesh_render_data_ensure_vert_weight(MeshRenderData *rdata, const struct DRW_MeshWeightState *wstate) { - float (*vweight) = rdata->vert_weight; + float *vweight = rdata->vert_weight; if (vweight == NULL) { if (wstate->defgroup_active == -1) { goto fallback; @@ -3245,7 +3245,7 @@ static void mesh_create_weights(MeshRenderData *rdata, GPUVertBuf *vbo, DRW_Mesh const int vbo_len_capacity = mesh_render_data_verts_len_get_maybe_mapped(rdata); mesh_render_data_ensure_vert_weight(rdata, wstate); - const float (*vert_weight) = rdata->vert_weight; + const float *vert_weight = rdata->vert_weight; GPU_vertbuf_init_with_format(vbo, &format); /* Meh, another allocation / copy for no benefit. diff --git a/source/blender/editors/gpencil/annotate_paint.c b/source/blender/editors/gpencil/annotate_paint.c index a868e98e3dda..b6f81c818239 100644 --- a/source/blender/editors/gpencil/annotate_paint.c +++ b/source/blender/editors/gpencil/annotate_paint.c @@ -1697,8 +1697,8 @@ static void gpencil_draw_apply_event(wmOperator *op, const wmEvent *event, Depsg /* verify key status for straight lines */ if ((event->ctrl > 0) || (event->alt > 0)) { if (p->straight[0] == 0) { - int dx = abs(p->mval[0] - p->mvalo[0]); - int dy = abs(p->mval[1] - p->mvalo[1]); + int dx = abs((int)(p->mval[0] - p->mvalo[0])); + int dy = abs((int)(p->mval[1] - p->mvalo[1])); if ((dx > 0) || (dy > 0)) { /* check mouse direction to replace the other coordinate with previous values */ if (dx >= dy) { diff --git a/source/blender/editors/gpencil/gpencil_intern.h b/source/blender/editors/gpencil/gpencil_intern.h index 71d293d52446..aaeb2603accd 100644 --- a/source/blender/editors/gpencil/gpencil_intern.h +++ b/source/blender/editors/gpencil/gpencil_intern.h @@ -508,7 +508,7 @@ struct GP_EditableStrokes_Iter { */ #define GP_EDITABLE_STROKES_BEGIN(gpstroke_iter, C, gpl, gps) \ { \ - struct GP_EditableStrokes_Iter gpstroke_iter = {0}; \ + struct GP_EditableStrokes_Iter gpstroke_iter = {{{0}}}; \ Depsgraph *depsgraph_ = CTX_data_depsgraph(C); \ Object *obact_ = CTX_data_active_object(C); \ bGPdata *gpd_ = CTX_data_gpencil_data(C); \ diff --git a/source/blender/gpu/intern/gpu_framebuffer.c b/source/blender/gpu/intern/gpu_framebuffer.c index 8714c72686c5..915a7669326f 100644 --- a/source/blender/gpu/intern/gpu_framebuffer.c +++ b/source/blender/gpu/intern/gpu_framebuffer.c @@ -479,7 +479,7 @@ static void gpu_framebuffer_update_attachments_and_fill_empty_slots(GPUFrameBuff static struct { GPUFrameBuffer *framebuffers[FRAMEBUFFER_STACK_DEPTH]; uint top; -} FrameBufferStack = { 0 }; +} FrameBufferStack = {{0}}; static void gpuPushFrameBuffer(GPUFrameBuffer *fbo) { diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c index 395bb90d6861..887e2390718f 100644 --- a/source/blender/imbuf/intern/colormanagement.c +++ b/source/blender/imbuf/intern/colormanagement.c @@ -97,8 +97,8 @@ static int global_tot_looks = 0; float imbuf_luma_coefficients[3] = {0.0f}; float imbuf_xyz_to_rgb[3][3] = {{0.0f}}; float imbuf_rgb_to_xyz[3][3] = {{0.0f}}; -float imbuf_xyz_to_linear_srgb[3][3] = {{0.0f}}; -float imbuf_linear_srgb_to_xyz[3][3] = {{0.0f}}; +static float imbuf_xyz_to_linear_srgb[3][3] = {{0.0f}}; +static float imbuf_linear_srgb_to_xyz[3][3] = {{0.0f}}; /* lock used by pre-cached processors getters, so processor wouldn't * be created several times diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c index 92d29b4c2c59..e632bf36d67b 100644 --- a/source/blender/makesrna/intern/rna_gpencil.c +++ b/source/blender/makesrna/intern/rna_gpencil.c @@ -72,7 +72,7 @@ static EnumPropertyItem rna_enum_gpencil_onion_modes_items[] = { {0, NULL, 0, NULL, NULL} }; -const EnumPropertyItem rna_enum_gplayer_move_type_items[] = { +static const EnumPropertyItem rna_enum_gplayer_move_type_items[] = { {-1, "UP", 0, "Up", ""}, {1, "DOWN", 0, "Down", ""}, {0, NULL, 0, NULL, NULL} diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index 411c6af5a3fb..661a3c25e453 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -110,7 +110,7 @@ const EnumPropertyItem rna_enum_object_empty_drawtype_items[] = { {0, NULL, 0, NULL, NULL} }; -const EnumPropertyItem rna_enum_object_empty_image_depth_items[] = { +static const EnumPropertyItem rna_enum_object_empty_image_depth_items[] = { {OB_EMPTY_IMAGE_DEPTH_DEFAULT, "DEFAULT", 0, "Default", ""}, {OB_EMPTY_IMAGE_DEPTH_FRONT, "FRONT", 0, "Front", ""}, {OB_EMPTY_IMAGE_DEPTH_BACK, "BACK", 0, "Back", ""}, diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index e2c13d028272..77f607d19a23 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -32,7 +32,6 @@ * \ingroup modifiers */ - #include "MEM_guardedalloc.h" #include "BLI_utildefines.h" @@ -51,6 +50,8 @@ #include "BKE_particle.h" #include "BKE_scene.h" +#include "MOD_modifiertypes.h" + static void initData(ModifierData *md) { BuildModifierData *bmd = (BuildModifierData *) md; diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index 0a5b34c90eed..fa305f4c8a72 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -25,14 +25,12 @@ * Campbell Barton * * ***** END GPL LICENSE BLOCK ***** - * */ /** \file blender/modifiers/intern/MOD_particleinstance.c * \ingroup modifiers */ - #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" @@ -56,6 +54,8 @@ #include "DEG_depsgraph_build.h" #include "DEG_depsgraph_query.h" +#include "MOD_modifiertypes.h" + static void initData(ModifierData *md) { ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *) md;