6 years agoSculpt: remove workaround T25371
Campbell Barton [Mon, 20 Apr 2015 03:36:51 +0000 (13:36 +1000)]
Sculpt: remove workaround T25371

It's no longer needed,
and made calc_area_normal different to the normal from calc_area_normal_and_center.

6 years agoSculpt: clay-strips was missing accumulate button
Campbell Barton [Mon, 20 Apr 2015 02:35:49 +0000 (12:35 +1000)]
Sculpt: clay-strips was missing accumulate button

Correct & de-duplicate check for accumulate.

6 years agoFix: solved BGE compiler error on Linux/gcc
Sybren A. Stüvel [Mon, 20 Apr 2015 02:58:25 +0000 (10:58 +0800)]
Fix: solved BGE compiler error on Linux/gcc

6 years agoFix T44449, sm_52 kernel missing in CMake builds.
Thomas Dinges [Sun, 19 Apr 2015 20:04:23 +0000 (22:04 +0200)]
Fix T44449, sm_52 kernel missing in CMake builds.

6 years agoBGE : Standardization of callbacks execution.
Porteries Tristan [Sun, 19 Apr 2015 18:32:14 +0000 (20:32 +0200)]
BGE : Standardization of callbacks execution.

A new function (RunPythonCallBackList) to call all python functions
contained in a python list was developed.

This function has:
  - first argument is the python list of callbacks
  - second argument is a python list of arguments
  - third argument is the minimum quantity of arguments
  - forth argument is the maximum quantity of arguments

It improves flexibility and supports *args.

Reviewers: moguri, dfelinto, campbellbarton, sybren

Reviewed By: campbellbarton, sybren

Subscribers: sybren

Projects: #game_engine

Differential Revision:

6 years agoCleanup: warnings
Campbell Barton [Sun, 19 Apr 2015 12:03:42 +0000 (22:03 +1000)]
Cleanup: warnings

6 years agoDyntopo: non-topology tool origdata support
Campbell Barton [Sun, 19 Apr 2015 09:51:02 +0000 (19:51 +1000)]
Dyntopo: non-topology tool origdata support

Brushes that don't change topology didn't have access to original data.

6 years agoCleanup: use meaningful names re: (fc, an, sn)
Campbell Barton [Sun, 19 Apr 2015 08:36:53 +0000 (18:36 +1000)]
Cleanup: use meaningful names re: (fc, an, sn)

6 years agoDyntopo: support for original normal access
Campbell Barton [Sun, 19 Apr 2015 08:22:25 +0000 (18:22 +1000)]
Dyntopo: support for original normal access

Rename calc_flatten_center to calc_area_center,
since theres no 'flatten' spesific logic there.

Also refactor calc_area_center, calc_area_normal, calc_area_normal_and_center
so they're next to eachother - they're almost the same,
having them scattered about isn't helpful.

6 years agoCleanup: move project code into util function
Campbell Barton [Sun, 19 Apr 2015 07:52:35 +0000 (17:52 +1000)]
Cleanup: move project code into util function

6 years agoCleanup: calculating sculpt center & normal
Campbell Barton [Sun, 19 Apr 2015 07:03:51 +0000 (17:03 +1000)]
Cleanup: calculating sculpt center & normal

also avoid sqrt calculating dyntopo center (only checks for flipping)

6 years agodisable verify from last commit (too slow)
Campbell Barton [Sun, 19 Apr 2015 06:06:40 +0000 (16:06 +1000)]
disable verify from last commit (too slow)

6 years agoDyntopo: USE_EDGEQUEUE_TAG broke even subdiv
Campbell Barton [Sun, 19 Apr 2015 06:03:12 +0000 (16:03 +1000)]
Dyntopo: USE_EDGEQUEUE_TAG broke even subdiv

While adding edges to the queue multiple times is redundant,
walking over them is still needed.

6 years agoDyntopo: avoid over-counting /w neighbor average
Campbell Barton [Sun, 19 Apr 2015 04:42:54 +0000 (14:42 +1000)]
Dyntopo: avoid over-counting /w neighbor average

