5 years agoCleanup
Campbell Barton [Mon, 6 Apr 2015 22:46:48 +0000 (08:46 +1000)]

5 years agoThis commit doesn't deserve a title
Julian Eisel [Mon, 6 Apr 2015 21:23:13 +0000 (23:23 +0200)]
This commit doesn't deserve a title

Today just wasn't my day...

5 years agoFix compilation error in Win Debug.
Benoit Bolsee [Mon, 6 Apr 2015 21:15:57 +0000 (23:15 +0200)]
Fix compilation error in Win Debug.

5 years agoVarious Sticky fixes (tm)
Julian Eisel [Mon, 6 Apr 2015 21:10:21 +0000 (23:10 +0200)]
Various Sticky fixes (tm)

* Revert 776bfa64a53191b and c3dad7953afccd4 (some X11 systems are doing
stupid things forcing me to do an extra check that completely breaks the
click type handling on other systems using the slightly changed
implementation from those commits - see T44278)
* Fix sample lines in Compositor+VSE

(And yes, this time I tested on both of my systems to make sure
everything is fine)

5 years agoUI i18n cleanup...
Bastien Montagne [Mon, 6 Apr 2015 18:43:34 +0000 (20:43 +0200)]
UI i18n cleanup...

And some general style cleanup as well (line length...).

5 years agoCycles: Cleanup, spaces around assignment operator
Sergey Sharybin [Mon, 6 Apr 2015 19:25:54 +0000 (00:25 +0500)]
Cycles: Cleanup, spaces around assignment operator

Did some bad spacing in recent commits, better to get rid of those so
they does not confuse those who're working on sources.

5 years agoCycles: Avoid doing paranoid checks in filepath of builtin images
Sergey Sharybin [Mon, 6 Apr 2015 19:11:47 +0000 (00:11 +0500)]
Cycles: Avoid doing paranoid checks in filepath of builtin images

Originally we thought it's needed in order to distinguish builtin file from
filename which starts with '@', but the filepath is actually full path there
and it's unlikely to have file system where '@' is a proper root character.

Surprisingly this does not give visible speed differences, but it's still
nice to get rid of redundant check.

5 years agoCycles: Support bultin 3d textures with OSL backend
Sergey Sharybin [Mon, 6 Apr 2015 18:29:29 +0000 (23:29 +0500)]
Cycles: Support bultin 3d textures with OSL backend

5 years agoOSX: add also license for iomp5 using cmake and fix all textfiles wrong destination
Jens Verwiebe [Mon, 6 Apr 2015 17:55:51 +0000 (19:55 +0200)]
OSX: add also license for iomp5 using cmake and fix all textfiles wrong destination

5 years agoOSX: add a license file for libiomp5 ( intel omp ) when compiled with
Jens Verwiebe [Mon, 6 Apr 2015 17:12:23 +0000 (19:12 +0200)]
OSX: add a license file for libiomp5 ( intel omp ) when compiled with

5 years agoBGE: followup of renaming parameter "other" to "reference"
Sybren A. Stüvel [Mon, 6 Apr 2015 16:23:56 +0000 (18:23 +0200)]
BGE: followup of renaming parameter "other" to "reference"

See commit 3e5332bb959c686cb5bc5b6007d96088d5d1bc23

5 years agoBGE: fixed nomenclature of KX_Scene::addObject and KX_Scene::AddReplicaObject
Sybren A. Stüvel [Mon, 6 Apr 2015 15:11:36 +0000 (17:11 +0200)]
BGE: fixed nomenclature of KX_Scene::addObject and KX_Scene::AddReplicaObject

KX_Scene::addObject: Changed the parameter "other" to "reference", as "other" doesn't mean anything.
KX_Scene::AddReplicaObject: Changed the parameter "parentobject" to "referenceobject", as the parameter did NOT contain a parent object in any way.

Now both functions use the same kind of name for the same thing.

Thanks to panzergame / Porteries Tristan.

5 years agoCycles: More instant feedback on progressive rendering for first sample
Sergey Sharybin [Mon, 6 Apr 2015 14:28:25 +0000 (19:28 +0500)]
Cycles: More instant feedback on progressive rendering for first sample

Main purpose of this change is to make material preview appearing more
instant after the shader tweaks.

5 years agoCycles: Experiment with making previews more interactive
Sergey Sharybin [Sat, 21 Feb 2015 16:55:24 +0000 (21:55 +0500)]
Cycles: Experiment with making previews more interactive

There were two major problems with the interactivity of material previews:

- Beckmann tables were re-generated on every material tweak.
  This is because preview scene is not set to be persistent, so re-triggering
  the render leads to the full scene re-sync.

- Images could take rather noticeable time to load with OIIO from the disk
  on every tweak.

This patch addressed this two issues in the following way:

