4 years agoFix T43612: VSE crash clearing proxies
Campbell Barton [Thu, 12 Feb 2015 11:59:04 +0000 (22:59 +1100)]
Fix T43612: VSE crash clearing proxies

4 years agoFix part 1 of T43239, multisegment vertex bevel on 2-edge vertices.
Howard Trickey [Thu, 12 Feb 2015 11:55:30 +0000 (06:55 -0500)]
Fix part 1 of T43239, multisegment vertex bevel on 2-edge vertices.

Implemented multisegment rounding of vertices with two edges.
Works both with wire edges and edges that have one or two faces

4 years agoCorrect fix for T43424
Campbell Barton [Thu, 12 Feb 2015 10:31:36 +0000 (21:31 +1100)]
Correct fix for T43424

Would crash undoing adding a new scene in camera view.

4 years agoFix T43471, based on patch submitted by @sean_loh.
Lukas Tönne [Thu, 12 Feb 2015 09:15:25 +0000 (10:15 +0100)]
Fix T43471, based on patch submitted by @sean_loh.

Particle textures always override timing information of particles.
Previously particle times could be scripted, but now these changes are
discarded by the texture evaluation function.

The patch disables texture overriding when no textures are defined, this
way at least some old scripts can keep working.

4 years agoBGE: Improve UI of Anisotropic Friction subpanel
Jorge Bernal [Thu, 12 Feb 2015 05:38:21 +0000 (06:38 +0100)]
BGE: Improve UI of Anisotropic Friction subpanel

Little patch that introduces X: Y: and Z: texts over anisotropic friction sliders

Reviewers: moguri, campbellbarton

Reviewed By: campbellbarton

Differential Revision:

4 years agoFix for previous commit - since it's for non-debug unused vars, name it UNUSED_VARS_N...
Bastien Montagne [Wed, 11 Feb 2015 21:22:40 +0000 (22:22 +0100)]
Fix for previous commit - since it's for non-debug unused vars, name it UNUSED_VARS_NDEBUG.

This commit was proudly crafted by the Commit Rate Raising Committee!

4 years agoAdd new UNUSED_VARS_DEBUG utils, which is NOP in debug build, but tags given vars...
Bastien Montagne [Wed, 11 Feb 2015 21:08:36 +0000 (22:08 +0100)]
Add new UNUSED_VARS_DEBUG utils, which is NOP in debug build, but tags given vars as unused in non-debug builds.

Helps handling cleanly pure-debug variables.

4 years agoOutliner: use enum for outliner_group_operation()
Campbell Barton [Wed, 11 Feb 2015 20:43:32 +0000 (07:43 +1100)]
Outliner: use enum for outliner_group_operation()

No functional changes.

D1067 by @lichtwerk

4 years agoOutliner: ContextMenus for constraints/modifiers
Campbell Barton [Wed, 11 Feb 2015 20:25:36 +0000 (07:25 +1100)]
Outliner: ContextMenus for constraints/modifiers

Context menu to toggle render, visibility & delete

D996 by @lichtwerk

4 years agoFix VSE strip channel skip overlapping strips
Campbell Barton [Wed, 11 Feb 2015 19:18:02 +0000 (06:18 +1100)]
Fix VSE strip channel skip overlapping strips

D1096 by @mangostaniko (with some edits)

4 years agoFull screen mode did not remember the follow mode of previous screen.
Antony Riakiotakis [Wed, 11 Feb 2015 19:01:21 +0000 (20:01 +0100)]
Full screen mode did not remember the follow mode of previous screen.

Also make follow mode do something similar in reverse play.

4 years agocleanup: rename enum type to blender convention
Campbell Barton [Wed, 11 Feb 2015 16:29:10 +0000 (03:29 +1100)]
cleanup: rename enum type to blender convention

4 years agoFileBrowser Bookmarks: fix issue with invalid bookmarks.
Bastien Montagne [Wed, 11 Feb 2015 16:07:52 +0000 (17:07 +0100)]
FileBrowser Bookmarks: fix issue with invalid bookmarks.

Reported by maxon through IRC, thanks.

Invalid (inexistant) bookmarks would not be selectable, hence not removable.

First, made invalid bookmarks grayed out in lists, so that user knows when there are some.

Then, added a new 'cleanup' operator that removes all invalid bookmarks.

This solution may not be completely satisfaying, but should do the work for now.
I do not want to add back those ugly 'X' delete buttons for each entry in list,
so better solution would be to make UIList able to select several items at once...