6 years agoSculpt: avoid CD lookup /w mask smooth
Campbell Barton [Sun, 19 Apr 2015 04:38:16 +0000 (14:38 +1000)]
Sculpt: avoid CD lookup /w mask smooth

6 years agoSculpt: smooth brush, exclude self from average
Campbell Barton [Sun, 19 Apr 2015 04:21:23 +0000 (14:21 +1000)]
Sculpt: smooth brush, exclude self from average

Was including the vertices own location when accumulating.

6 years agoBGE: Support for collision group/mask from the api + activated on EndObject.
Porteries Tristan [Sat, 18 Apr 2015 23:01:17 +0000 (01:01 +0200)]
BGE: Support for collision group/mask from the api + activated on EndObject.

A Python API for the collision group / mask has been added:
The maximum number of collision groups and masked has been increased from eight to sixteen.
This means that the max value of collisionGroup/Mask is (2 ** 16) - 1

EndObject will now activate objects that were sleeping and colliding with the removed object.
This means that, unlike now, if a rigid body starts sleeping on top of another object, when the latter is removed the rigid body will activate and fall, rather than float midair as before.

Collision groups that do not intersect used to collide on the first frame. Now this has been fixed so that they collide appropriately.

Thanks to agoose77 for his help.

Reviewers: scorpion81, hg1, agoose77, sergof

Reviewed By: agoose77, sergof

Subscribers: sergof, moguri

Projects: #game_physics, #game_engine

Differential Revision:

6 years agoBGE: Fix T43536 logic.getCurrentScene() returning wrong scene in
Porteries Tristan [Sat, 18 Apr 2015 19:32:48 +0000 (21:32 +0200)]
BGE: Fix T43536 logic.getCurrentScene() returning wrong scene in
pre_draw and post_draw calls

A simple insert of KX_SetActiveScene(scene) before pre_draw and
post_draw calls solves the issue.

Reviewers: dfelinto, sybren, brita_, campbellbarton, moguri, lordloki

Reviewed By: moguri, lordloki

Projects: #game_logic, #game_engine

Differential Revision:

6 years agoCleanup: API naming use BKE_undo_ prefix
Campbell Barton [Sat, 18 Apr 2015 13:41:12 +0000 (15:41 +0200)]
Cleanup: API naming use BKE_undo_ prefix

6 years agoCleanup: use BLO_memfile prefix
Campbell Barton [Sat, 18 Apr 2015 15:33:04 +0000 (17:33 +0200)]
Cleanup: use BLO_memfile prefix

6 years agoAutosave:
Antony Riakiotakis [Sat, 18 Apr 2015 13:50:29 +0000 (15:50 +0200)]

Flush edits only when saving global undo. This will stop freeing of PBVH
in sculpt mode, which introduces some pretty severe freezes, especially
in dyntopo. For global undo we flush the contents of the global undo
buffer which does not include localized edits of sculpt/edit mode, so
those data will not get saved anyway.

6 years agoBGE: New Draw debug shadow box for sun lamp
Porteries Tristan [Sat, 18 Apr 2015 10:28:19 +0000 (12:28 +0200)]
BGE: New Draw debug shadow box for sun lamp

New Check option "Show Shadow Box" in shadow panel of sun lamp to get
feedback about which objects project shadows.

Minor tweaks by Campbell Barton and Jorge Bernal

Reviewers: moguri, sybren, kupoman, dfelinto, lordloki, campbellbarton

Reviewed By: lordloki, campbellbarton

Subscribers: sergey, lordloki

Projects: #game_engine

Differential Revision:

6 years agoFix T44390: Clay brush weirdness part-2
Campbell Barton [Fri, 17 Apr 2015 19:03:29 +0000 (05:03 +1000)]
Fix T44390: Clay brush weirdness part-2

Use the normal of the plane instead of the vertex normal,
since projecting using the vertex normal frequently causes artifacts.

6 years agoFix T44390: Clay brush weirdness part-1
Campbell Barton [Fri, 17 Apr 2015 18:57:23 +0000 (04:57 +1000)]
Fix T44390: Clay brush weirdness part-1

