blender.git
5 years agoFix T37103: Keyframing custom properties issue (FCurve would not reflect Custom props...
Bastien Montagne [Tue, 17 Dec 2013 08:40:52 +0000 (09:40 +0100)]
Fix T37103: Keyframing custom properties issue (FCurve would not reflect Custom props type changes).

Add an helper func to re-compute integer-only fcurve flags, and call it when editing custom props.

Reviewed by aligorith, thanks!

Summary: Proposal fix for "keyframing custom properties issue" (T37103).

Reviewers: aligorith

Maniphest Tasks: T37103

Differential Revision: http://developer.blender.org/D111

5 years agoFix for crash in toolbar tabs with only one tab defined
Campbell Barton [Tue, 17 Dec 2013 08:16:44 +0000 (19:16 +1100)]
Fix for crash in toolbar tabs with only one tab defined

5 years agoPartial fix for T37604: Deadlock when stopping rendered viewport (Blender Internal)
IRIE Shinsuke [Tue, 17 Dec 2013 07:44:56 +0000 (18:44 +1100)]
Partial fix for T37604: Deadlock when stopping rendered viewport (Blender Internal)

- Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS macros cannot be used here, because the Py_BEGIN_ALLOW_THREADS causes a crash when quitting Blender.
- The low level function PyEval_ReleaseLock() is used assuming the Python library was built with multi-threads support.

5 years agoFix crash in freestyle vector parsing (hard to believe nobody noticed)
Campbell Barton [Tue, 17 Dec 2013 07:01:15 +0000 (18:01 +1100)]
Fix crash in freestyle vector parsing (hard to believe nobody noticed)

Vectors were being assigned as an array of classes in Vec2f_ptr_from_PyObject and similar functions,
rather then assigning a number to each axis.

5 years agoFix for obscure freestyle crash when attempting to negate INT_MIN
Campbell Barton [Tue, 17 Dec 2013 06:53:29 +0000 (17:53 +1100)]
Fix for obscure freestyle crash when attempting to negate INT_MIN

This gives undefined behavior - in my case stays the same value and crashes.

Check for finite input resolves the issue.

5 years agoPy API: use direct access to list/tuple size when type is known
Campbell Barton [Tue, 17 Dec 2013 04:41:03 +0000 (15:41 +1100)]
Py API: use direct access to list/tuple size when type is known

5 years agoFix for possible NULL pointer use in brush image sampling
Campbell Barton [Tue, 17 Dec 2013 02:19:54 +0000 (13:19 +1100)]
Fix for possible NULL pointer use in brush image sampling

5 years agoUI: don't attempt to draw with the menu-key when only drawing right aligned
Campbell Barton [Tue, 17 Dec 2013 02:11:31 +0000 (13:11 +1100)]
UI: don't attempt to draw with the menu-key when only drawing right aligned

5 years agoMore slangs and other spellchecking exceptions...
Bastien Montagne [Mon, 16 Dec 2013 20:26:48 +0000 (21:26 +0100)]
More slangs and other spellchecking exceptions...

5 years agoBetter handling of new libnames of OpenEXR 2.1 (same solution as one used in OIIO...
Bastien Montagne [Mon, 16 Dec 2013 20:00:35 +0000 (21:00 +0100)]
Better handling of new libnames of OpenEXR 2.1 (same solution as one used in OIIO/OSL source).

5 years agoFix for out-of-bounds memcpy() when adding a material
Campbell Barton [Mon, 16 Dec 2013 18:47:22 +0000 (05:47 +1100)]
Fix for out-of-bounds memcpy() when adding a material

5 years agoUserDefaults: disable orbit around object center and region-overlap
Campbell Barton [Mon, 16 Dec 2013 17:04:35 +0000 (04:04 +1100)]
UserDefaults: disable orbit around object center and region-overlap

both have bad side-effects with strange behavior and viewport performance

5 years agoUI: Tabs categories for panels (D75)
Campbell Barton [Mon, 16 Dec 2013 16:21:55 +0000 (03:21 +1100)]
UI: Tabs categories for panels (D75)

- works by defining panel categories, currently restricted to the toolbar.
- no panels define bl_categories yet, so no user visible changes since tabs only show when there are multiple.
- panel pinning is available in rmb menu or alt+lmb.

5 years agoBetter fix for previous commit
Sergey Sharybin [Mon, 16 Dec 2013 16:05:27 +0000 (22:05 +0600)]
Better fix for previous commit

Cache iterator might return unused keys as well.
Now unused keys are being removed before cleanup
and iteration.

5 years agoFix possible crash when cleaning cache with some ibufs removed by the memory limit
Sergey Sharybin [Mon, 16 Dec 2013 14:38:53 +0000 (20:38 +0600)]
Fix possible crash when cleaning cache with some ibufs removed by the memory limit

5 years agoColor management: use fallback mode if there're no displays/views
Sergey Sharybin [Mon, 16 Dec 2013 12:35:20 +0000 (18:35 +0600)]
Color management: use fallback mode if there're no displays/views

Before this it was a runtime check for number of displays/views
which is rather really annoying.

This simplifies code a bit and allows to do some more tricks
in other patches.

5 years agoAdd optional 'frame' argument to scene.timeline_markers.new(name)
Dalai Felinto [Fri, 13 Dec 2013 14:36:40 +0000 (12:36 -0200)]
Add optional 'frame' argument to scene.timeline_markers.new(name)

Differential Revision: http://developer.blender.org/D101

5 years agoMotion tracking: use PROP_PIXEL for pixel RNA values
Sergey Sharybin [Mon, 16 Dec 2013 11:53:15 +0000 (17:53 +0600)]
Motion tracking: use PROP_PIXEL for pixel RNA values

5 years agoDisable region overlap in movie clip editor
Sergey Sharybin [Mon, 16 Dec 2013 11:16:05 +0000 (17:16 +0600)]
Disable region overlap in movie clip editor

Before it was giving weird behavior with timeline in MCE
and track preview widgets. But there's also no much benefit
of having transparent toolbox there.

Requested by our motrack guru Sebastian ages ago.

5 years agoUI: use BLF_width_to_strlen for efficient text clipping
Campbell Barton [Mon, 16 Dec 2013 10:59:47 +0000 (21:59 +1100)]
UI: use BLF_width_to_strlen for efficient text clipping

5 years agoBLF API: Add BLF_width_to_strlen,rstrlen gives a byte offset from a string width
Campbell Barton [Mon, 16 Dec 2013 10:47:10 +0000 (21:47 +1100)]
BLF API: Add BLF_width_to_strlen,rstrlen gives a byte offset from a string width

5 years agoFix T37826: Opening a new image in the image editor
Sergey Sharybin [Mon, 16 Dec 2013 10:42:48 +0000 (16:42 +0600)]
Fix T37826: Opening a new image in the image editor

Cast dimensions to size_t before multiplication.
Also made add_ibuf_size survive cases when image
buffer allocation failed.

5 years agoMake compression in IMB_allocImBuf match other places
Sergey Sharybin [Mon, 16 Dec 2013 10:41:15 +0000 (16:41 +0600)]
Make compression in IMB_allocImBuf match other places

5 years agoMissing NULL-pointer check in BKE_image_free_anim_ibufs
Sergey Sharybin [Mon, 16 Dec 2013 10:30:28 +0000 (16:30 +0600)]
Missing NULL-pointer check in BKE_image_free_anim_ibufs

5 years agoFix T37827: cycles XML mesh export utility not longer worked.
Brecht Van Lommel [Mon, 16 Dec 2013 10:07:44 +0000 (11:07 +0100)]
Fix T37827: cycles XML mesh export utility not longer worked.

5 years agoFix typo in previous own commit (thanks to _FrnchFrgg_ for noticing this!).
Bastien Montagne [Sun, 15 Dec 2013 14:52:29 +0000 (15:52 +0100)]
Fix typo in previous own commit (thanks to _FrnchFrgg_ for noticing this!).

5 years agoEditmesh: skip allocating a face array for recalc-normals
Campbell Barton [Sun, 15 Dec 2013 14:26:49 +0000 (01:26 +1100)]
Editmesh: skip allocating a face array for recalc-normals

5 years agoMinor optimization for strlen and memcpy calls for reading blend files
Sv. Lockal [Sun, 15 Dec 2013 14:06:04 +0000 (18:06 +0400)]
Minor optimization for strlen and memcpy calls for reading blend files

Summary:
This commit removes ~10000 strlen calls and ~100000 memcpy calls in blender (profiled with blender --background), ~10000 memcpy calls in makesdna.

There is no need to create null-terminated strings for atoi, because it converts only the initial portion of the string anyway.
Also it was noticed that DNA_elem_array_size and arraysize functions work only with full strings, so there is no point to calculate strlen.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: http://developer.blender.org/D105

5 years agoFix T37816: make cycles panel registration work better with addons.
Peter Staples [Sat, 14 Dec 2013 16:56:47 +0000 (17:56 +0100)]
Fix T37816: make cycles panel registration work better with addons.

This would give an error when an addon removed a panel.

5 years agocorrect error in recent commit
Campbell Barton [Sat, 14 Dec 2013 16:59:51 +0000 (03:59 +1100)]
correct error in recent commit

5 years agoRevert "Hide the 3D cursor in a few cases where it is unneeded (active object is"
Antony Riakiotakis [Sat, 14 Dec 2013 13:23:57 +0000 (15:23 +0200)]
Revert "Hide the 3D cursor in a few cases where it is unneeded (active object is"

This reverts commit 85eaa989807268dda60408f41475216ad45888d1.

Conflicts:
source/blender/editors/space_view3d/view3d_draw.c

5 years agoFix T37810: GLSL dither shader not working on OS X.
Brecht Van Lommel [Sat, 14 Dec 2013 14:24:20 +0000 (15:24 +0100)]
Fix T37810: GLSL dither shader not working on OS X.

The GLSL function textureSize() is not supported here, only when we start using
OpenGL core profile will this work. For now check the supported GLSL version and
use a somewhat slower replacement.

5 years agoMake libyaml-cpp-dev not-breaking case for deb-like distros, and colors for messages!
Bastien Montagne [Sat, 14 Dec 2013 14:50:13 +0000 (15:50 +0100)]
Make libyaml-cpp-dev not-breaking case for deb-like distros, and colors for messages!

5 years agoCurves: Skip 3dtext & 2d-curve filling when fill is set to 'None'
Campbell Barton [Sat, 14 Dec 2013 14:49:12 +0000 (01:49 +1100)]
Curves: Skip 3dtext & 2d-curve filling when fill is set to 'None'

Otherwise was impossible to have unfilled curves unless extrude was set

5 years agoFix for recent regression in curve geometry panel poll
Campbell Barton [Sat, 14 Dec 2013 14:32:36 +0000 (01:32 +1100)]
Fix for recent regression in curve geometry panel poll

5 years agoFix bmesh compiler warning with OS X / clang.
Brecht Van Lommel [Sat, 14 Dec 2013 14:24:53 +0000 (15:24 +0100)]
Fix bmesh compiler warning with OS X / clang.

5 years agoFix T37264: cycles CPU render had limited number of float images, bumped to 1024.
Thomas Dinges [Sat, 14 Dec 2013 14:06:18 +0000 (15:06 +0100)]
Fix T37264: cycles CPU render had limited number of float images, bumped to 1024.

GPU is still limited to 5, but there's no good reason for the CPU to be limited.

5 years agoInterface / 3D View: Add missing "add" menu for armature edit mode, reported in IRC.
Thomas Dinges [Sat, 14 Dec 2013 12:47:18 +0000 (13:47 +0100)]
Interface / 3D View: Add missing "add" menu for armature edit mode, reported in IRC.

Also remove an unused menu for surface/curves.

5 years agoModeling: add optional angle limit for beauty fill
Campbell Barton [Sat, 14 Dec 2013 12:22:35 +0000 (23:22 +1100)]
Modeling: add optional angle limit for beauty fill

Makes this tool more useful on an entire mesh by only applying
beautify to planar surfaces.

5 years agoBMesh API: optionally pass fallback to BM_edge_calc_face_angle functions
Campbell Barton [Sat, 14 Dec 2013 12:18:23 +0000 (23:18 +1100)]
BMesh API: optionally pass fallback to BM_edge_calc_face_angle functions

5 years agoCode cleanup / Cycles: Remove some unused hair code.
Thomas Dinges [Sat, 14 Dec 2013 12:11:44 +0000 (13:11 +0100)]
Code cleanup / Cycles: Remove some unused hair code.

5 years agoCode cleanup: Remove "TexFace to Material Convert", from the file menu. This was...
Thomas Dinges [Sat, 14 Dec 2013 09:48:12 +0000 (10:48 +0100)]
Code cleanup: Remove "TexFace to Material Convert", from the file menu. This was used for conversion from older 2.5x files. The do_version() code is still there and functioning though.

5 years agoInterface / Modifiers: Use a toggle/icon button for vertex group invert (was already...
Thomas Dinges [Sat, 14 Dec 2013 09:14:24 +0000 (10:14 +0100)]
Interface / Modifiers: Use a toggle/icon button for vertex group invert (was already used in particle system).

This way we save a few lines of space, while keeping the functionality clear. Also some minor layout reshuffling and cleanup.

5 years agoCode cleanup: Remove Blender 2.4x animation player preset, since we have the internal...
Thomas Dinges [Sat, 14 Dec 2013 08:24:22 +0000 (09:24 +0100)]
Code cleanup: Remove Blender 2.4x animation player preset, since we have the internal one.

5 years agoInterface: Remove Play button from the Render panel, only keep in the "Render" menu.
Thomas Dinges [Sat, 14 Dec 2013 08:14:33 +0000 (09:14 +0100)]
Interface: Remove Play button from the Render panel, only keep in the "Render" menu.

5 years agoFix T37811: Delete key shortcut missing for deleting markers
Joshua Leung [Sat, 14 Dec 2013 00:42:42 +0000 (13:42 +1300)]
Fix T37811: Delete key shortcut missing for deleting markers

The keymap here used WM_keymap_verify_item(), which only allows for a
single hotkey to be bound to an operator. In most cases, this really
isn't justified.

5 years agoInterface / Modifiers: Don't show cage placeholder in modifier header, if the current...
Thomas Dinges [Fri, 13 Dec 2013 19:57:36 +0000 (20:57 +0100)]
Interface / Modifiers: Don't show cage placeholder in modifier header, if the current modifier does not support it or the cage is disabled (like Subsurf 0).

This way we save some space but still avoid the jumping around while changing settings in the header itself.

Thanks to Brecht for help on this. :)

5 years agoCycles: CUDA runtime kernel compilation can now find CUDA 6.0.
Brecht Van Lommel [Fri, 13 Dec 2013 18:12:07 +0000 (19:12 +0100)]
Cycles: CUDA runtime kernel compilation can now find CUDA 6.0.

5 years agoUI: color ramp buttons were redesigned and get a button to pick the n-th color stop.
Geoffroy Krantz [Fri, 13 Dec 2013 16:18:48 +0000 (17:18 +0100)]
UI: color ramp buttons were redesigned and get a button to pick the n-th color stop.

The add, delete and (f)lip buttons now use icons, and some button locations moved.

Reviewed By: brecht, dingto, billrey

Differential Revision: http://developer.blender.org/D97

5 years agoCode cleanup: float<>double promotion
Campbell Barton [Fri, 13 Dec 2013 16:21:23 +0000 (03:21 +1100)]
Code cleanup: float<>double promotion

5 years agoUI/RNA: added pixel and percentage units to some properties
Scott Petrovic [Fri, 13 Dec 2013 16:03:44 +0000 (17:03 +0100)]
UI/RNA: added pixel and percentage units to some properties

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D99

5 years agoCurve Handle Recalculate (Ctrl+N)
Campbell Barton [Fri, 13 Dec 2013 15:32:48 +0000 (02:32 +1100)]
Curve Handle Recalculate (Ctrl+N)

T37799 Patch from Simon Repp
with added option to recalculate handle lengths.

5 years agoChanged label to use UV Maps instead of UV Layouts
gaiaclary [Fri, 13 Dec 2013 14:29:50 +0000 (15:29 +0100)]
Changed label to use UV Maps instead of UV Layouts

5 years agoImage cache rewrite to using generic movie cache
Sergey Sharybin [Fri, 13 Dec 2013 10:22:08 +0000 (16:22 +0600)]
Image cache rewrite to using generic movie cache

Summary:
Behaves very much the same as cache for Movie Clip datablock:

- Image now have `MovieCache *cache` field which replaced
  legacy `ListBase ibufs`.

  This allows image datablock to easily keep of image
  buffers which are owned by itself. This field isn't
  saved to the file and getting restored on undo steps.

  However, cache limit is global for movies, sequences
  and image datablocks now. So overall cached image buffers
  size will not go above cache limit size in user
  preferences.

- Image buffers which are marked as BITMAPDIRTY will never
  be freed from the cache.

- Added utility function to iterate over image buffers
  saved in movie cache.

- Movie cache cleanup check callback now have ImBuf argument
  which can be used in a condition of cleanup.

- Added some utility functions which replaces legacy ibufs
  iterations with image cache iteration which happens from
  inside a lock.

- Fixed `image_mem_size()` which was only counting one of
  the buffers if both float and byte buffer present.

Additional notes:

- `BKE_image_get_first_ibuf()` is rather stupid, but direct
  access to ibufs->first was also the same stupid idea.

  Would consider avoid this function is another project.

- There are some places which doesn't look threadsafe, but
  they already were not so much threadsafe anyway before.

  So think not a big deal with solving this later.

Finally solves infinite memory usage by image sequences! :)

Reviewers: brecht, campbellbarton

Reviewed By: brecht

CC: sebastian_k
Differential Revision: http://developer.blender.org/D95

5 years agoInterface / Particles: Fix bad alignment in Rotation panel, sub layout missed the...
Thomas Dinges [Fri, 13 Dec 2013 09:54:44 +0000 (10:54 +0100)]
Interface / Particles: Fix bad alignment in Rotation panel, sub layout missed the flag.

5 years agoInterface / PointCache: Remove name fields here as well, not needed anymore due to...
Thomas Dinges [Fri, 13 Dec 2013 09:20:35 +0000 (10:20 +0100)]
Interface / PointCache: Remove name fields here as well, not needed anymore due to direct rename in uiList.

5 years agoImplement GPU-side dither
Sergey Sharybin [Fri, 13 Dec 2013 06:36:45 +0000 (12:36 +0600)]
Implement GPU-side dither

Summary:
Uses some magic pseudo-random which is actually a
texture coordinate hashing function.

TODOs:
- Dither noise is the same for all the frames.
- It's different from Floyd's dither we've been
  using before.
- Currently CPU and GPU dithering used different
  implementation. Ideally we need to use the same
  dither in CPU.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D58

5 years agominor style and comment fix.
Antony Riakiotakis [Thu, 12 Dec 2013 21:32:07 +0000 (23:32 +0200)]
minor style and comment fix.

5 years agoHide the 3D cursor in a few cases where it is unneeded (active object is
Antony Riakiotakis [Thu, 12 Dec 2013 21:24:27 +0000 (23:24 +0200)]
Hide the 3D cursor in a few cases where it is unneeded (active object is
in sculpt mode or image paint mode and no clone tool is active)

5 years agoFix T37572: text editor scrolling not working well with Mac trackpad panning.
Brecht Van Lommel [Thu, 12 Dec 2013 23:04:05 +0000 (00:04 +0100)]
Fix T37572: text editor scrolling not working well with Mac trackpad panning.

The trackpad would give isolated mouse pan events with a distance smaller than
one line or character. For other 2D views this is all accumulated in floats,
but in the text editor it only keeps track of integers, and the small mouse pan
events got lost due to rounding.

Now it keeps track of sub-line or sub-character scroll offsets to avoid this.

5 years agoUI: remove text margin when a slider is aligned to another button
Campbell Barton [Thu, 12 Dec 2013 18:28:24 +0000 (05:28 +1100)]
UI: remove text margin when a slider is aligned to another button

Paint sliders had too much space on right (aligned with pressure icons)

5 years agoRadial control operator support for pixel properties
Antony Riakiotakis [Thu, 12 Dec 2013 18:07:16 +0000 (20:07 +0200)]
Radial control operator support for pixel properties

5 years agoFix T37692: Follow active quads failed on unselected-active-face
Campbell Barton [Thu, 12 Dec 2013 18:05:21 +0000 (05:05 +1100)]
Fix T37692: Follow active quads failed on unselected-active-face

5 years agoRNA: Add pixels property type
Scott Petrovic [Thu, 12 Dec 2013 17:39:15 +0000 (04:39 +1100)]
RNA: Add pixels property type

5 years agoCode Cleanup: use static for sky_model_data.h
Campbell Barton [Thu, 12 Dec 2013 17:16:57 +0000 (04:16 +1100)]
Code Cleanup: use static for sky_model_data.h

5 years agoimprovements and simplification to gravity code:
Antony Riakiotakis [Thu, 12 Dec 2013 17:35:33 +0000 (19:35 +0200)]
improvements and simplification to gravity code:

* world to object matrix is calculated for view vector as well, reuse
that.
* if no orientation exists use world negative axis instead of object
negative axis for gravity.

there's also the issue of mirroring, it may be wise to invert the
gravity effect there but it may be better to have artist feedback on
that.

5 years agoSculpt mode Gravity feature from GSOC 2010 by Jason Wilkins.
Antony Riakiotakis [Thu, 12 Dec 2013 17:01:11 +0000 (19:01 +0200)]
Sculpt mode Gravity feature from GSOC 2010 by Jason Wilkins.

Reviewers: sergey, brecht, campbellbarton, jwilkins

Differential Revision: http://developer.blender.org/D89

5 years agoRaise llvm min version to 3.3, looks like this is needed for OSL nowadays...
Bastien Montagne [Thu, 12 Dec 2013 16:23:31 +0000 (17:23 +0100)]
Raise llvm min version to 3.3, looks like this is needed for OSL nowadays...

5 years agoFix for error exposed by right-align number buttons
Campbell Barton [Thu, 12 Dec 2013 15:47:00 +0000 (02:47 +1100)]
Fix for error exposed by right-align number buttons

When the entire label was clipped, the right aligned number component
could be clipped on its left hand side too.
So "Foo: 1.00" could be clipped to ".00"

5 years agoFix T37595: Switching modal transform broke with trackball rotation.
Campbell Barton [Thu, 12 Dec 2013 13:28:35 +0000 (00:28 +1100)]
Fix T37595: Switching modal transform broke with trackball rotation.

Id properties may have different sized "values" array depending on the
transform operator

5 years agoCode Cleanup: use const's and bools for idprops
Campbell Barton [Thu, 12 Dec 2013 10:57:37 +0000 (21:57 +1100)]
Code Cleanup: use const's and bools for idprops

5 years agoFix T37786: Curves: Geometry tab is missing
Sergey Sharybin [Thu, 12 Dec 2013 12:08:41 +0000 (18:08 +0600)]
Fix T37786: Curves: Geometry tab is missing

Was broken by rB2a55d68e1927 which inverted condition
in poll function for Geometry panel.

5 years agoAttempt to fix compilation error on Debian armel kernel
Sergey Sharybin [Thu, 12 Dec 2013 11:33:17 +0000 (17:33 +0600)]
Attempt to fix compilation error on Debian armel kernel

5 years agoAdd libxml2, libyaml-cpp and libtinyxml to default dependencies (always-installed...
Bastien Montagne [Thu, 12 Dec 2013 10:07:04 +0000 (11:07 +0100)]
Add libxml2, libyaml-cpp and libtinyxml to default dependencies (always-installed packages), looks like they are needed...

5 years agoRNA: Add assert to ensure the idprop is correct size on array get/set
Campbell Barton [Thu, 12 Dec 2013 10:00:11 +0000 (21:00 +1100)]
RNA: Add assert to ensure the idprop is correct size on array get/set

5 years agoFix T37757: MCE - Mask Pivot Point individual origins doesnt work
Sergey Sharybin [Thu, 12 Dec 2013 08:35:37 +0000 (14:35 +0600)]
Fix T37757: MCE - Mask Pivot Point individual origins doesnt work

Simple wasn't implemented.

5 years agoFix for off by one error noted by Anthony Edlin
Campbell Barton [Thu, 12 Dec 2013 08:01:44 +0000 (19:01 +1100)]
Fix for off by one error noted by Anthony Edlin

5 years agoUse factor subtype for plane track opacity
Sergey Sharybin [Thu, 12 Dec 2013 07:51:04 +0000 (13:51 +0600)]
Use factor subtype for plane track opacity

5 years agoCode cleanup: indent preprocessor directives inside #ifdef
Sergey Sharybin [Thu, 12 Dec 2013 07:10:03 +0000 (13:10 +0600)]
Code cleanup: indent preprocessor directives inside #ifdef

5 years agoMesh API: Add BKE_mesh_origindex_map_create
Campbell Barton [Thu, 12 Dec 2013 06:11:27 +0000 (17:11 +1100)]
Mesh API: Add BKE_mesh_origindex_map_create

This API function lets original data loop over its derived data,
Use for vertex paint, replacing custom function.

5 years agoCode Cleanup: move mesh mapping functions into their own file/header
Campbell Barton [Thu, 12 Dec 2013 05:26:11 +0000 (16:26 +1100)]
Code Cleanup: move mesh mapping functions into their own file/header

5 years agoFix T37769: inconsistent behavior of Remove Selected From Active Group.
Brecht Van Lommel [Thu, 12 Dec 2013 05:07:10 +0000 (06:07 +0100)]
Fix T37769: inconsistent behavior of Remove Selected From Active Group.

Add Selected to Active Group presented a menu with groups to choose from, while
this seemingly inverse operation did not and used all groups of the active
object.

Now both operators present a menu, with as first option "All Groups".

5 years agoFix T37780: no languages in user preferences with SCons on Windows / Linux.
Brecht Van Lommel [Thu, 12 Dec 2013 04:56:56 +0000 (05:56 +0100)]
Fix T37780: no languages in user preferences with SCons on Windows / Linux.

The "languages" file was not copied, probably this was not noticed earlier
because it only affects clean builds.

5 years agoCode Cleanup: replace global debug checks in raycast with DEBUG ifdef
Campbell Barton [Thu, 12 Dec 2013 04:29:17 +0000 (15:29 +1100)]
Code Cleanup: replace global debug checks in raycast with DEBUG ifdef

5 years agoAdd meaningful default for SimpleDeform modifier's angle prop.
Bastien Montagne [Wed, 11 Dec 2013 21:10:45 +0000 (22:10 +0100)]
Add meaningful default for SimpleDeform modifier's angle prop.

5 years agoMore updates, fixes and cleanup to install_deps.sh.
Bastien Montagne [Wed, 11 Dec 2013 16:50:26 +0000 (17:50 +0100)]
More updates, fixes and cleanup to install_deps.sh.

So, after hours of wild hunt, I think both CMake and Scons builds work again.
There were several small issues hiding here and there, esp. for scons.

*WARNING* the --all-static is currently officially broken (it was already quite useless in fact).
          I’m seriously considering dropping it completely, having a script compiling a chain
          of static libs in a complete working way for *two* different build systems is just
          too much work (static libs are *really* a nightmare at link time).

Builders who want to generate static Blender (to share it e.g.) will have to handle things by hand for now.

Main other points changed:

* Many changes to generated settings for scons (notably, I had to hack around the fact that the short ld -l
  option does not work with lib names like 'Iex-2_1', which is not that surprising).
* Opencollada remains the only lib built statically (can't get it to build dyn currently).
* All other libs, even ILMBase ones, are now fully dynamic ones.
* Some general cleanup with CMake definitions of built libs.
* Git-libs do not clone again and again the repo anymore!

5 years agoAttempt to fix compilation against libav-0.8.9
Sergey Sharybin [Wed, 11 Dec 2013 16:40:00 +0000 (22:40 +0600)]
Attempt to fix compilation against libav-0.8.9

5 years agoFix T37777: layout.column_flow() not working correct with retina / DPI.
Brecht Van Lommel [Wed, 11 Dec 2013 16:05:17 +0000 (17:05 +0100)]
Fix T37777: layout.column_flow() not working correct with retina / DPI.

5 years agoUI: change how number button strings are concatenated (to easy add new suffix)
Campbell Barton [Wed, 11 Dec 2013 13:32:13 +0000 (00:32 +1100)]
UI: change how number button strings are concatenated (to easy add new suffix)

5 years agoFix intersect_line_plane bug causing crash on Motion trail and other
Benoit Bolsee [Wed, 11 Dec 2013 09:31:58 +0000 (10:31 +0100)]
Fix intersect_line_plane bug causing crash on Motion trail and other
similar potential bugs in mathutils_geometry

marking no_flip as TODO

5 years agoUI: Small panel tweak for Dynamic Paint UI, to save some space when color type is...
Thomas Dinges [Wed, 11 Dec 2013 11:40:17 +0000 (12:40 +0100)]
UI: Small panel tweak for Dynamic Paint UI, to save some space when color type is NONE

5 years agoFix for curve pinning raising an exception
Campbell Barton [Wed, 11 Dec 2013 11:03:21 +0000 (22:03 +1100)]
Fix for curve pinning raising an exception

5 years agoMove curve's boundbox and texspace calculation out of modifier stack
Sergey Sharybin [Sun, 20 Oct 2013 12:41:33 +0000 (14:41 +0200)]
Move curve's boundbox and texspace calculation out of modifier stack

There were several issues with how bounding box and texture space
are calculated:

- This was done at the same time as applying modifiers, meaning if
  several objects are sharing the same curve datablock, bounding
  box and texture space will be calculated multiple times.

  Further, allocating bounding box wasn't safe for threading.

- Bounding box and texture space were evaluated after pre-tessellation
  modifiers are applied. This means Curve-level data is actually
  depends on object data, and it's really bad because different
  objects could have different modifiers and this leads to
  conflicts (curve's data depends on object evaluation order)
  and doesn't behave in a predictable way.

  This commit moves bounding box and texture space evaluation from
  modifier stack to own utility functions, just like it's was done
  for meshes.

  This makes curve objects update thread-safe, but gives some
  limitations as well. Namely, with such approach it's not so
  clear how to preserve the same behavior of texture space:
  before this change texture space and bounding box would match
  beveled curve as accurate as possible.

  Old behavior was nice for quick texturing -- in most cases you
  didn't need to modify texture space at all. But texture space
  was depending on render/preview settings which could easily lead
  to situations, when final result would be far different from
  preview one.

  Now we're using CV points coordinates and their radius to approximate
  the bounding box. This doesn't give the same exact texture space,
  but it helps a lot keeping texture space in a nice predictable way.

  We could make approximation smarter in the future, but fir now
  added operator to match texture space to fully tessellated curve
  called "Match Texture Space".

Review link:

  https://codereview.appspot.com/15410043/

Brief description:

  http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2013/Results#Curve_Texture_Space

5 years agoCache limiter cleanup and small fixes
Sergey Sharybin [Tue, 10 Dec 2013 09:07:10 +0000 (15:07 +0600)]
Cache limiter cleanup and small fixes

- Made code a bit less cluttered to follow
- Fixed possible deadlock when enforcing limit
  and highest priority element is still referenced.

5 years agoUser Interface: Align number buttons labels to the left, number right
Campbell Barton [Wed, 11 Dec 2013 10:27:13 +0000 (21:27 +1100)]
User Interface: Align number buttons labels to the left, number right

5 years agoUser Interface: add colon separator for number buttons
Campbell Barton [Wed, 11 Dec 2013 10:06:00 +0000 (21:06 +1100)]
User Interface: add colon separator for number buttons

5 years agoInterface: avoid setting \0 to drawstr in widget_draw_text
Campbell Barton [Wed, 11 Dec 2013 09:33:17 +0000 (20:33 +1100)]
Interface: avoid setting \0 to drawstr in widget_draw_text

5 years agoSanity check in node links API: Make sure a valid node exists for both
Lukas Tönne [Wed, 11 Dec 2013 08:20:08 +0000 (09:20 +0100)]
Sanity check in node links API: Make sure a valid node exists for both
sockets passed to the nodetree.links.new function, otherwise this could
lead to invalid connections between different node trees! The
ntreeAddLink function has asserts for this, but this condition needs to
be checked in the RNA method calling it.

5 years agoFix T37755: Autokey doesn't work for local Z-Axis in Camera view with MotionPaths...
Joshua Leung [Wed, 11 Dec 2013 03:15:47 +0000 (16:15 +1300)]
Fix T37755: Autokey doesn't work for local Z-Axis in Camera view with MotionPaths enabled

The problem here was that the hack used to fix T24551 in r32863
would cause the camera to jump back to its pre-transform position
after motionpaths were recalculated. This made it seem like a keyframe
wasn't inserted by AutoKeying (even though it was).

5 years agoFix incorrect comment - copy and paste error
Joshua Leung [Wed, 11 Dec 2013 03:11:54 +0000 (16:11 +1300)]
Fix incorrect comment - copy and paste error