Commit Graph

49420 Commits

Author SHA1 Message Date
Campbell Barton
df1c400420 Use gnu-libc arg order for BLI_sort_r
When building on gnu-libc don't use our own implementation.
2014-06-25 04:04:52 +10:00
Sergey Sharybin
04648767fa Make main library safe(er) for the threaded usage
Added a lock to the Main which is getting acquired and released
when modifying it's lists.

Should not be any functional changes now, it just means Main is
now considered safe without worrying about locks in the callee.
2014-06-24 23:35:17 +06:00
Campbell Barton
1731d47976 Fix own error in recent tooltip commit 2014-06-25 02:40:53 +10:00
Tamito Kajiyama
9563bde9a5 Freestyle: use mathutils_array_parse() instead of its own helper functions.
Patch contribution by flokkievids (Folkert de Vries).  Thanks!
2014-06-24 23:13:56 +09:00
Tamito Kajiyama
252eaed483 Freestyle: use bool instead of int.
Patch contribution by flokkievids (Folkert de Vries).  Thanks!
2014-06-24 23:13:55 +09:00
Campbell Barton
c5ccbacdaa move STACK_* macros into BLI_stackdefines.h 2014-06-25 00:01:33 +10:00
Campbell Barton
d19d1b5497 Add MEMCPY_STRUCT_OFS macro for copying values after a struct member
use for DM_to_mesh to avoid clobbering the ListBase
2014-06-24 23:50:12 +10:00
Campbell Barton
77616cbe11 add STACK_REMOVE macro 2014-06-24 22:14:22 +10:00
Joshua Leung
0bc94f8c7d Code Cleanup - Using the enum types in more API signatures instead of relying on coders to do the right thing 2014-06-24 22:01:06 +12:00
Joshua Leung
95b39acdb1 Code Cleanup - Replacing shorts with bools and enum types 2014-06-24 22:01:05 +12:00
Campbell Barton
16baa8c273 Update the design of tooltips
- left aligned
- higher contrast between tip text and py-text
- use monospace for py-text

D611 by Severin, design by Plyczkowski, with own minor changes.
2014-06-24 19:07:41 +10:00
Tamito Kajiyama
e7c92f1145 Freestyle: Progress bar updates during mesh loading. 2014-06-24 17:25:04 +09:00
Sergey Sharybin
4f0e42489f Followup for the previous commit
Need to do the same for render exec() because it doesn't
use the job system.
2014-06-24 14:23:33 +06:00
Sergey Sharybin
cc0c94d535 Switch allocator to thread-safe when rendering from the command line
This is needed because render threads would do some allocations like
part buffer allocation and so. This is likely harmless with the lock
free allocator (not on Windows tho), but when using guarded allocator
we need to be sure access to the list of MemHead is safe.
2014-06-24 14:15:21 +06:00
Bastien Montagne
65bb121401 Fix compilation on OSX after own rB414c70435dcd...
Sigh, why can't all unix have same includes? :/
2014-06-24 08:31:29 +02:00
Joshua Leung
9ca0c7eea3 Ctrl-F now activates the filter-by-name functionality for Animation Editors 2014-06-24 17:53:13 +12:00
Joshua Leung
afaf6e8d71 Improve doxygen comment to include some type info to make it more useful 2014-06-24 17:53:12 +12:00
Campbell Barton
a64e9ba83f Polyfill2d: Correct boundbox check (Fix T40777) 2014-06-24 15:32:49 +10:00
Bastien Montagne
7e7a85f907 Fix own typo in temp_data patch, (windows-only)
Don't know when this sneaked in, I did wrote that part of the patch on win VM with MSVC2013... :/

Note: letting asside warnings for now, then should not prevent building anyway.
2014-06-23 16:56:35 +02:00
Bastien Montagne
b82e84f179 BMesh: we actually can set loop indices too while converting from Mesh to BMesh... 2014-06-23 16:21:53 +02:00
Campbell Barton
7df2717727 Add ED_paint.h, split out ED_sculpt.h
also rename some functions to match our convention
2014-06-23 22:00:44 +10:00
Bastien Montagne
414c70435d T39690: Modifications to Blender's 'temp dir' system.
Current temporary data of Blender suffers one major issue - default 'temp' dir on Windows is never
automatically cleaned up, and can end being quite big when used by Blender, especially when we have
to store per-process data (using getpid() in file names).