Clay brush had a feedback loop with dyntopo,
getting the plane from the cursor center didn't support original data.

6 years agoCleanup: simplify sculpt normal accumulation
Campbell Barton [Fri, 17 Apr 2015 17:09:16 +0000 (03:09 +1000)]
Cleanup: simplify sculpt normal accumulation

6 years agoCleanup: simplify sculpt plane accumulation
Campbell Barton [Fri, 17 Apr 2015 16:50:58 +0000 (02:50 +1000)]
Cleanup: simplify sculpt plane accumulation

6 years agoBGE : Fix light layer check
Porteries Tristan [Fri, 17 Apr 2015 16:10:34 +0000 (18:10 +0200)]
BGE : Fix light layer check

The layers in Blender are using a bit field for the 20 layers. The light layer value was limited to 20, so the highest usable light layer was five.
The patch modify the range and add layer out of range error messages.

Reviewers: sybren, hg1, moguri

Reviewed By: hg1, moguri

Projects: #game_engine

Differential Revision:

6 years agoBake-API: reduce memory footprint when baking more than one object (Fix T41092)
Dalai Felinto [Fri, 17 Apr 2015 15:25:37 +0000 (12:25 -0300)]
Bake-API: reduce memory footprint when baking more than one object (Fix T41092)

Combine all the highpoly pixel arrays into a single array with a lookup
object_id for each of the highpoly objects.

Note: This changes the Bake API, external engines should refer to the
bake_api.c for the latest API.

Many thanks for Sergey Sharybin for the complete review, changes
suggestion and feedback. (you rock!)

Reviewers: sergey

Subscribers: pildanovak, marcclintdion, monio, metalliandy, brecht

Maniphest Tasks: T41092

Differential Revision:

6 years agoCleanup: redundant casts
Campbell Barton [Fri, 17 Apr 2015 14:11:03 +0000 (00:11 +1000)]
Cleanup: redundant casts

6 years agoFix BPlayer (c)
Bastien Montagne [Fri, 17 Apr 2015 14:03:14 +0000 (16:03 +0200)]
Fix BPlayer (c)

6 years agoDepsgraph: Report total time spent on scene update
Sergey Sharybin [Fri, 17 Apr 2015 13:55:47 +0000 (18:55 +0500)]
Depsgraph: Report total time spent on scene update

Previously was only per-thread timing.

6 years agoCleanup: remove unused face normals
Campbell Barton [Fri, 17 Apr 2015 10:55:33 +0000 (20:55 +1000)]
Cleanup: remove unused face normals

also use const

6 years agoCode cleanup (for previous commit)
Dalai Felinto [Fri, 17 Apr 2015 13:41:31 +0000 (10:41 -0300)]
Code cleanup (for previous commit)

6 years agoImage Editor: Fix passes increase/decrease buttons
Dalai Felinto [Fri, 17 Apr 2015 13:38:17 +0000 (10:38 -0300)]
Image Editor: Fix passes increase/decrease buttons

This was half-broken even in 2.74 (if you were using compositor), multiview did us the favour of breaking this for all cases (you are welcome).
It is all working now.

6 years agoFix T44336: Unable to select cycles-specific passes in UV/image editor
Dalai Felinto [Fri, 17 Apr 2015 12:48:31 +0000 (09:48 -0300)]
Fix T44336: Unable to select cycles-specific passes in UV/image editor

This approach gets rid of iuser->pass for good.

Also, I'm commenting out the pass increase/decrease. This was broken
since multiview. I will fix it later (before 2.75), but I didn't want to
get this patch mangled with that fix.

Thanks Sergey Sharybin for the review and feedbacks.

Reviewers: sergey

Differential Revision:

6 years agoDyntopo: save 4 bytes per BMLogVert
Campbell Barton [Fri, 17 Apr 2015 08:07:08 +0000 (18:07 +1000)]
Dyntopo: save 4 bytes per BMLogVert

6 years agoDyntopo: avoid redundant lookup on original data
Campbell Barton [Fri, 17 Apr 2015 07:31:56 +0000 (17:31 +1000)]
Dyntopo: avoid redundant lookup on original data