- Beckmann tables are now static on CPU memory.

  They're couple of hundred kilobytes only, so wouldn't expect this to be
  an issue. And they're needed for almost every render anyway.

  This actually also makes blackbody table to be static, but it's even smaller
  than beckmann table.

  Not totally happy with this approach, but others seems to complicate things
  quite a bit with all this render engine life time and so..

- For preview rendering all images are considered to be built-in. This means
  instead of OIIO which re-loads images on every re-render they're coming
  from ImBuf cache which is fully manageable from blender side and unused
  images gets freed later.

  This would make it impossible to have mipmapping with OSL for now, but we'll
  be working on that later anyway and don't think mipmaps are really so crucial
  for the material preview.

  This seems to be a better alternative to making preview scene persistent,
  because of much optimal memory control from blender side.

Reviewers: brecht, juicyfruit, campbellbarton, dingto

Subscribers: eyecandy, venomgfx

Differential Revision:

5 years agoFix doversion check - patch by Sergey Sharybin
Dalai Felinto [Mon, 6 Apr 2015 14:11:36 +0000 (11:11 -0300)]
Fix doversion check - patch by Sergey Sharybin

5 years agoMulti-View and Stereo 3D
Dalai Felinto [Mon, 6 Apr 2015 13:40:12 +0000 (10:40 -0300)]
Multi-View and Stereo 3D

Official Documentation:

Implemented Features
Builtin Stereo Camera
* Convergence Mode
* Interocular Distance
* Convergence Distance
* Pivot Mode

* Cameras
* Plane
* Volume

* View Switch Node
* Image Node Multi-View OpenEXR support

* Image/Movie Strips 'Use Multiview'

UV/Image Editor
* Option to see Multi-View images in Stereo-3D or its individual images
* Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images

* Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images

Scene Render Views
* Ability to have an arbitrary number of views in the scene

Missing Bits
First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report.

Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report.

Everything else is likely small todos, and may wait until we are sure none of the above is happening.

Apart from that there are those known issues:
* Compositor Image Node poorly working for Multi-View OpenEXR
(this was working prefectly before the 'Use Multi-View' functionality)
* Selecting camera from Multi-View when looking from camera is problematic
* Animation Playback (ctrl+F11) doesn't support stereo formats
* Wrong filepath when trying to play back animated scene
* Viewport Rendering doesn't support Multi-View
* Overscan Rendering
* Fullscreen display modes need to warn the user
* Object copy should be aware of views suffix

* Francesco Siddi for the help with the original feature specs and design
* Brecht Van Lommel for the original review of the code and design early on
* Blender Foundation for the Development Fund to support the project wrap up

Final patch reviewers:
* Antony Riakiotakis (psy-fi)
* Campbell Barton (ideasman42)
* Julian Eisel (Severin)
* Sergey Sharybin (nazgul)
* Thomas Dinged (dingto)

Code contributors of the original branch in github:
* Alexey Akishin
* Gabriel Caraballo

5 years agoCycles: Free unused image buffers when rendering with locked interface
Sergey Sharybin [Thu, 2 Apr 2015 14:24:14 +0000 (19:24 +0500)]
Cycles: Free unused image buffers when rendering with locked interface

It is still possible to free a bit more memory by detecting buildin images
which are not used by shaders, but that's not going to improve memory usage
that much to bother about this now.

Such change brings peak memory usage from 4.1GB to 3.4GB when rendering
01_01_01_D layout scene from the Gooseberry project. Mainly because of
freeing memory used by rather huge environment map in the viewport.

Reviewers: campbellbarton, juicyfruit

Subscribers: eyecandy

Differential Revision:

5 years agoFix T44282: Image sampling line disappears after a while
Julian Eisel [Mon, 6 Apr 2015 12:12:05 +0000 (14:12 +0200)]
Fix T44282: Image sampling line disappears after a while

Now even to master

5 years agoFix T44278: Tab, Z-Key and Spacebar not working
Julian Eisel [Mon, 6 Apr 2015 11:13:35 +0000 (13:13 +0200)]
Fix T44278: Tab, Z-Key and Spacebar not working

Seems like a fix that is needed for some X11 systems causes this bug on
others :| Not sure if the systems that needed this fix are now still
fine (since I did a slight change to the click type check procedure),
but I need to check that on my system in the institute in a bit.

5 years agoUse BKE_ghash_ensure_p where possible
Campbell Barton [Mon, 6 Apr 2015 10:03:49 +0000 (20:03 +1000)]
Use BKE_ghash_ensure_p where possible

5 years agoGHash: ensure function, avoids multiple lookups
Campbell Barton [Mon, 6 Apr 2015 09:55:08 +0000 (19:55 +1000)]
GHash: ensure function, avoids multiple lookups

5 years agoFix T44222: Crash using pointiness attribute for volume shaders
Sergey Sharybin [Mon, 6 Apr 2015 09:11:28 +0000 (14:11 +0500)]
Fix T44222: Crash using pointiness attribute for volume shaders