4 years agoBPY RNA: add `is_property_readonly()`.
Bastien Montagne [Wed, 11 Feb 2015 16:06:09 +0000 (17:06 +0100)]
BPY RNA: add `is_property_readonly()`.

This property may be defined dynamically, so mere access to static flag value
through `[...].is_readonly` is not enough.

4 years agoFix (unreported) disabled items in UIList not grayed out.
Bastien Montagne [Wed, 11 Feb 2015 15:46:41 +0000 (16:46 +0100)]
Fix (unreported) disabled items in UIList not grayed out.

Since we override widget's theme colors in this case in widget_state,
we have to redo 'disabled' alpha shading...

4 years agoRNA: sequencer channel range was incorrect
Campbell Barton [Wed, 11 Feb 2015 15:36:33 +0000 (02:36 +1100)]
RNA: sequencer channel range was incorrect

Broke since 2.4x, zero sequence channels shouldn't be allowed

4 years agoFix depth-eyedropper crashing outside 3d view
Campbell Barton [Wed, 11 Feb 2015 14:29:33 +0000 (01:29 +1100)]
Fix depth-eyedropper crashing outside 3d view

Also set the eyedropper operators as internal.

4 years agoUse line curve for cavity mask instead of sharp as default when no curve
Antony Riakiotakis [Wed, 11 Feb 2015 14:27:50 +0000 (15:27 +0100)]
Use line curve for cavity mask instead of sharp as default when no curve
is found during loading

4 years agoCavity option active even in fill brushes
Antony Riakiotakis [Wed, 11 Feb 2015 14:09:11 +0000 (15:09 +0100)]
Cavity option active even in fill brushes

