Commit Graph

10778 Commits

Author SHA1 Message Date
Joshua Leung 6a18b0f6bf Regression Bugfix T40332: Bad driver behaviour on small distances.
!!! ANIMATORS/RIGGERS PLEASE TEST !!!

I've reduced the size of the threshold for the keyframe lookup here. This threshold
determines the minimum time in frames between keyframes (i.e. "how close" to each
other they can get). Making this too small causes problems like T39207, but it seems
that the threshold we've been using makes it impossible to get accurate behaviour on
driver curves with keyframes, when the driver target only moves 2cm (i.e. 0.02 BU).

So far, all of the test cases from T39207 seem to work fine, as well as Caminandes 2
files, and Kenny the Caterpillar. The Kiribati rigs/shots (thanks jpbouza for helping
to check on these!) also seem to be fine.
2014-06-11 15:49:12 +12:00
Campbell Barton 3286c8f8fb Curve: skip curves when matching bevel-fac (like 2.70) 2014-06-10 22:33:24 +10:00
Campbell Barton 75381aea50 Fix for slowdown converting mesh to curve with large polygons
Walk the linked list rather then doing index lookups.
2014-06-10 01:18:05 +10:00
Sergey Sharybin 0ae8ce3ab1 Fix T40057: invisible hair particles slowing down mesh edits
Skip doing particle update in object_handle_update if object is in
edit mode.

Object will be re-evaluated on exit from edit mode anyway, so it's
_expected_ to be a safe change.
2014-06-09 17:33:39 +06:00
Sergey Sharybin 30e7bdfe10 Revert "Fix T40382: 2D stabilization uses disabled markers"
It's not that trivial to support disapearing tracks in the sequence,
and since we're having ongoing 2D stabilization rework patch wouldn't
want to start doing rather bigger changes here now.

Let's just stick to legacy behavior for this release.

This reverts commits 91429d0, 543ce85
2014-06-09 14:11:48 +06:00
Sergey Sharybin 7f5d9a1f74 Fix compilation error after recent changes
fmc->script is a text datablock, for which we need to
access to it's IT property.
2014-06-06 16:07:58 +06:00
Tamito Kajiyama 96f81242bd Fix for missing visits of ID's within SceneRenderLayer in BKE_library_foreach_ID_link().
Just noticed them while working on the previous commit (rB00f722042c07).
2014-06-06 12:51:14 +09:00
Tamito Kajiyama 00f722042c Fix for missing visits of Freestyle-related ID data blocks in BKE_library_foreach_ID_link(). 2014-06-06 12:48:53 +09:00
Campbell Barton ae4ed68dfe Code cleanup: style 2014-06-06 07:54:05 +10:00
Sergey Sharybin 91429d09a3 Tweak to previous commit 2014-06-05 19:37:12 +06:00
Sergey Sharybin 543ce859f3 Fix T40382: 2D stabilization uses disabled markers
This lead to unpredictable results in some cases.
2014-06-05 19:36:20 +06:00
Campbell Barton 6f47d054ff Code cleanup: mixup hflag/htype 2014-06-05 18:37:53 +10:00
Sergey Sharybin ec97cb87f6 Fix issues when ungrouping meta changes the final sequencer render
Seems to be caused by the way how the most bottom strip in the stack
used to apply effect. Just rendering strip in this cases will not give
proper results.

Made it so effect is applying between empty imbuf and actual strip.
Seems to work by tests, but more intense testing is required.
2014-06-04 22:27:10 +06:00
Sergey Sharybin 3e6c734eaa Fix T40457: Subsurf modifier with Freestyle edges
You can't use ORIG index as an index to copy CD from source DM.
2014-06-02 14:24:25 +06:00
Tamito Kajiyama edfd989e86 Fix T40315: Boolean modifier with Freestyle edges.
The helper function `make_freestyle_edge_mark_hash()` was referring to the
original mesh to determine Freestyle edge marks for individual derived mesh edges.
This is no longer necessary now that derived meshes deliver CD_FREESTYLE_EDGE
and CD_FREESTYLE_FACE layers of their own.  The reference of the original mesh
was also inappropriate since the edges coming from one of the operands of a boolean
modifier don't have proper CD_ORIGINDEX values but ORIGINDEX_NONE's.