This attribute is not really supported for volumes, so it get's converted to
constant 0 at shader compile time.

TODO: We should consider doing the same for tangent attribute in order to save
some annoying checks at tracing time.

5 years agoCycles: de-duplicate fast/approximate erf function calculation
Sergey Sharybin [Sun, 5 Apr 2015 17:13:10 +0000 (22:13 +0500)]
Cycles: de-duplicate fast/approximate erf function calculation

Our own implementation is in fact the same performance as in fast_math from
OpenShadingLanguage, but implementation from fast_math is using explicit madd
function, which increases chance of compiler deciding to use intrinsics.

5 years agoOnly show image slot-name in render view
Campbell Barton [Mon, 6 Apr 2015 07:06:37 +0000 (17:06 +1000)]
Only show image slot-name in render view

5 years agoCleanup: replace confusing 'if' statements
Campbell Barton [Mon, 6 Apr 2015 06:40:26 +0000 (16:40 +1000)]
Cleanup: replace confusing 'if' statements

5 years agoFix T43696: Baking tearing normals
Campbell Barton [Mon, 6 Apr 2015 05:53:06 +0000 (15:53 +1000)]
Fix T43696: Baking tearing normals

Patch D1207 by @chrisr

5 years agoFix T44249: Cursor depth offset
Campbell Barton [Mon, 6 Apr 2015 04:57:43 +0000 (14:57 +1000)]
Fix T44249: Cursor depth offset

5 years agoFix minor glitch getting depth from mouse cursor
Campbell Barton [Mon, 6 Apr 2015 04:54:28 +0000 (14:54 +1000)]
Fix minor glitch getting depth from mouse cursor

5 years agoFix: Stroke Edit Mode warning for GPencil draws correctly with Region Overlap enabled
Joshua Leung [Mon, 6 Apr 2015 01:21:18 +0000 (13:21 +1200)]
Fix: Stroke Edit Mode warning for GPencil draws correctly with Region Overlap enabled

5 years agoFix: It was difficult to select control points for NLA Control FCurves in the Graph...
Joshua Leung [Sun, 5 Apr 2015 00:17:14 +0000 (12:17 +1200)]
Fix: It was difficult to select control points for NLA Control FCurves in the Graph Editor

5 years agoGHash: no reason to use GSetEntry in ghash API
Campbell Barton [Sun, 5 Apr 2015 23:03:32 +0000 (09:03 +1000)]
GHash: no reason to use GSetEntry in ghash API

5 years agoStickies: Remove redundant fixes
Julian Eisel [Sun, 5 Apr 2015 18:04:37 +0000 (20:04 +0200)]
Stickies: Remove redundant fixes

Those fixes aren't needed anymore due to

5 years agoStickies: Don't send extra event on KM_CLICK
Julian Eisel [Sun, 5 Apr 2015 17:32:57 +0000 (19:32 +0200)]
Stickies: Don't send extra event on KM_CLICK

Just add KM_CLICK to the already sent KM_RELEASE, don't send a new one
for this.