To address this, this patch:
* Divides tempdir paths in two, one for 'base' temp dir (the same as previous unique tempdir path),
  the other is a mkdtemp-generated sub-dir, specific to each Blender instance.
* Only uses base tempdir when we need some shallow persistance accross Blender sessions - and we always
  reuse the same filename (quit.blend...) or generate small file (crash reports...).
* Uses temp sub-dir for heavy files like pointcache or renderEXRs (Save Buffer option).
* Erases temp sub-dir on quit or crash.

To get this working it also adds a working 'recursive delete' to BLI_delete() under Windows.

Note that, as in current code, the 'recover render result' hack-feature that was possible
with SaveBuffer option is still removed. A real renderresult cache feature will be added
soon, though.

Reviewers: campbellbarton, brecht, sergey

Reviewed By: campbellbarton, sergey

CC: sergey

Differential Revision: https://developer.blender.org/D531
2014-06-23 13:42:54 +02:00
Sergey Sharybin
3bd965bc03 Fix T40764: Keyframed Render Layers Don't Work as Intended 2014-06-23 14:33:58 +06:00
Lukas Tönne
95d6c01478 Fix T40756 Select Linked by Particle System matches ignores selected
psys.

This is inconsistent with other comparable cases like materials, where
the active slot is used to define matching objects.
2014-06-23 08:22:42 +02:00
Tamito Kajiyama
77f357728f D605: Fixes for proper handling of wchar_t paths in MinGW.
* Fixed different not-in-sync #ifdef blocks for struct stat variants under Windows.

Comments have been left to indicate the portions of BLI_fileops.h and
BLI_fileops_types.h that need to stay in sync.

* Added BLI_wstat() to de-duplicate #ifdef blocks for stat() variants on Windows.

* Fix for opendir() and associate functions in MinGW not working properly with
non-ASCII, MBCS-compatible paths.

MinGW (FREE_WINDOWS) has opendir() and _wopendir(), and only the
latter accepts a path name of wchar_t type. Rather than messing up with
extra #ifdef's here and there, Blender's own implementations of opendir()
and related functions are used to properly support paths with non-ASCII,
MBCS-compatible characters.

Tested with MSVC 2013 Express, MinGW32 (gcc 4.6.2) and MinGW-w64 (gcc 4.7.1).


Differential Revision: https://developer.blender.org/D605

Reviewed By: campbellbarton
2014-06-23 10:07:06 +09:00
Campbell Barton
3a75381505 Apply fix for T40745 to extrude_face_region too 2014-06-23 00:12:06 +10:00
Campbell Barton
3e2d8d2233 Spelling 2014-06-22 23:55:00 +10:00
Campbell Barton
728041019e Editmesh: extruding end-point verts now maintains edge-direction
Resolves T40745, where faces from extruded edges had flipped normals.
2014-06-22 18:41:07 +10:00
Campbell Barton
7bc2f54867 Code cleanup: style 2014-06-22 15:02:27 +10:00
Campbell Barton
2762432052 Code cleanup: de-duplicate widget_num_tria, widget_scroll_circle 2014-06-22 15:01:54 +10:00
Campbell Barton
f69d5cc4b8 Remove unused function 2014-06-22 13:05:48 +10:00
Campbell Barton
9a7bfca448 WM: set circle select minimum radius to 1 2014-06-22 13:03:20 +10:00
Antony Riakiotakis
8461acd54c Fix T40567 Crash when returing to object mode from dyntopo.
Returning to object mode reactivates any generative modifiers
and this can lead to a polycount explosion.