4 years agoCavity masking - add curve control to cavity mask and move relevant
Antony Riakiotakis [Wed, 11 Feb 2015 14:07:04 +0000 (15:07 +0100)]
Cavity masking - add curve control to cavity mask and move relevant
structs to paint struct (might be useful for vertex paint too in the

Cavity masking now has a curve control. The control will set the amount
of masking for positive cavity ("pointness") or negative cavity
("cavity") with x axis being the amount of cavity and 0.0 = full cavity,
1.0 = full pointness, 0.5 = no cavity and the y axis being the amount of

4 years agoFix T43621: Layout only using 65% of available width
Julian Eisel [Wed, 11 Feb 2015 13:32:49 +0000 (14:32 +0100)]
Fix T43621: Layout only using 65% of available width

Not really a bug, more like a silly typo.

4 years agoCompositor: Expose Alpha socket for multilayer EXR node
Sergey Sharybin [Wed, 11 Feb 2015 13:26:42 +0000 (18:26 +0500)]
Compositor: Expose Alpha socket for multilayer EXR node

This way re-mapping scene nodes to EXR files becomes much easier,
no extra trickery with separate RGBA setups is needed.

Plus makes it more consistent with regular EXR files.

This uses EGBA pass to get alpha from.

4 years agoFix T43628: Circular dependency error preventing multiple highpoly objects to bake
Dalai Felinto [Wed, 11 Feb 2015 13:23:03 +0000 (11:23 -0200)]
Fix T43628: Circular dependency error preventing multiple highpoly objects to bake

Throwing an RPT_ERROR was stopping baking after the first object.

4 years agoMinor code cleanup: move some duplicated texpaint code into function
Nicholas Bishop [Wed, 11 Feb 2015 12:33:47 +0000 (13:33 +0100)]
Minor code cleanup: move some duplicated texpaint code into function

Reviewers: psy-fi

Reviewed By: psy-fi

Differential Revision:

4 years agoUV Island support for vertex & edge slide
Campbell Barton [Wed, 11 Feb 2015 08:40:54 +0000 (19:40 +1100)]
UV Island support for vertex & edge slide

This ensures slide with `Correct UVs` enabled, keeps UV's (any loop custom-data) contiguous.

Adds 2 key functions `BM_vert_loop_groups_data_layer_create` and `BM_vert_loop_groups_data_layer_merge`

They work by collecting matching loop custom-data around the vertices loop-fan,
and merging the custom-data after edits are made.

Thanks to @mont29 for review!

4 years agoCleanup: Remove unused Cycles cpuid code.
Thomas Dinges [Wed, 11 Feb 2015 10:28:42 +0000 (11:28 +0100)]
Cleanup: Remove unused Cycles cpuid code.

4 years agoFix crasher in own UIList bookmarks commit.
Bastien Montagne [Wed, 11 Feb 2015 10:16:32 +0000 (11:16 +0100)]
Fix crasher in own UIList bookmarks commit.

Immediate crash in merged asset-experiments branch, no idea why it did not show in master too?

4 years agocleanup: style/indentation
Campbell Barton [Wed, 11 Feb 2015 07:38:41 +0000 (18:38 +1100)]
cleanup: style/indentation

4 years agoFix T43149: Grease Pencil fill areas look divided by multiples ray lines
Joshua Leung [Wed, 11 Feb 2015 04:54:14 +0000 (17:54 +1300)]
Fix T43149: Grease Pencil fill areas look divided by multiples ray lines

The problem here was caused by the usage of GL_POLYGON_SMOOTH (thanks Campbell
for the help tracking this down!). Apparently the issue is that this option
ends up doing some nasty accumulation with whatever is in the framebuffer for
each *tesselated* polygon (instead of the whole polygon as intended/expected).

With the removal of this option, filled areas and volumetric strokes will now
have jagged edges again. To resolve these artifacts, it is necessary to enable
Viewport Multisampling (found in the User Preferences, under the System tab),
and restart Blender to see the effects of this change.

4 years agoMinor optimization for mask modifier
Campbell Barton [Tue, 10 Feb 2015 23:34:34 +0000 (10:34 +1100)]
Minor optimization for mask modifier

- don't resize ghash buckets (reserve maximum size)
- get vert, edge arrays instead of DM getVert, getEdge
- calloc -> malloc

4 years agoFileBrowser: Editable Bookmarks.
Bastien Montagne [Tue, 10 Feb 2015 23:09:45 +0000 (00:09 +0100)]
FileBrowser: Editable Bookmarks.

Bookmarks are now editable (i.e. you can rename them, and reorder them).
They are also listed in regular UILists, so you can filter/sort them as usual too.

Also, FileBrowser 'T' side area is changed to something similar to 3DView one,
in this case because we need op panel to remain at the bottom, and later because
we'll more than likely need tabs here!

Thanks to Campbell and Sergey for reviews.

Differential Revision:

4 years agoUI: add optional tip callback to uiBut, and use it for per-item tooltips in UIList.
Bastien Montagne [Tue, 10 Feb 2015 23:06:03 +0000 (00:06 +0100)]
UI: add optional tip callback to uiBut, and use it for per-item tooltips in UIList.

When defined, uiBut->tip_func is called when button's tip is generated. This allows
for advanced, dynamic generation of tooltips.

For now, only used by UIList, which can now optionaly use a given string property
of each item for its tooltip.

Thanks to Campbell for the reviews!

4 years agoFix T43297 The Exporter assumed ANSII encoding but we need to support UTF-8 instead
Gaia Clary [Tue, 10 Feb 2015 21:12:47 +0000 (22:12 +0100)]
Fix T43297 The Exporter assumed ANSII encoding but we need to support UTF-8 instead

4 years agoCycles: Control CPU capabilities via environment variables
Sergey Sharybin [Tue, 10 Feb 2015 20:55:35 +0000 (01:55 +0500)]
Cycles: Control CPU capabilities via environment variables

Purely developers-only feature which allows to disable some of the CPU
capabilities. This way it's easier to test different kernels on the
same machine.

4 years agoRemove legacy color transform functions.
Troy Sobotka [Tue, 10 Feb 2015 20:33:00 +0000 (21:33 +0100)]
Remove legacy color transform functions.

Differential Revision:

4 years agoFix recent vert-slide UV's when cancelled
Campbell Barton [Tue, 10 Feb 2015 20:22:19 +0000 (07:22 +1100)]
Fix recent vert-slide UV's when cancelled

Added support recently, but wasn't cancelling correctly.

4 years agoFix T43565: BGE removed unneeded if/else in BL_KetsjiEmbedStart
Sybren A. Stüvel [Tue, 10 Feb 2015 20:28:18 +0000 (21:28 +0100)]
Fix T43565: BGE removed unneeded if/else in BL_KetsjiEmbedStart

4 years agoTypo fix + clarification in mathutils.Vector example
Sybren A. Stüvel [Tue, 10 Feb 2015 20:25:01 +0000 (21:25 +0100)]
Typo fix + clarification in mathutils.Vector example

4 years agoCycles: Fallback to bottom-top tile order when rendering from the command line
Sergey Sharybin [Tue, 10 Feb 2015 20:02:36 +0000 (01:02 +0500)]
Cycles: Fallback to bottom-top tile order when rendering from the command line

In the worst case it'll do nothing, in the best case it might give some percent
of speedup because of better cache coherency.

Currently it's all handled as an override on blender_python level, don't really
see reason to penetrate the boolean flag further into sync code. This can always
be done later if needed.

4 years agoCavity mask support for texture painting.
Antony Riakiotakis [Tue, 10 Feb 2015 19:22:25 +0000 (20:22 +0100)]
Cavity mask support for texture painting.

Title says it all, options can be found in the options panel,

A slider controls the amount of cavity masking that is applied while
it's also possible to invert the mask and paint outside or inside

Again we might greatly benefit from caching of the cavity result, but
that should only affect startup time for the stroke.

4 years agoCycles: Add print functions for sse3f, sse3i and sse3b
Sergey Sharybin [Tue, 10 Feb 2015 19:20:34 +0000 (00:20 +0500)]
Cycles: Add print functions for sse3f, sse3i and sse3b

4 years agoCycles: Add utility functions to print ssef, ssei and sseb
Sergey Sharybin [Tue, 10 Feb 2015 19:11:04 +0000 (00:11 +0500)]
Cycles: Add utility functions to print ssef, ssei and sseb

Nothing special, just really handy for debugging.

4 years agoCycles: Move mesh attribute creation into separate functions
Sergey Sharybin [Tue, 10 Feb 2015 18:40:26 +0000 (23:40 +0500)]
Cycles: Move mesh attribute creation into separate functions

This makes overall code of create_mesh() much cleaner and easier to follow.

4 years agoBLI_linklist: Add a new helper to move an item (identified by its current index)...
Bastien Montagne [Tue, 10 Feb 2015 16:28:55 +0000 (17:28 +0100)]
BLI_linklist: Add a new helper to move an item (identified by its current index) to a new position in the list.

4 years agoSlip tool: add enter and space to confirm the operation
Antony Riakiotakis [Tue, 10 Feb 2015 16:39:23 +0000 (17:39 +0100)]
Slip tool: add enter and space to confirm the operation

4 years agoCycles: optimize one normalization out from the previous commit
Sergey Sharybin [Tue, 10 Feb 2015 16:32:44 +0000 (21:32 +0500)]
Cycles: optimize one normalization out from the previous commit

4 years agoCycles: implement pointiness geometry attribute
Sergey Sharybin [Fri, 6 Feb 2015 07:35:46 +0000 (12:35 +0500)]
Cycles: implement pointiness geometry attribute

This attribute means how "pointy" the geometry surface is, which allows to do
effects like dirt maps and wear-off effects on render geometry. This means the
attribute is calculated for the final mesh which means no baking (which implies
UV unwrap) is needed. Apart from this the behavior is quite close to how vertex
dirty colors works.

The new attribute is available as an output socket of Geometry node.

There's no penalty for the render time, only some delay on scene preparation
(the delay is linear of the mesh complexity).

Reviewers: brecht, juicyfruit

Subscribers: eyecandy, venomgfx

Differential Revision:

4 years agoTests: Disable failing import/export tests for until they're fixed
Sergey Sharybin [Tue, 10 Feb 2015 14:29:18 +0000 (19:29 +0500)]
Tests: Disable failing import/export tests for until they're fixed

4 years agoCycles: Bring back distance check in re-intersection
Sergey Sharybin [Tue, 10 Feb 2015 14:07:55 +0000 (19:07 +0500)]
Cycles: Bring back distance check in re-intersection

From more investigation of the numeric failures in the kernel it appears
the check was rather correct. But in theory it;s also needed for the motion

4 years agoCycles: Correction to glossy shaders not handling total internal reflection
Sergey Sharybin [Tue, 10 Feb 2015 13:20:36 +0000 (18:20 +0500)]
Cycles: Correction to glossy shaders not handling total internal reflection

The issue was caused by lack of check for whether fresnel term is actually
giving total internal reflection in refraction BSDFs. This lead to usage of
arbitrary vector of (0, 0, 0) as reflection, giving numeric issues in other
areas of the kernel.

This gives some visual changes of sharp reflection but it seems to be rather
proper now. Which also corresponds with rough glossy reflection with sharpness
set to 0.001 (previously it was totally different from sharpness of 0.0, which
is just weird).

4 years agoFix T43596: Refraction BSDF crashes blender on pre-sse4 CPU
Sergey Sharybin [Tue, 10 Feb 2015 12:31:55 +0000 (17:31 +0500)]
Fix T43596: Refraction BSDF crashes blender on pre-sse4 CPU

This is the same issue T43475: SSE4 code is more robust to non-finite values
in the ray origin/direction. So for now added a check before doing BVH traversal
for pre-SSE4 CPUs.

For sure actual root of the issue is a bit different and much more tricky to
solve, especially without disturbing render results too much. Still looking
into this.

In any case, it's kinda fine to have such a check, we might later make it to be
a kernel_assert() instead of just a return.

4 years agoFix grease-pencil crash without clip/track data
Campbell Barton [Tue, 10 Feb 2015 12:34:16 +0000 (23:34 +1100)]
Fix grease-pencil crash without clip/track data

4 years agoUI: scale timeline cache-height by DPI/pixelsize
Campbell Barton [Tue, 10 Feb 2015 11:33:52 +0000 (22:33 +1100)]
UI: scale timeline cache-height by DPI/pixelsize

D602 by @blakenator with edits

4 years agocorrect last commit
Campbell Barton [Tue, 10 Feb 2015 11:03:10 +0000 (22:03 +1100)]
correct last commit

4 years agoFix: Grease Pencil datablocks can be copied using the ID.copy() API method now
Joshua Leung [Tue, 10 Feb 2015 10:30:30 +0000 (23:30 +1300)]
Fix: Grease Pencil datablocks can be copied using the ID.copy() API method now

4 years agoSynchronize changes from buildbot server
Sergey Sharybin [Tue, 10 Feb 2015 08:47:28 +0000 (13:47 +0500)]
Synchronize changes from buildbot server

4 years agoFix T43611: Collision shape of rigid bodies changes inadvertently
Sergey Sharybin [Tue, 10 Feb 2015 07:49:34 +0000 (12:49 +0500)]
Fix T43611: Collision shape of rigid bodies changes inadvertently

The issue was caused by the fix for T34108, which modified DNA in order to
get a fallback box collision shape. Not sue why it's needed, we can just get
box shape directly, without modifying user's settings.

4 years agoNodes: Various UI cleanups for Image and Environment Texture Nodes
julianeisel [Mon, 9 Feb 2015 22:11:30 +0000 (23:11 +0100)]
Nodes: Various UI cleanups for Image and Environment Texture Nodes

Mainly consistency changes and smaller fixes.

* Environment Texture Nodes:
** show image info
** split layout for menus (showing menu title on the left)
** hierarchical button order

* Image Nodes:
** disable Alpha Mode menu if Use Alpha is disabled
** Don't show "+" icon/button if an image is already loaded
** Consistent alignment of menu buttons (see Input Color Space menu)

Requested and approved by @venomgfx

4 years agoNodes: (Un)pack, filepath, refresh buttons for Environment Texture nodes
julianeisel [Mon, 9 Feb 2015 21:25:12 +0000 (22:25 +0100)]
Nodes: (Un)pack, filepath, refresh buttons for Environment Texture nodes

The same buttons are already used for other image textures and since the
environment tex node does only allow images as well, it makes sense to
have this here too.

Approved by @lukastoenne and @venomgfx,
requested by @venomgfx

4 years agoCMake cleanup: Move OSL detection code into FindOpenShadingLanguage.cmake
Sergey Sharybin [Mon, 9 Feb 2015 21:39:00 +0000 (02:39 +0500)]
CMake cleanup: Move OSL detection code into FindOpenShadingLanguage.cmake

Should be no functional changes.

4 years agoFix file size not drawn using Link/Append
julianeisel [Mon, 9 Feb 2015 21:06:07 +0000 (22:06 +0100)]
Fix file size not drawn using Link/Append

For linking/appending, .blends get the type S_IFDIR added which prevents
the size from being drawn. BLI_is_dir gets the type from the OS so it's
better suited for this case.

Reported by @sergey.

4 years agoBGE - Vehicle Controller - add background and API checks for arguments of function...
Ines Almeida [Mon, 9 Feb 2015 14:45:29 +0000 (14:45 +0000)]
BGE - Vehicle Controller - add background and API checks for arguments of function calls

Fixes T41570 crash
For readability, attachDir was renamed to downDir and the Python API docs renamed accordingly

4 years agoRecreating bge python modules instead of using existing
Ines Almeida [Mon, 9 Feb 2015 20:56:38 +0000 (20:56 +0000)]
Recreating bge python modules instead of using existing

All of the initXPythonBinding functions are changed to always creating the module instead of importing if previously existing.
I can instead only remove the module return when the import is ok, so that it always inits. But then, I don't see the point in importing.

I make sure that these functions are called only once per run, inside initBGE.
This was not the case with GameTypes. I moved initPyTypes inside of initGameTypesPythonBinding due to that.

I reorganized initGamePlayerPythonScripting and initGamePythonScripting so that they run things in the same order.
initGamePlayerPythonScripting imports mathutils and aud, the other only aud. Shouldn't it be the same for both?

Reviewers: campbellbarton

Subscribers: sybren

Projects: #game_engine, #game_python

Differential Revision:

4 years agoFix T43424: undo changes the active scene
Campbell Barton [Mon, 9 Feb 2015 18:45:57 +0000 (05:45 +1100)]
Fix T43424: undo changes the active scene

Using different scenes with 2+ windows broke entirely using undo.
Now keep track of the current windows scene in each undo-file,
and ensure the undo-scene is on a visible window when undo is executed,
switching the scene only when its not in a visible window.

4 years agomore direct fix for last commit
Campbell Barton [Mon, 9 Feb 2015 16:00:37 +0000 (03:00 +1100)]
more direct fix for last commit

4 years agoFix T43498: New curves fails /w radius & rotation
Campbell Barton [Mon, 9 Feb 2015 15:38:21 +0000 (02:38 +1100)]
Fix T43498: New curves fails /w radius & rotation

Scaling matrix assumed no rotation,
also remove unused apply_diameter arg.

4 years agoFix outliner crash renaming library /w filter
Campbell Barton [Mon, 9 Feb 2015 15:03:55 +0000 (02:03 +1100)]
Fix outliner crash renaming library /w filter

D1045 by @a.romanov

4 years agoCycles: Another attempt to solve 32bit CUDA kernel
Sergey Sharybin [Mon, 9 Feb 2015 11:11:58 +0000 (16:11 +0500)]
Cycles: Another attempt to solve 32bit CUDA kernel

Previous fix didn't quite work well. For some reason everything worked fine when
using native nvcc in 32bit environment, but cross-compiling from 64bit platform
it was still running out of memory.

For now just made it so all the kernels are slower on 32bit CUDA as a temporary
solution. Either it'll be solved in next CUDA releases (by dropped 32bit? =\) or
we'll find better workaround.

4 years agoFix ImBuf leaked by Image from View operator
Nicholas Bishop [Mon, 9 Feb 2015 11:02:59 +0000 (12:02 +0100)]
Fix ImBuf leaked by Image from View operator

Running this operator and and closing Blender gives this:
Error: Not freed memory blocks: 2
ImBuf_struct len: 2480 0x69ba4f8
imb_addrectImBuf len: 1048576 0x6ccc2d8

Fixed with added call to IMB_freeImBuf in BKE_image_add_from_imbuf.
Could be fixed in the operator instead, but I think the BKE function
is the correct place since the comment says it should take ownership
of the ImBuf.

Reviewers: sergey

Reviewed By: sergey

Differential Revision:

4 years agoCode cleanup: remove unused function BKE_image_assign_ibuf
Nicholas Bishop [Mon, 9 Feb 2015 10:25:34 +0000 (11:25 +0100)]
Code cleanup: remove unused function BKE_image_assign_ibuf

Reviewers: sergey

Reviewed By: sergey

Differential Revision:

4 years agoSpaceFile: rework filelist_find, was looping way too much.
Bastien Montagne [Mon, 9 Feb 2015 09:10:20 +0000 (10:10 +0100)]
SpaceFile: rework filelist_find, was looping way too much.

4 years agoGPencil: Show color swatches for GPencil layers in Outliner
Joshua Leung [Sun, 8 Feb 2015 23:39:03 +0000 (12:39 +1300)]
GPencil: Show color swatches for GPencil layers in Outliner

Instead of showing a meaningless "dot" icon or having to come up with an arbitrary
icon, the Outliner now shows the stroke/fill color swatches for each layer to
match every other place where these are shown.

NOTE: Like many other widgets in the outliner though, these are not editable.

4 years agoGPencil: Viewport visbility and editability toggles for layers in Outliner
Joshua Leung [Sun, 8 Feb 2015 23:34:17 +0000 (12:34 +1300)]
GPencil: Viewport visbility and editability toggles for layers in Outliner

* Viewport visibility and locking are currently exposed
* Later on, visibility in renders can also be included

4 years agoFix T43554: Zoom to mousepos makes 2D Views pan after zoom limits are
julianeisel [Sun, 8 Feb 2015 21:33:58 +0000 (22:33 +0100)]
Fix T43554: Zoom to mousepos makes 2D Views pan after zoom limits are

There are a couple of things that I don't like here, but it seems like
the best way to handle this for now.

4 years agondof: detect new 3Dx devices on Linux
Mike Erwin [Sun, 8 Feb 2015 20:01:18 +0000 (15:01 -0500)]
ndof: detect new 3Dx devices on Linux

Was filtering for Logitech's USB vendor ID. 3Dconnexion now uses their
own vendor ID for new products. Mac & Windows don't look for specific
vendors so they should be fine.

Also added a note to eventually make USE_FINISH_GLITCH_WORKAROUND
available on all platforms.

4 years agoGHOST: fewer virtual functions
Mike Erwin [Sun, 8 Feb 2015 19:18:53 +0000 (14:18 -0500)]
GHOST: fewer virtual functions

Reined back over-use of virtual functions in GHOST, especially in
"leaves" of the inheritance hierarchy. This eliminates vtables for many
classes and (in some places) turns virtual function dispatch into direct
function calls.

I'll be around to fix things if other coders think this change is too

Still lots of virtual in GHOST_TaskbarWin32 since it just loves virtual.

4 years agominor Windows include tweak
Mike Erwin [Sun, 8 Feb 2015 17:41:45 +0000 (12:41 -0500)]
minor Windows include tweak

Needed a minor change to test committing from a new development system.

4 years agoSome minor fixes from latest coverity scan, nothing crucial here.
Bastien Montagne [Sun, 8 Feb 2015 15:26:45 +0000 (16:26 +0100)]
Some minor fixes from latest coverity scan, nothing crucial here.

4 years agoBGE physics: When colliding, report first contact point to Python
Sybren A. Stüvel [Thu, 5 Feb 2015 08:39:53 +0000 (09:39 +0100)]
BGE physics: When colliding, report first contact point to Python

This patch adds two parameters to the functions in the
collisionCallbacks list. The callback function should thus be like

def on_colliding(other, point, normal):
    print("Colliding with %s at %s with normal %s" % (other, point, normal))


The `point` parameter will contain the collision point in world
coordinates on the current object, and the `normal` contains the
surface normal at the collision point.

The callback functions are checked for the number of arguments
`co_argcount`. The new `point` and `normal` arguments are only passed
when `co_argcount > 1` or when `co_argcount` cannot be determined.

Reviewers: brita_, campbellbarton

Subscribers: sergey, sybren, agoose77

Projects: #game_physics

Differential Revision:

4 years agoInitial vertex slide UV-correct support
Campbell Barton [Sun, 11 Jan 2015 15:18:20 +0000 (02:18 +1100)]
Initial vertex slide UV-correct support

Still need to adjust for contiguous UV's

4 years agoBoxPack: avoid using static vars (make threadsafe)
Campbell Barton [Sun, 8 Feb 2015 06:07:47 +0000 (17:07 +1100)]
BoxPack: avoid using static vars (make threadsafe)

4 years agoFix for mask modifier invert UI missing
Campbell Barton [Sun, 8 Feb 2015 05:25:07 +0000 (16:25 +1100)]
Fix for mask modifier invert UI missing

D1066 by @gregzaal

4 years agoCMake: only quiet warnings for generated rna files
Campbell Barton [Sun, 8 Feb 2015 03:33:06 +0000 (14:33 +1100)]
CMake: only quiet warnings for generated rna files

also minor warning cleanup

4 years agoRNA: use FUNC_USE_MAIN to avoid 'G' global
Campbell Barton [Sat, 7 Feb 2015 15:20:55 +0000 (02:20 +1100)]
RNA: use FUNC_USE_MAIN to avoid 'G' global

4 years agoRNA: packing functions for vfont & sound
Campbell Barton [Sat, 7 Feb 2015 11:31:00 +0000 (22:31 +1100)]
RNA: packing functions for vfont & sound

D389 by @kevindietrich

4 years agoGPencil: Initial support for GP Layers in Outliner
Joshua Leung [Fri, 6 Feb 2015 23:50:22 +0000 (12:50 +1300)]
GPencil: Initial support for GP Layers in Outliner

This is still very rudimentary, and lacks many things.
* This needs a better icon. Perhaps we can look into using colour swatches here
  too like in all the other places?
* The "active" check needs to be implemented still
* Various restriction toggles to come still

4 years agoGPencil: Initial support for Grease Pencil in the Outliner
Joshua Leung [Fri, 6 Feb 2015 23:28:17 +0000 (12:28 +1300)]
GPencil: Initial support for Grease Pencil in the Outliner

This commit just adds entries for the Grease Pencil datablocks in the Outliner.
Currently, there's not much more to see here, but the following commits will see
to that.

4 years agoFix T43515: Initial velocity for fire bug
Miika Hamalainen [Fri, 6 Feb 2015 20:05:09 +0000 (22:05 +0200)]
Fix T43515: Initial velocity for fire bug

Visual representation of fire was generated before simulation step took place. This caused fire to essentially lag one simulation step behind, even though all emission areas were up to date.

4 years agoFix T42950: Smoke particle flow doesn't work with high res and subframes unless ...
Miika Hamalainen [Fri, 6 Feb 2015 19:23:43 +0000 (21:23 +0200)]
Fix T42950: Smoke particle flow doesn't work with high res and subframes unless "set size" option is ticked.

4 years agoFix T43579: FBX Export shading issue (Broken normals?)
Bastien Montagne [Fri, 6 Feb 2015 19:14:18 +0000 (20:14 +0100)]
Fix T43579: FBX Export shading issue (Broken normals?)

Error in custom split normals work, non-autosmooth normals != vertex normals!
Loops from flat faces shall take normal of their face, not their vertex.


4 years agocleanup: style
Campbell Barton [Fri, 6 Feb 2015 17:33:48 +0000 (04:33 +1100)]
cleanup: style

4 years agoUserPrefs: increase max undo steps to 256
Campbell Barton [Fri, 6 Feb 2015 17:26:57 +0000 (04:26 +1100)]
UserPrefs: increase max undo steps to 256

Campbell Barton [Fri, 6 Feb 2015 16:46:05 +0000 (03:46 +1100)]

The term auto-view on its own isn't very meaningful

4 years agoOne more crashing instance for hashes
Antony Riakiotakis [Fri, 6 Feb 2015 16:39:26 +0000 (17:39 +0100)]
One more crashing instance for hashes

4 years agoSlip tool accepts numerical input.
Antony Riakiotakis [Fri, 6 Feb 2015 15:38:32 +0000 (16:38 +0100)]
Slip tool accepts numerical input.

4 years agoGet rid of no scaling for proxies for master, it causes FX to crash,
Antony Riakiotakis [Fri, 6 Feb 2015 14:58:39 +0000 (15:58 +0100)]
Get rid of no scaling for proxies for master, it causes FX to crash,
will code another workaround for gooseberry.

4 years agoGraph Editor: Auto View
julianeisel [Fri, 6 Feb 2015 14:45:12 +0000 (15:45 +0100)]
Graph Editor: Auto View

Auto View automatically adjusts the view based on selection, so that the view is
always focused on the current selection.
A checkbox in the header is used to access it and it works for the following
selection methods: Toggle All, Border, Circle, Lasso, Left, Right, More, Less,
Linked, Column (so all except of single selection, in which this can be a bit

Reviewed by @Aligorith (thanks for that :) )

4 years agoFix T43578: Beauty Triangulation would hang in infinite loop, due to float rpecision...
Bastien Montagne [Fri, 6 Feb 2015 14:03:51 +0000 (15:03 +0100)]
Fix T43578: Beauty Triangulation would hang in infinite loop, due to float rpecision issue.

Only recompute if cost is below -FLT_EPSILON, we can get cases where both cases generate
very tiny negative costs (see 'Cylinder.004' mesh in .blend attached to report).

4 years agoFix sequencer crashing after recent GHash refactor.
Antony Riakiotakis [Fri, 6 Feb 2015 13:28:08 +0000 (14:28 +0100)]
Fix sequencer crashing after recent GHash refactor.

Code frees hash element while iterating - I don't think that's a good
idea but this should keep things working for now at least.

4 years agoAdd a precision to 'show group color' tooltip, that fcurve/action editors option...
Bastien Montagne [Fri, 6 Feb 2015 11:38:33 +0000 (12:38 +0100)]
Add a precision to 'show group color' tooltip, that fcurve/action editors option was confusing users a bit.