This might help us to get rid of quite some glitches and workarounds \o/
(why didn't this come earlier to my mind? :S)

5 years agoFix T44275: CTRL+LMB to extrude to mouse position conflicts with snapped
Julian Eisel [Sun, 5 Apr 2015 16:48:49 +0000 (18:48 +0200)]
Fix T44275: CTRL+LMB to extrude to mouse position conflicts with snapped

More practical description of the bug: extruding with ctrl to use
snapping and confirming the action added another extrusion to the mouse
This was caused from the second event that is now sent if a key release
happens within the click timeout. It triggers the "Extrude to Cursor"
operator since it is called by CTRL+LMB wich is exactly the event that
is sent in this case.

I'm not totally happy with this workaround since it changes the Confirm/
Abort event for all transformation actions to key release which *might*
result in more conflicts (fingers crossed this isn't the case). If this
happens we might need to write some special transformation handling for

This is an example of the difficulties we get from loading too much
functions on the same keys - we need to be careful with that!

5 years agoFix T44269: Typo in volume_attribute_float:geom_volume.h
Sergey Sharybin [Sun, 5 Apr 2015 13:51:54 +0000 (18:51 +0500)]
Fix T44269: Typo in volume_attribute_float:geom_volume.h

Was rather harmless typo since we either pass both dx,dy or pass both NULL.

5 years agoCycles: Avoid using lookup table for Beckmann slopes on GPU
Sergey Sharybin [Sun, 5 Apr 2015 13:40:46 +0000 (18:40 +0500)]
Cycles: Avoid using lookup table for Beckmann slopes on GPU

This patch is based on some work done in D788 and re-formulation from Beckmann
implementation in OpenShadingLanguage.

Skipping texture lookup helps a lot on GPUs where it's more expensive to access
texture memory than to do some extra calculation in threads.

CPU code still uses lookup-table based approach since this seems to be still
faster (at least on computers i've got access to).

This change gives about 2% speedup on BMW scene with GTX560TI.

5 years agoCycles: Remove unused Beckmann slope sampling code
Sergey Sharybin [Sun, 5 Apr 2015 12:42:27 +0000 (17:42 +0500)]
Cycles: Remove unused Beckmann slope sampling code

It did not preserve stratification too well and lookup-table approach was
working much better. There are now also some more interesting forumlation
from Wenzel and OpenShadingLanguage which should work better than old code.

5 years agoFix T44251 (2nd try): Changing views using numpad broken
Julian Eisel [Sun, 5 Apr 2015 13:41:20 +0000 (15:41 +0200)]
Fix T44251 (2nd try): Changing views using numpad broken

5 years agoBGE: Fix T36703: Character motion actuator local movement not working correct.
Thomas Szepe [Sun, 5 Apr 2015 08:13:04 +0000 (10:13 +0200)]
BGE: Fix T36703: Character motion actuator local movement not working correct.

The character motion actuator local movement does not taking account of the object rotation.
It is necessary to rotate the motion vector before adding the local movement.

Reviewers: sybren, lordloki, moguri

Reviewed By: lordloki, moguri

Maniphest Tasks: T42709

Differential Revision:

5 years agoFix T44263: Invalid parameters to fill_vn_fl in deform.c.
Bastien Montagne [Sun, 5 Apr 2015 07:50:16 +0000 (09:50 +0200)]
Fix T44263: Invalid parameters to fill_vn_fl in deform.c.

Own fault, thanks a bunch to LazyDodo for finding that - and odd
GCC did not warn about it...

5 years agoFix T44265: Win32 error checking GL version
Campbell Barton [Sat, 4 Apr 2015 23:57:10 +0000 (09:57 +1000)]
Fix T44265: Win32 error checking GL version

5 years agoFix T44270: Similar face region crash /w wire edge
Campbell Barton [Sat, 4 Apr 2015 23:44:30 +0000 (09:44 +1000)]
Fix T44270: Similar face region crash /w wire edge

5 years agoFix T44266: win32 delete's malloc'd memory
Campbell Barton [Sat, 4 Apr 2015 20:53:34 +0000 (06:53 +1000)]
Fix T44266: win32 delete's malloc'd memory

5 years agoCleanup: remove MSVC2008 workaround
Campbell Barton [Sat, 4 Apr 2015 20:47:31 +0000 (06:47 +1000)]
Cleanup: remove MSVC2008 workaround

5 years agoCleanup: use float math funcs
Campbell Barton [Sat, 4 Apr 2015 20:32:25 +0000 (06:32 +1000)]
Cleanup: use float math funcs

5 years agoWM: prefer define over zero wmEvent.val
Campbell Barton [Sat, 4 Apr 2015 20:22:49 +0000 (06:22 +1000)]
WM: prefer define over zero wmEvent.val

5 years agoFix T44264 copy paste error, checking same condition twice.
Antony Riakiotakis [Sat, 4 Apr 2015 20:38:31 +0000 (22:38 +0200)]
Fix T44264 copy paste error, checking same condition twice.

5 years agoFix T44251: Changing views using numpad broken
Julian Eisel [Sat, 4 Apr 2015 17:17:39 +0000 (19:17 +0200)]
Fix T44251: Changing views using numpad broken

For KM_ANY I've filtered out every event that has a click type, although
that was only needed for the additional event sent on KM_HOLD. A bit weird
that this only happened on a few machines though.

5 years agoFix T44259: Secondary strokes get terminated early when drawing in Continuous Drawing...
Julian Eisel [Sat, 4 Apr 2015 12:27:05 +0000 (14:27 +0200)]
Fix T44259: Secondary strokes get terminated early when drawing in Continuous Drawing mode

5 years agoMissed in recent cleanup
Campbell Barton [Sat, 4 Apr 2015 07:58:49 +0000 (18:58 +1100)]
Missed in recent cleanup

5 years agoGhost: update tests for recent changes
Campbell Barton [Sat, 4 Apr 2015 06:20:17 +0000 (17:20 +1100)]
Ghost: update tests for recent changes

5 years agoCleanup: move filelist out of storage
Campbell Barton [Sat, 4 Apr 2015 06:15:33 +0000 (17:15 +1100)]
Cleanup: move filelist out of storage

Depends on imbuf, problematic for tests

5 years agoCleanup: Typo fix in HSV code.
Thomas Dinges [Sat, 4 Apr 2015 05:46:28 +0000 (07:46 +0200)]
Cleanup: Typo fix in HSV code.

5 years agoCleanup: use BKE_ocean_* prefix
Campbell Barton [Sat, 4 Apr 2015 04:18:52 +0000 (15:18 +1100)]
Cleanup: use BKE_ocean_* prefix

5 years agoCleanup: use BKE_sculptsession_* prefix
Campbell Barton [Sat, 4 Apr 2015 04:15:50 +0000 (15:15 +1100)]
Cleanup: use BKE_sculptsession_* prefix

5 years agoCleanup: use BKE_animdata_* prefix
Campbell Barton [Sat, 4 Apr 2015 04:13:56 +0000 (15:13 +1100)]
Cleanup: use BKE_animdata_* prefix

5 years agoCleanup: redundant normalize in expmap_to_quat
Campbell Barton [Sat, 4 Apr 2015 03:45:54 +0000 (14:45 +1100)]
Cleanup: redundant normalize in expmap_to_quat

5 years agoCleanup
Campbell Barton [Fri, 3 Apr 2015 23:48:17 +0000 (10:48 +1100)]

5 years agoAdd missing break statements
Campbell Barton [Fri, 3 Apr 2015 23:48:05 +0000 (10:48 +1100)]
Add missing break statements

5 years agoCMake: treat inline C files as headers
Campbell Barton [Fri, 3 Apr 2015 23:37:00 +0000 (10:37 +1100)]
CMake: treat inline C files as headers

5 years agoAdd missing declarations
Campbell Barton [Fri, 3 Apr 2015 23:23:22 +0000 (10:23 +1100)]
Add missing declarations

5 years agoWIP: Added dedicated operator for unlinking actions from the Action Editor (NLA butto...
Joshua Leung [Fri, 3 Apr 2015 22:36:46 +0000 (11:36 +1300)]
WIP: Added dedicated operator for unlinking actions from the Action Editor (NLA buttons support to come)

After looking into this more carefully, I've found that we do in fact need a dedicate
operator to add some custom logic when trying to unlink an action from the editor/datablocks.

Specifically, this new operator does the following:
1) When in Tweak Mode, it shouldn't be possible to unlink the active action,
   or else, everything turns to custard.
2) If the Action doesn't have any other users, the user should at least get
   a warning that it is going to get lost.
3) We need a convenient way to exit Tweak Mode from the Action Editor
4) If none of the above apply, we can just unlink normally