6 years agoFix T44411: poll() function of MESH_OT_knife_project was not strict enough.
Bastien Montagne [Fri, 17 Apr 2015 06:09:16 +0000 (08:09 +0200)]
Fix T44411: poll() function of MESH_OT_knife_project was not strict enough.

We need a 3DView region here, not only the 3DView...

6 years agoFix T44412: Crash when trying to paint on a GPencil frame when the frames are out...
Joshua Leung [Fri, 17 Apr 2015 01:32:57 +0000 (13:32 +1200)]
Fix T44412: Crash when trying to paint on a GPencil frame when the frames are out of order

6 years agoFix for Grease Pencil and negative frames
Joshua Leung [Fri, 17 Apr 2015 00:27:27 +0000 (12:27 +1200)]
Fix for Grease Pencil and negative frames

While investigating T44412, I noticed some weirdness going on when trying to
draw on frame 0 (i.e. strokes were getting added to frame 1 instead). Clearly,
this seemed like an off-by-one error related to clamping to prevent negative
frames which was also excluding frame 0.

This commit reverts the fixes made for T36831 in:

After thinking this over, I think these checks against drawing on negative
frames aren't needed. Even if the current userpref setting doesn't allow
navigating to negative frames, this may not be true for other users that
may work on the same file (in a team environment). Also, negative frame
values can get set via the dopesheet.

6 years agoBGE: Fix for T44374 Crash when collision sensor deactivated
Jorge Bernal [Fri, 17 Apr 2015 00:02:30 +0000 (02:02 +0200)]
BGE: Fix for T44374 Crash when collision sensor deactivated

Don't allocate memory for sensor logic brick if it is deactivated

6 years agoCleanup: use const for sculpt code
Campbell Barton [Thu, 16 Apr 2015 17:10:57 +0000 (03:10 +1000)]
Cleanup: use const for sculpt code

6 years agoAdded Support for Custom Vertex Normals to Collada exporter
Gaia Clary [Thu, 16 Apr 2015 17:02:00 +0000 (19:02 +0200)]
Added Support for Custom Vertex Normals to Collada exporter

6 years agoOpenGL does not like line thickness less than 1.0.
Antony Riakiotakis [Thu, 16 Apr 2015 16:34:53 +0000 (18:34 +0200)]
OpenGL does not like line thickness less than 1.0.

Check here is not completely correct either, we should check against

6 years agoAction Editor: Preemptive fix for null-pointer dereference
Joshua Leung [Thu, 16 Apr 2015 13:10:27 +0000 (01:10 +1200)]
Action Editor: Preemptive fix for null-pointer dereference

A few weeks ago, I got a random crash while testing som edge cases
(IIRC, it was trying to assign an action with no active object),
which I haven't been able to reproduce since then. This commit though
adds some extra sanity checks here, as a user may try to assign an
action to an animdata block which did not have an action already.

6 years agoFix T44408: "Rest Length" property in the Stretch To constraint was getting clipped...
Joshua Leung [Thu, 16 Apr 2015 13:07:05 +0000 (01:07 +1200)]
Fix T44408: "Rest Length" property in the Stretch To constraint was getting clipped when using Metric Units

Increased the upper bound for the "Rest Length" property to cope with metric
units, especially when large (i.e. > 2 m) distances are involved. It may be
necessary to increase this again in the future, if even larger distances get
used (though it then starts getting a bit difficulty to justify such setups).

6 years agoCleanup: remove redundant initializers
Campbell Barton [Thu, 16 Apr 2015 12:26:20 +0000 (22:26 +1000)]
Cleanup: remove redundant initializers

6 years agoDraw smoke domain in transparent pass. Should composite smoke domains
Antony Riakiotakis [Thu, 16 Apr 2015 11:01:57 +0000 (13:01 +0200)]
Draw smoke domain in transparent pass. Should composite smoke domains
correctly in scene - with known limitations of blending between
transparent objects.

6 years agoFix T44406: the Hebrew font causes trouble.
Bastien Montagne [Thu, 16 Apr 2015 10:37:03 +0000 (12:37 +0200)]
Fix T44406: the Hebrew font causes trouble.