For now just improve the warning when entering dyntopo with generative
modifiers. I would like to add the ability spawn options to apply or
remove the modifiers too, however separate undo stack system comes back
with a vengeance here, since it won't allow restoring the application/
also may invalidate all sculpt undo in the undo stack prior to the
application (needs investigation).
2014-06-21 21:20:13 +03:00
Lukas Tönne
caf609cda3 Fix T40727: Renaming nodes did not correctly fix animation paths. 2014-06-21 06:49:12 +02:00
Bastien Montagne
01d802976f BLI_md5: add a utility function to 'translate' raw 16bytes digest into a nice 32chars hexadecimal string.
That kind of stuff belongs to BLI, not specialized code like thumbs.c
2014-06-20 16:18:26 +02:00
Bastien Montagne
fb7c71383b Code cleanup: BLI_md5.c was... not nice. 2014-06-20 16:06:12 +02:00
Sergey Sharybin
8937feadae GLSL tweaks for viewport render draw
- Was missing pixel scale
- Dither is now supported on GPU
2014-06-20 18:11:10 +06:00
Sergey Sharybin
ca0c0e7549 Implement resolution divider in the Blender Internal
Currently resolution divider is not exposed to the
interface yet, and i'm not even sure it needs to be
exposed because it's somewhat weird configuration.
Need to check how often artists are changing start
resolution in Cycles.

Pretty much straightforward implementation with the
only weak part: render result is getting re-allocated
and upscaled when current resolution is finished.
Not sure how to make it faster actually. Maybe it's
just a matter of making upscale fast enough.

Needed to fix some possible memory leak happening
in Freestyle when canceling rendering on a special
stage -- it was missing temp bmain free,

Reviewers: campbellbarton, dingto

CC: sebastian_k, fsiddi, venomgfx

Differential Revision: https://developer.blender.org/D609
2014-06-20 17:32:45 +06:00
Bastien Montagne
d1b45f7f7c Fix release notes link in splash.
Auto-generate this link from Blender version, as done for e.g.py API link.

This commit should be backported to 2.71 branch.
2014-06-20 10:21:39 +02:00
Thomas Dinges
a5a869c579 Fix 2 GLSL errors, with Cycles Hair BSDF. 2014-06-20 09:36:25 +02:00
Campbell Barton
8660a0cab3 UI: auto-open other menus by hovering over, once a menu is already open
D590 by Matthew Reid
2014-06-20 17:34:21 +10:00
Mitchell Stokes
84e8cabac6 Fix T40697: Skinned meshes with shapekeys crashing in the BGE 2014-06-19 18:20:56 -07:00
Campbell Barton
f763b3ba36 RNA: Expose hook centre
D529 by Gottfried Hofmann
2014-06-20 02:34:26 +10:00
Howard Trickey
eaac6cbcd9 Add a bmesh_core_test, a start at testing bmesh functionality.
Needed to make the blender link libraries a global property
now that tests are parallel to source directory.
Current sort order for blender link libraries doesn't work
for tests that start with few defined symbols. Doubling the
lib list works, but a TODO to find a better way (probably
using CMake's own mechanism for tracking dependencies).
2014-06-19 11:53:55 -04:00
Joshua Leung
179e7eaf39 Bugfix for Elastic and Back easing types
** TO BE PORTED BACK TO 2.71 **

As pointed out by Thomas Beck (plasmasolutions), the current behaviour and/or
default values for their parameters didn't quite make sense:

1) Back Easing - The old default value of 0.0 results in some overshoot being applied,
while trying to tweak it up or down resulted in some odd jumps and discontinities.

I've ended up removing some code here which forcibly using a "back" value of 1.7
when users wanted 0.0 instead. There doesn't seem to be any good reason for this.
To ensure that there is still an effect initially, keyframes now get created
with back set to 1.7


2) Elastic Easing - The old default settings of <amplitude = 0, period = 0> resulted
in a curve without any elastic bounce, which wasn't very useful for motion graphics.

Now, default values of amplitude = 0.8 and period = 4.1 get set. These were hand picked
by Thomas to work well when the duration of the motion is 10 frames long (i.e. the
typical length of such effects when doing motion graphics).
2014-06-20 01:34:35 +12:00
Joshua Leung
f161695150 Style cleanups here 2014-06-20 01:34:34 +12:00
Joshua Leung
eb6e05b2ce PoseLib: New pose library actions now have their "id root" setting initialised properly 2014-06-20 01:34:33 +12:00
Campbell Barton
74f2e7fbc7 View3D: Handle un-weighed vertex color properly
D608 by Gaia Clary
2014-06-19 22:34:52 +10:00
Campbell Barton
ce4256ce5e Code cleanup: replace odd pointer casting with structs 2014-06-19 18:38:37 +10:00
Campbell Barton
cabeb39005 Code cleanup: remove unused callback for depth drawing 2014-06-19 17:36:01 +10:00