This commit implements this for the Action Editor, with stubs for the NLA Editor too.
Those will be fixed next.

5 years agoTweaks to descriptions for Action Layer Up/Down
Joshua Leung [Fri, 3 Apr 2015 12:44:08 +0000 (01:44 +1300)]
Tweaks to descriptions for Action Layer Up/Down

5 years agoUpdate keyconfigs for stickies
Julian Eisel [Fri, 3 Apr 2015 14:43:33 +0000 (16:43 +0200)]
Update keyconfigs for stickies

Change are needed to avoid conflicts due to rB53a3850a8a05249942a0c4

5 years agoSticky Keys backend
Julian Eisel [Fri, 3 Apr 2015 14:21:22 +0000 (16:21 +0200)]
Sticky Keys backend

Design task: T42339
Differential Revision: D840
Initial implementation proposal: T41867

Short description:
With this we can distinguish between holding and tabbing a key. Useful
is this if we want to assign to operators to a single shortcut. If two
operators are assigned to one shortcut, we call this a sticky key.

More info is accessible through the design task and the diff.

A few people that were involved with this:
* Sean Olson for stressing me with this burden ;) - It is his enthusiasm
that pushed me forward to get this done
* Campbell and Antony for the code and design review
* Ton for the design review
* All the other people that gave feedback on the patch and helped to
make this possible

A big "Thank You" for you all!

5 years agoFix T44243: File browser behavior is inconsistent between append and open.
Bastien Montagne [Fri, 3 Apr 2015 14:17:17 +0000 (16:17 +0200)]
Fix T44243: File browser behavior is inconsistent between append and open.

Only basic fix, the whole 'dir' field handling needs rework to correctly support
lib stuff (will be done as part of asset-experiment rewriting work)...

All this code is doing way too much filesystem inspection by itself, instead of
reusing flielist.c work - this is stupid, and will completely break with future
asset engines!

5 years agoFix related to T44243: do not systematically do live-update when tab-completing texte...
Bastien Montagne [Fri, 3 Apr 2015 13:49:52 +0000 (15:49 +0200)]
Fix related to T44243: do not systematically do live-update when tab-completing textedit buttons.

We now have a specific flag for that, use it! Note that for all 'search menu' buttons,
there is already a similar behavior, so there is no need to force apply butt in this case
anyway, which means in practice this change only has effect in the single place
it is needed currently - file browser dir/file fields.

In this case (dir field), applying button even on partial matches leads code
to ask to create a new dir, which breaks completely the expected behavior of
completion. And we do not need immediate apply at all here.

Note this is the only 'autocomplete' button not using search menu, so this change
does not affect anything else in UI.