Looks like the droidsans hebrew font we used back in the days had some kerning bug or so...
Updated with latest version from Debian Testing repo, works nice now.

6 years agoRNA: avoid past tense in property names
Campbell Barton [Thu, 16 Apr 2015 06:41:12 +0000 (16:41 +1000)]
RNA: avoid past tense in property names

6 years agoDocs: BLI_rand non-obvious behavior
Campbell Barton [Thu, 16 Apr 2015 06:07:46 +0000 (16:07 +1000)]
Docs: BLI_rand non-obvious behavior

6 years agoBGE: Fix for T42341 Sensor.frequency is badly named
Jorge Bernal [Thu, 16 Apr 2015 04:31:25 +0000 (06:31 +0200)]
BGE: Fix for T42341 Sensor.frequency is badly named

"Frequency" parameter is renamed to "Skip" in the LogicBricks sensors as it represents skipped frames between pulses.

Naming something (frequency) the exact opposite of what it represents (period) was the worst choice.

Also, a new BGE python attribute 'skippedTicks' was introduced. 'frequency' attribute is maintained but deprecated.

Internally, freq variable is used yet at DNA_Sensor to maintain compability and to avoid do_versions.

Thanks to Sybren for the investigation.


Reviewers: campbellbarton, sybren, moguri, hg1

Reviewed By: sybren, hg1

Differential Revision:

6 years agoPartial fix for T44404: freestyle crashes blender.
Tamito Kajiyama [Thu, 16 Apr 2015 00:13:40 +0000 (09:13 +0900)]
Partial fix for T44404: freestyle crashes blender.

Logical predicates AndUP1D and OrUP1D were instantiated even with an empty
list of unary 1D predicates, causing an exception in the constructors of
the logical predicate classes.

This is a regression made in b408d8af31c9fba5898e353c97f95f7ce8dc19c1.

6 years agoDyntopo: avoid redundant loop collapsing edges
Campbell Barton [Thu, 16 Apr 2015 02:24:59 +0000 (12:24 +1000)]
Dyntopo: avoid redundant loop collapsing edges

6 years agoDyntopo: blend vertex normals when collapsing
Campbell Barton [Thu, 16 Apr 2015 01:59:48 +0000 (11:59 +1000)]
Dyntopo: blend vertex normals when collapsing

6 years agodyntopo: don't allocate tessfaces while sculpting
Campbell Barton [Wed, 15 Apr 2015 18:14:01 +0000 (04:14 +1000)]
dyntopo: don't allocate tessfaces while sculpting

Tessellation data isn't used for drawing or sculpting.

This frees up some memory ~approx 10% in own tests.
Also slight spee-up since it avoids calculating it in the first place.

6 years agoFix crash loading file without scene in bg mode
Campbell Barton [Wed, 15 Apr 2015 15:45:30 +0000 (01:45 +1000)]
Fix crash loading file without scene in bg mode

6 years agoCleanup: warnings, ws
Campbell Barton [Wed, 15 Apr 2015 15:12:22 +0000 (01:12 +1000)]
Cleanup: warnings, ws

6 years agoCleanup: use const for event->tablet_data
Campbell Barton [Wed, 15 Apr 2015 15:07:54 +0000 (01:07 +1000)]
Cleanup: use const for event->tablet_data

6 years agoIncrease max brush size from 200 to 500
Campbell Barton [Wed, 15 Apr 2015 14:59:43 +0000 (00:59 +1000)]
Increase max brush size from 200 to 500

6 years agoBGE: subclass with more than 1 argument, D1237
Porteries Tristan [Wed, 15 Apr 2015 11:45:43 +0000 (21:45 +1000)]
BGE: subclass with more than 1 argument, D1237

In the BGE you can't create a subclass with more than 1 argument like : "player = Player(owner, 10)"
I have modified the py_base_new to check only the first argument of args tuple.
Now we can do :

    class Player(types.KX_GameObject):
        def __init__(self, gameobj, life):
            print("create new player :", self, ", life :", life)

    player = Player(own, 50)