Many thanks to Sergey Sharybin for patch contributions and discussions.
2014-06-01 16:24:18 +09:00
Bastien Montagne 6b538f4271 Fix T40445: Disabled modifiers prevent cage edit mode.
No valid reason to make non-mapping modifiers break edit cage,
when they are disabled in 3DView/edit mode!
2014-05-30 20:22:23 +02:00
Campbell Barton 9c9fc626b7 Comments: Note direction in doxy args 2014-05-29 22:05:07 +10:00
Campbell Barton 6c721a86ff Cleanup: Use doxy for more structured comments 2014-05-29 21:17:48 +10:00
Campbell Barton d7708817d6 Sequencer: use escaping for sequence names 2014-05-29 20:39:51 +10:00
Sergey Sharybin 3e0d5898e5 Fix T39686: nused omp firstprivate variable sphdata in particles 2014-05-29 15:20:19 +06:00
Antony Riakiotakis 96f303392b Fix T40381 and revert previous commit.
Looks like the normal update flag is used internally in the modifier
itself. So as a workaround just pass normal update to the nodes when
flood filling
2014-05-29 05:22:44 +03:00
Antony Riakiotakis ac0b69233c Related to T40381,
Cleanup the normal flag or else the smooth tool will work on more and
more nodes as we sculpt.
2014-05-29 05:04:39 +03:00
Sergey Sharybin 973f95fa9d Fix T40157: Loading movies larger than 4GB in size fails
Issue was caused by _wstat returning EOVERFLOW error because
of file size didn't fit into stat structure which was using
long datatype.

The idea of this patch is to use _wstat64 and _stat64 structure
which is capable storing 64bit file sizes.

Made it a typedef for stat structure used by BLI_stat function
in order to make code easier to follow and avoid ifdefs all
over the place.

Additionally solved issue with BLI_exists which was wrongly
returning False in cases destination file is larger then 4GB.
2014-05-28 23:21:39 +06:00
Bastien Montagne 74cc3974fe Fix T40405: Blender crashes on FBX export instantly.
Better fix than rBbef5cb3aa2e5a: consider edges between faces with opposed normals as sharp.

In fact, previous code was broken more deeply in this case (inconsistent normals across
a 'smooth fan') - some loop normals would even never be computed!

Fixing this is possible (even wrote it, actually), but this adds more complexity
to a piece of code that is already awfully complicated, *and* normals in that kind
of smooth fan do not make much sense anyway. So simpler and nicer results with
assuming sharp edges between such 'opposed' faces!

Note that there is some face (loop) ordering black magic at work here, added more comments
to try to explain how and why all this works.