5 years agoFix: Drawing glitch when renaming animation channels
Joshua Leung [Fri, 3 Apr 2015 12:38:56 +0000 (01:38 +1300)]
Fix: Drawing glitch when renaming animation channels

When renaming animation channels, the old names are no longer drawn behind the
text boxes anymore. This used to cause problems if the names were long, or
if text boxes were set to have transparent backgrounds.

Thanks to kopias for reporting on IRC.

5 years agoBugfix: Stashed actions now get added to the bottom of the NLA Stack if there weren...
Joshua Leung [Fri, 3 Apr 2015 12:12:32 +0000 (01:12 +1300)]
Bugfix: Stashed actions now get added to the bottom of the NLA Stack if there weren't any stashed actions already

5 years agoFix: Action/NLA Tweakmode Checks
Joshua Leung [Fri, 3 Apr 2015 12:05:52 +0000 (01:05 +1300)]
Fix: Action/NLA Tweakmode Checks

Made all action management operators use the AnimData-local flag instead of the scene
global one. Technically, this is more accurate and results in less blocking
situations (i.e. another object may be in tweakmode, but because of that, the active
object's action couldn't be stashed).

The main impetus for this though was that the Action Up/Down feature doesn't clear
the global flag, since it is not in a position to do so (since it can't load up
everything to clear it).

I'll need to review how this global flag works and/or potentially ditch it (or
perhaps add some better ways to ensure that it stays valid), since while thinking
this over, I've noticed a few problems here. But, for the meantime, this commit
at least makes things more usable here in the short term.

5 years agoAction Editor: Move up/down buttons to be before the datablock selector
Joshua Leung [Fri, 3 Apr 2015 11:16:40 +0000 (00:16 +1300)]
Action Editor: Move up/down buttons to be before the datablock selector

It turned out that the constantly changing width of the datablock selector
made it a pain to use these to quickly toggle between different actions,
as the buttons would keep jumping around, thus leading to errors when
quickly toggling between actions. This way doesn't look quite as great,
but should be more usable.

5 years agoAction Layer Up/Down: Fixes for NLA Solo / NLA Muting
Joshua Leung [Fri, 3 Apr 2015 11:13:42 +0000 (00:13 +1300)]
Action Layer Up/Down: Fixes for NLA Solo / NLA Muting

Now marking NLA Tracks as Solo'd and muting the NLA stack are linked together
when using the Action Layer Up/Down tools. That is, when switching from a NLA strip
to the active action, if the track was solo'd, then the NLA stack will get muted;
and when switching from the active action to a NLA track, if the stack was muted,
the track will get solo'd. This linkage means that we ensure that when moving up
and down the stack, we can continue to check the actions in isolation without things
messing up when you switch to and from the active action.

Also fixed a bug where this wasn't getting applied when going in the other direction.

- When we get the rest/reference track support, we're going to need to insert
  some calls to flush the restpose values so that values from the previously
  used action do not pollute the pose for the new action (if not all the
  same controls get keyed across both). For now, it's best to only do this
  switching from the first frame.

5 years agoCode Cleanup: Deduplicate logic to switch between NLA Strips/Actions
Joshua Leung [Fri, 3 Apr 2015 10:50:07 +0000 (23:50 +1300)]
Code Cleanup: Deduplicate logic to switch between NLA Strips/Actions

5 years agoCode Cleanup: Split out duplicate code for finding an available NLA strip above/below
Joshua Leung [Fri, 3 Apr 2015 10:33:32 +0000 (23:33 +1300)]
Code Cleanup: Split out duplicate code for finding an available NLA strip above/below

5 years agoAction Editor: Go to Next/Previous Animation Layer
Joshua Leung [Fri, 3 Apr 2015 10:15:56 +0000 (23:15 +1300)]
Action Editor: Go to Next/Previous Animation Layer

With this feature, it is now possible to quickly switch between different actions
stacked/stashed on top of each other in the NLA Stack without having to go to the
NLA Editor and doing a tab-select-tab dance, thus saving quite a few clicks. It
was specifically designed with Game Animation / Action Library workflows in mind,
but also helps layered animation workflows.

Simply click on the up/down arrow buttons (between the action datablock selector
and the pushdown/stash buttons) to go to the action in the NLA Track above/below
the NLA Strip being whose action is being tweaked in the Action Editor.

- These still work when you're not editing the action used by a NLA Strip.
If you're just animating a new action normally, it is possible to use the "down arrow"
to temporarily jump down to the previous action without losing the new action you're
working on, and then use the "up arrow" to get back to it once you're done checking
the other action(s).

- If there are multiple actions/strips on the same layer/track, then only the one
closest to the current frame will be used.

5 years agoFix T44237: translation does not work for input sockets in 'Active node properties...
Bastien Montagne [Fri, 3 Apr 2015 10:38:59 +0000 (12:38 +0200)]
Fix T44237: translation does not work for input sockets in 'Active node properties' panel.