6 years agoBMesh: dyntopo used lopsided normals
Campbell Barton [Wed, 15 Apr 2015 10:52:51 +0000 (20:52 +1000)]
BMesh: dyntopo used lopsided normals

Normals from subdivided edges were only taken from the edges first vertex.

Interpolate between the two to give more even results.

6 years agoBMesh: Missed normal from example /w skip-cd flag
Campbell Barton [Wed, 15 Apr 2015 10:46:33 +0000 (20:46 +1000)]
BMesh: Missed normal from example /w skip-cd flag

We may still want to use the normal as a reference but skip customdata.

6 years agoFix T44395: String untranslated in open file window.
Bastien Montagne [Wed, 15 Apr 2015 09:11:22 +0000 (11:11 +0200)]
Fix T44395: String untranslated in open file window.

6 years agoBMesh: avoid ghash lookups splitting the pbvh
Campbell Barton [Wed, 15 Apr 2015 06:14:27 +0000 (16:14 +1000)]
BMesh: avoid ghash lookups splitting the pbvh

This isn't a bottleneck but may as well avoid the extra ghash overhead.

6 years agotypo in last commit
Campbell Barton [Wed, 15 Apr 2015 05:34:06 +0000 (15:34 +1000)]
typo in last commit

6 years agoSculpt: change behavior of crease brush
Campbell Barton [Wed, 15 Apr 2015 05:22:37 +0000 (15:22 +1000)]
Sculpt: change behavior of crease brush

Pinch would give a flat result on either side of the stroke,
because points were dragged towards a single point.

Now pinch is projected on the sculpt plane, which gives a tighter crease.
The reverse is true too - blob brush which shares the code is also more curved.

6 years agoRNA: use lock_ prefix for booleans
Campbell Barton [Wed, 15 Apr 2015 04:51:17 +0000 (14:51 +1000)]
RNA: use lock_ prefix for booleans

6 years agoFix T44389: Tooltips swapped in Logic Editor
Julian Eisel [Tue, 14 Apr 2015 15:15:28 +0000 (17:15 +0200)]
Fix T44389: Tooltips swapped in Logic Editor

6 years agoMultiview: compositor openexr multiview images fully working
Dalai Felinto [Tue, 14 Apr 2015 15:19:07 +0000 (12:19 -0300)]
Multiview: compositor openexr multiview images fully working

This is from my original missing-bits/TODO list.
Basically multiview openexr was only working when multiview was on.

6 years agoFix T44343 Compositor image node cannot properly load multilayer EXRs
Dalai Felinto [Tue, 14 Apr 2015 14:19:23 +0000 (11:19 -0300)]
Fix T44343 Compositor image node cannot properly load multilayer EXRs

6 years agoSecond round of hair random rotation limited to 180 degrees
Mai Lavelle [Tue, 14 Apr 2015 14:00:17 +0000 (19:00 +0500)]
Second round of hair random rotation limited to 180 degrees

This time roll back to originally discussed in the code review page approach
with simply bumping UI range for the property.

It's still not totally free from forward compatibility breaking (which is
already broken comparing to previous release) but at least it'll keep files
working inbetween of git blender versions in cases random factor was not
set above 2.0.

Differential Revision:

6 years agoAction Editor: Make the warning on unlinking actions a bit less intrusive
Joshua Leung [Tue, 14 Apr 2015 13:18:45 +0000 (01:18 +1200)]
Action Editor: Make the warning on unlinking actions a bit less intrusive

venomgfx was complaining that having it do the popup everytime was too intrusive,
so demoting it to just showing the warning in the header.

6 years agoFix T44385 SSAO inverted with new Intel drivers.
Antony Riakiotakis [Tue, 14 Apr 2015 10:31:23 +0000 (12:31 +0200)]
Fix T44385 SSAO inverted with new Intel drivers.

Intel has decided to fix this for newer devices and drivers only, so we
can't really avoid keeping a list of buggy drivers here.

6 years agoAdd flag that prevents editing of markers. Can be located in marker
Antony Riakiotakis [Tue, 14 Apr 2015 10:11:24 +0000 (12:11 +0200)]
Add flag that prevents editing of markers. Can be located in marker