As a bonus, we do not need to check for already computed loop normals anymore, since we
know each 'smooth fan' will be walked once, and only once.
2014-05-28 18:55:46 +02:00
Sergey Sharybin dcf2a071a0 Fix mask transform when display aspect is not 1:1
Requires some more intense testing.
2014-05-28 18:45:05 +06:00
Bastien Montagne bef5cb3aa2 Fix T40405: Blender crashes on FBX export instantly.
This crash can only happen in case faces in same 'smooth fan' have reversed normals.
To support this, we have to always keep a way to get real values in loop_to_poly,
even when loop itself is tagged as done, it might be needed in computation of one of
its neighbor's split normal later.
2014-05-28 13:54:29 +02:00
Campbell Barton 67f5af0531 Add asserts to BKE_mesh_normals_loop_split 2014-05-28 20:50:05 +10:00
Sergey Sharybin 9dbd577184 Fix T40272: Error setting option flags2 to value fastpskip 2014-05-28 16:11:59 +06:00
Sergey Sharybin 22cdfd6cac Style cleanup 2014-05-28 15:56:54 +06:00
Bastien Montagne 4b15a54ede Fix T40388: 2.70a - Blender Render - Texture Stack - persistent checkbox state.
Reset 'use_texture' flag of a material tex slot when creating/assigning
a texture to an empty slot.
2014-05-28 08:19:41 +02:00
Campbell Barton bc9e66f083 Revert fix for T38594, caused T40186 (just accept limitation for now) 2014-05-27 21:29:52 +10:00
Campbell Barton 13b81c84a0 Fix T40373: Adding movie creates overlapping audio strips 2014-05-27 15:35:17 +10:00
Campbell Barton 91a91b9362 Fix T40223: Errors in bevel_factor_mapping_start/end
Initial patch by Lukas Treyer with own fixes added
2014-05-27 00:00:44 +10:00
Campbell Barton 5680172a3a Fix for out of bounds read calculating spline mapping 2014-05-26 23:53:10 +10:00
Campbell Barton 159bf9d19c Curve Mapping: disable for cyclic curves (it doesn't make much sense and is buggy) 2014-05-26 23:53:05 +10:00
Campbell Barton e9e1357fb9 Fix for out of bounds reads with curve bevel mapping 2014-05-26 23:31:52 +10:00
Campbell Barton d84af360ca EditCurve: Replace -1 with CU_ACT_NONE define 2014-05-26 09:37:04 +10:00
Campbell Barton eaf815f14a Fix for curve having invalid active vertex after setting type
also allow passing NULL vertex to BKE_curve_nurb_vert_active_set
2014-05-26 09:35:32 +10:00
Campbell Barton 29dc8259a8 Mistake naming in recent commit 2014-05-22 17:40:35 +10:00
Campbell Barton 049b6cfa6d Fix for image garbage collection failing to run for render-only views
Check for freeing old images was running per-object, move this to viewport drawing.
2014-05-22 11:58:07 +10:00
Lukas Tönne 79fe023ec6 Fix T40299, Crash on rendering due to dependency cycles and NULL pointer when using particle duplis. 2014-05-21 19:07:53 +02:00
Bastien Montagne ebbeb082d1 Fix T40271: recalculation of the bone roll does not work correctly.
Check that up_axis is not aligned with bone was wrong in at least two aspects
(not working against negative alignement case, and since ages it seems,
using Z axis when bones are along Y axis...).

Also optimized a bit here, better to have a normalized version of vec_roll_to_mat3(),
since it needs normalized vector anyway, and we have to normalize it for the tests
before calling it anyway (so now, we only do that twice in Transform code, instead
of three times).

And we can perform aling test *before* calling vec_roll_to_mat3!
2014-05-21 15:22:31 +02:00
Jörg Müller 38fcc3e14b Fix T40280: sequencer sound strips with an end at a negative time kept playing
The bug was caused by using negative numbers as the end for playing forever (or until the end of the sound is reached) in the library. This was used with speaker objects which have an end of FLT_MAX now instead and the negative number interpretation was removed. I hope this doesn't break anything else.
2014-05-20 23:01:56 +02:00
Bastien Montagne 3bba558944 Fix T40269: Transform Constraint Doesn't Obey World/World Setting (Inherits from Parent instead!)
Revert small part of own rB8714ae09f894, which changed scale setting from absolute to relative
(was good in absolute, but bad because it breaks existing rigs).
2014-05-20 15:21:33 +02:00
Antony Riakiotakis 358664a28a Use int for i in hair smoothing function, we check against negative
values below
2014-05-20 10:49:29 +03:00
Campbell Barton d9dd29054f Style cleanup 2014-05-20 00:11:16 +10:00
Brecht Van Lommel f44e743c72 Fix T40194: cycles deformation motion blur not working with curves + shape keys. 2014-05-19 14:25:08 +02:00
Campbell Barton f8278e5479 Correct ARRAY_SIZE macro and make doxy comments consistent 2014-05-19 18:00:20 +10:00
Bastien Montagne 875aff2a9a Fix T39897: shape keys created while the Relative checkbox is unchecked start out with frame=0
So! First, frame for absolute shape keys: never allow a new key to have the same pos as an
existing one (this does not make sense). This way, the two workflows are possible (create
all keys and then animate ctime, or animate ctime and then create keys where you need them).

Also, fixed UIList for shapekeys, the "absolute" test was wrong, and better to show frame
value, even though not editable, than nothing in case of absolute keys.

And finally, add getter to RNA 'frame' readonly value, so that we output real frame values,
and not dummy internal ones (which are /100) in our API.
2014-05-18 22:05:21 +02:00
Campbell Barton 2a49bf35f0 Add ARRAY_SIZE macro to check fixed size arrays 2014-05-18 23:51:59 +10:00