5 years agoFix T44237: translation does not work in spacebar search.
Bastien Montagne [Fri, 3 Apr 2015 10:26:29 +0000 (12:26 +0200)]
Fix T44237: translation does not work in spacebar search.

Added translation there, also fixed a stupid bug which was leading most internal
operators to have 'dual' i18n_context (default NULL one and default 'Operator' one).

5 years agoFix T44240: Lamp Halo invisible in rendering.
Bastien Montagne [Fri, 3 Apr 2015 09:17:58 +0000 (11:17 +0200)]
Fix T44240: Lamp Halo invisible in rendering.

Halo is not possible when using 'deep' buffer shadow - reflect that in UI.
When not using buffered shadows, switch lamp bufftype to 'regular' on render, as already
done with 'halfway' method.

5 years agoFix T44183 particles in linked group offset from object
Antony Riakiotakis [Thu, 2 Apr 2015 15:13:24 +0000 (17:13 +0200)]
Fix T44183 particles in linked group offset from object

A nice bug combining all the broken features of blender:
Particles, duplis and multiple scene dependencies.

Fortunately this was solvable: Basically, we need to
make sure derivedmesh for dupli instance is generated before
obmat is overriden. This also makes sense, since no instance
has "true" obmat apart from original. Lazy initialization of
derivedmesh just does not work here (or it -does- work but first
use should be before instance drawing).

Fingers crossed nothing else breaks after this...

5 years agoAction Editor: Experimental tweak to ordering of buttons
Joshua Leung [Thu, 2 Apr 2015 13:10:20 +0000 (02:10 +1300)]
Action Editor: Experimental tweak to ordering of buttons

This commit is an experiment exploring the relationship between the action
management buttons (i.e. action selector + pushdown/stash, and soon a few others)
and the filtering stuff (i.e. summary, only selected, etc.)

The old ordering meant that the filtering stuff was consistently in the same
place beside the mode selector, meaning that the order was "common stuff, then
editor specific stuff", this was not that great on smaller windows, where there
important stuff was often out of view.

This new order places greater emphasis on the parts which are likely to be more
important. It also allows us to have a better hierarchy/flow; this is especially
because we'll soon introduce a way to specify which datablock "level" the
action comes from, so going from "level -> action -> filters within action" will
make more sense.

5 years agoCode Cleanup: Split Action management operator stuff into action_data.c
Joshua Leung [Thu, 2 Apr 2015 12:31:34 +0000 (01:31 +1300)]
Code Cleanup: Split Action management operator stuff into action_data.c

5 years agoCleanup: followup to rBf87d7c605dcfb - use __func__ instead of literal func name...
Bastien Montagne [Thu, 2 Apr 2015 12:51:37 +0000 (14:51 +0200)]
Cleanup: followup to rBf87d7c605dcfb - use __func__ instead of literal func name in string.

Since we are already using BKE_reportf... This way, no more issue if/when we copy/paste
or rename that!

5 years agoFix error messages for RE_layer_load_from_file() and RE_layer_load_from_file()
Dalai Felinto [Thu, 2 Apr 2015 12:08:25 +0000 (09:08 -0300)]
Fix error messages for RE_layer_load_from_file() and RE_layer_load_from_file()

5 years agoFix issue reported by copias on irc, shift duplicate and snap crashes in
Antony Riakiotakis [Thu, 2 Apr 2015 11:47:39 +0000 (13:47 +0200)]
Fix issue reported by copias on irc, shift duplicate and snap crashes in

Missing snap callback case. Quick patch is to use the sequencer specific
operator instead of generic translate. We really need to support proper
snap/snap options at some point though.

5 years agoCleanup: Make strict flags happy
Sergey Sharybin [Thu, 2 Apr 2015 11:01:23 +0000 (16:01 +0500)]
Cleanup: Make strict flags happy

We might also just remove those arguments perhaps?

5 years agoCycles: Make guarded allocator happy about strict C++ flags
Sergey Sharybin [Thu, 2 Apr 2015 10:06:40 +0000 (15:06 +0500)]
Cycles: Make guarded allocator happy about strict C++ flags

5 years agoFix: Crash when using "On Selected Markers" mode for Propogate Pose with no markers...
Joshua Leung [Thu, 2 Apr 2015 10:47:55 +0000 (23:47 +1300)]
Fix: Crash when using "On Selected Markers" mode for Propogate Pose with no markers present

The function to get a list of markers was not clearing the list before it exited
early, and with no way to tell that the method failed, callers could make the
mistake of trusting that the list was now valid (i.e. either full of marker
frames or empty, vs being invalid)

5 years agoExpose the Pose Propagate tool a bit more in the UI
Joshua Leung [Thu, 2 Apr 2015 10:40:09 +0000 (23:40 +1300)]
Expose the Pose Propagate tool a bit more in the UI