When active, all editing operators for markers will not fire up.

6 years agoDyntopo queue added the same edges multiple times
Campbell Barton [Tue, 14 Apr 2015 08:39:40 +0000 (18:39 +1000)]
Dyntopo queue added the same edges multiple times

Use tagging to avoid re-evaluating the same edges while sculpting.

While gives only minor speedup,
it allows for changes to the queue without additional redundant checks.

6 years agoBMesh: avoid customdata copy for new dyntopo verts
Campbell Barton [Tue, 14 Apr 2015 08:32:10 +0000 (18:32 +1000)]
BMesh: avoid customdata copy for new dyntopo verts

6 years agoinitialize members in-order
Campbell Barton [Tue, 14 Apr 2015 08:24:40 +0000 (18:24 +1000)]
initialize members in-order

6 years agoFix T44348: Blender crashes when selecting bone from inactive scene in outliner
Sergey Sharybin [Tue, 14 Apr 2015 08:24:17 +0000 (13:24 +0500)]
Fix T44348: Blender crashes when selecting bone from inactive scene in outliner

Pose is not guaranteed to be existing in object, so can't be used for selection
flag clear. Use bones themselves for that.

6 years agoPBVH: use realloc/recalloc
Campbell Barton [Tue, 14 Apr 2015 06:02:38 +0000 (16:02 +1000)]
PBVH: use realloc/recalloc

6 years agoAnimation Editors: Name filter now updates as you type, making it a true "live search"
Joshua Leung [Tue, 14 Apr 2015 06:50:15 +0000 (18:50 +1200)]
Animation Editors: Name filter now updates as you type, making it a true "live search"

6 years agoNLA: The "filter by name" functionality now works with NLA strips too
Joshua Leung [Tue, 14 Apr 2015 06:27:05 +0000 (18:27 +1200)]
NLA: The "filter by name" functionality now works with NLA strips too

6 years agoNLA: Store track that the strip being tweaked comes from
Joshua Leung [Tue, 14 Apr 2015 05:10:04 +0000 (17:10 +1200)]
NLA: Store track that the strip being tweaked comes from

There should be no functional changes visible from this change, but this commit
should make it easier to code tools which need to check on tweeakmode status,
by making it easier to figure out which NLA Track contains the strip which
owned the action being edited. (The strip is already saved, so this commit just
adds the track alongside it).

For now there is no version patch for this. The worst that happens is that an
extra refresh is needed in the NLA editor to get these to show up.

6 years agoFix for another NLA drawing bug uncovered by the previous commit
Joshua Leung [Tue, 14 Apr 2015 04:51:20 +0000 (16:51 +1200)]
Fix for another NLA drawing bug uncovered by the previous commit

With multiple strips in tweakmode, only the one tagged as being "active"
would get drawn in the correct colours, while all the others would just
get drawn as a selected strip instead.

6 years agoTemporary fix for NLA strips not getting drawn in tweakmode with multiple strips...
Joshua Leung [Tue, 14 Apr 2015 04:48:34 +0000 (16:48 +1200)]
Temporary fix for NLA strips not getting drawn in tweakmode with multiple strips selected

When entering tweakmode on multiple strips (from different AnimData blocks)
simultaneously, only the track containing the last selected strip would be
shown. All the other tracks with strips being tweaked would not appear at

6 years agoNLA: Shift-Tab toggles tweakmode AND makes that track solo
Joshua Leung [Sun, 12 Apr 2015 08:42:34 +0000 (20:42 +1200)]
NLA: Shift-Tab toggles tweakmode AND makes that track solo

To help make it more convenient to edit stashed actions, Shift-Tab
(i.e. holding down the Shift key, which "tabbing" into tweakmode as
usual to edit the action referenced by the active NLA strip) now flags
the NLA Track that the strip occupies as being "solo" too.

This allows you to use the NLA to select a stashed action, then Shift-Tab
to start editing it without any other actions in the NLA stack interfering.
Like the "Next/Previous Layer" tools in the Action Editor, this is designed
to help with checking on stashed actions.