From the various forum threads and the fact that a new addon has cropped up,
it appears that it is not that well known that this tool exists, and that it
can be used solve a very common problem that animators face. Namely:
  When you've gone through blocking out your key poses and then realise
  that you need to adjust parts of the rig which don't change much, this
  tool solves the problem of needing to go through doing grunt-work to
  fix all the other keyframes which now need to change as well.

So, this tool is now available in the following two places (in addition to
the existing Pose -> Propagate menu):
* Toolbar - The "Propagate" button will use the default mode (or the last
            used mode for each subsequent invocation).
            The arrow-button beside this will allow choosing between the different
            modes. (NOTE: The UI team may have different thoughts on this, but,
            let's give this a try for a while first, to see if this sort of thing works)
* Alt-P   - In Pose Mode, this will now bring up a menu allowing you to choose
            which mode is used. Since this sort of thing is something that does
            get run several times in a row when you need it, having this hotkey
            will make it a bit more convenient.

5 years agoPropagate Pose: Added 'Selected Keyframes' mode
Joshua Leung [Thu, 2 Apr 2015 10:30:30 +0000 (23:30 +1300)]
Propagate Pose: Added 'Selected Keyframes' mode

This commit adds a new mode for the Propagate Pose tool. With this new option,
the Propagate Pose will copy the current pose over to all selected keyframes
after the current frame.

For reference, some of the other/existing options are: to copy it to each subsequent
keyframe with the same value (WHILE_HELD - the default), to the next keyframe,
or to the last keyframe.

5 years agoGPencil: Draw status indicator in top-right corner when in Stroke Edit Mode
Joshua Leung [Thu, 2 Apr 2015 07:49:29 +0000 (20:49 +1300)]
GPencil: Draw status indicator in top-right corner when in Stroke Edit Mode

When in Stroke Edit Mode, an indicator/warning message is now shown in the top-right
corner to make it easier to notice that operations will apply to Grease Pencil
strokes instead.

5 years agoGPencil: H/Shift-H/Alt-H now work to Hide and Reveal Layers in Strokes Edit Mode
Joshua Leung [Thu, 2 Apr 2015 04:26:43 +0000 (17:26 +1300)]
GPencil: H/Shift-H/Alt-H now work to Hide and Reveal Layers in Strokes Edit Mode

* H       = Hide active layer
* Shift-H = Hide non-active layers
* Alt-H   = Show all layers

5 years agoFix proportional editing always turned on in graph editor.
Antony Riakiotakis [Thu, 2 Apr 2015 10:34:35 +0000 (12:34 +0200)]
Fix proportional editing always turned on in graph editor.

5 years agoAdd custom properties to sequence strips
Campbell Barton [Thu, 2 Apr 2015 10:05:12 +0000 (21:05 +1100)]
Add custom properties to sequence strips

5 years agoCleanup own todo: RE_pipeline is not a bad include from BKE, it's already used in...
Sergey Sharybin [Thu, 2 Apr 2015 09:39:58 +0000 (14:39 +0500)]
Cleanup own todo: RE_pipeline is not a bad include from BKE, it's already used in few places

5 years agoCleanup
Campbell Barton [Thu, 2 Apr 2015 04:55:43 +0000 (15:55 +1100)]

5 years agoCode Cleanup: Pruning back the unusued includes now
Joshua Leung [Thu, 2 Apr 2015 03:33:09 +0000 (16:33 +1300)]
Code Cleanup: Pruning back the unusued includes now

5 years agoCode Cleanup: Reshuffling some of the GPencil code
Joshua Leung [Thu, 2 Apr 2015 03:29:33 +0000 (16:29 +1300)]
Code Cleanup: Reshuffling some of the GPencil code

* Moved the context handling stuff into gpencil_utils.c

* Moved the datablock and layer operators out into their own file too. Again,
  these weren't related to the other stuff that much

* Split the GPencil to Curves operator out into its own file (gpencil_convert.c).
  This was quite a massive blob of code (48kb) that was not that related to the
  other operators still in that file (gpencil_edit.c)

5 years agoFix for incorrect description
Joshua Leung [Sun, 29 Mar 2015 07:58:10 +0000 (20:58 +1300)]
Fix for incorrect description

5 years agoFix T44217: Crash when starting .blend without "Load UI" enabled
Julian Eisel [Wed, 1 Apr 2015 22:24:58 +0000 (00:24 +0200)]
Fix T44217: Crash when starting .blend without "Load UI" enabled

Caused by changes in 31e26bb83b. This makes it fall back to the old
method if we can't find a screen.

Patch is actually by @LazyDodo with minor edits by me.

5 years agoCycles: Make SSS intersection closer to regular triangle intersection
Sergey Sharybin [Wed, 1 Apr 2015 16:19:29 +0000 (21:19 +0500)]
Cycles: Make SSS intersection closer to regular triangle intersection