6 years agoBMesh: avoid redundant face-exists check (dyntopo)
Campbell Barton [Tue, 14 Apr 2015 05:27:27 +0000 (15:27 +1000)]
BMesh: avoid redundant face-exists check (dyntopo)

6 years agoBMesh: optimize BM_face_exists
Campbell Barton [Tue, 14 Apr 2015 05:24:32 +0000 (15:24 +1000)]
BMesh: optimize BM_face_exists

Avoid flagging/clearing flags,
just walk over the face until a mismatch is found.

6 years agoCleanup: warnings
Campbell Barton [Tue, 14 Apr 2015 00:30:14 +0000 (10:30 +1000)]
Cleanup: warnings

6 years agoCleanup: don't use single sets for comparisons
Campbell Barton [Tue, 14 Apr 2015 00:29:11 +0000 (10:29 +1000)]
Cleanup: don't use single sets for comparisons

6 years agoFix for *harmless* T44342 Error when saving multilayer EXR
Dalai Felinto [Mon, 13 Apr 2015 22:56:56 +0000 (19:56 -0300)]
Fix for *harmless* T44342 Error when saving multilayer EXR

This was introduced with multiview, and it was an oversight on my end.
There is no error, we simply was never returning True

6 years agoFix T44362 no easy way to repeatedly duplicate keyframes in action
Antony Riakiotakis [Mon, 13 Apr 2015 21:58:50 +0000 (23:58 +0200)]
Fix T44362 no easy way to repeatedly duplicate keyframes in action

Reporter used a hacky work-around by placing cursor at end of keyframe
range and doing ctrl-C ctrl-V repeatedly. This was working on 2.73 but
not anymore since the old selection is not kept.

Much better is to have duplication operator be repeatable. This commit
takes care of that.

6 years agocleanup: style
Mike Erwin [Mon, 13 Apr 2015 20:56:43 +0000 (16:56 -0400)]
cleanup: style

to match my earlier commit in temp_viewport_fx_merge branch

plus more

no functional changes

6 years agoCleanup: do not use _reportf() when not doing any string formating!
Bastien Montagne [Mon, 13 Apr 2015 19:00:06 +0000 (21:00 +0200)]
Cleanup: do not use _reportf() when not doing any string formating!

Also usual minor i18n messages stuff...

6 years agoMoar precision for Color Stop position slider in Color Ramps
Julian Eisel [Mon, 13 Apr 2015 18:27:32 +0000 (20:27 +0200)]
Moar precision for Color Stop position slider in Color Ramps

Normal dragging now uses a precision of 0.01 instead of 0.1, shift+dragging now uses 0.001. (0.1 steps can still be done using ctrl)

Requested by @venomgfx

6 years agoFix bug with autonormalization and transform (after own range commit).
Antony Riakiotakis [Mon, 13 Apr 2015 16:37:15 +0000 (18:37 +0200)]
Fix bug with autonormalization and transform (after own range commit).

Transforming the center after transforming a handle would continuously
flush an extra offset to the handles.

Also use normalization range of -1.0 to 1.0 instead of -0.5 to 0.5 (not
really important, just for better comparisons)

6 years agoFix for crash with non-camera as a camera
Campbell Barton [Mon, 13 Apr 2015 14:59:28 +0000 (00:59 +1000)]
Fix for crash with non-camera as a camera

6 years agoAfter user feedback:
Antony Riakiotakis [Mon, 13 Apr 2015 14:09:45 +0000 (16:09 +0200)]
After user feedback:

* Allow ctrl click to do negative stroke in line strokes
* Use alt for angle constraints.

6 years agoRevert "Fix hair random rotation limited to 180 degrees"
Sergey Sharybin [Mon, 13 Apr 2015 14:16:40 +0000 (19:16 +0500)]
Revert "Fix hair random rotation limited to 180 degrees"

This reverts commit 176ed5bfe280ef2151f93c0940d54498aaf00d71.

6 years agoGraph editor:
Antony Riakiotakis [Mon, 13 Apr 2015 13:57:46 +0000 (15:57 +0200)]
Graph editor:

Normalization feature now uses the full range of the data instead of
just one semiaxis for the maximum size.