blender.git
6 years ago16 bit PNG write support
Sergey Sharybin [Sun, 30 Dec 2012 13:01:47 +0000 (13:01 +0000)]
16 bit PNG write support

This commit adds a support of saving 16bit PNG files.

Alpha for such files would be premultiplied, would be corrected
with an upcoming alpha premul cleanup (it's not the only format
which will output 16bit image with premul alpha).

6 years agoRevert change from Jens, wrong pointer check in the code.
Ton Roosendaal [Sun, 30 Dec 2012 10:38:56 +0000 (10:38 +0000)]
Revert change from Jens, wrong pointer check in the code.

That change made all scrollwheel events be handled as if it was a swipe gesture.
Old style mouse wheel didn't work anymore.

This version should work for everyone, but we need more mac testers :)

6 years agoOSL Templates: remove unnecessary stdosl.h include.
Brecht Van Lommel [Sun, 30 Dec 2012 10:37:32 +0000 (10:37 +0000)]
OSL Templates: remove unnecessary stdosl.h include.

6 years agoOSL Templates:
Thomas Dinges [Sun, 30 Dec 2012 03:11:52 +0000 (03:11 +0000)]
OSL Templates:
* Add 3 simple templates:
** empty_shader.osl: A basic shader declaration to start with
** wireframe.osl: Simple wireframe shader
** noise.osl: Simple noise shader, with 3 noise types.

6 years agoOSL Syntax Highlighting:
Thomas Dinges [Sun, 30 Dec 2012 02:51:29 +0000 (02:51 +0000)]
OSL Syntax Highlighting:
* Added the remaining shader types
* Some comment and link fixes.

6 years agoadd templates menu for OSL, use preprocessor directive color for decorators in python.
Campbell Barton [Sun, 30 Dec 2012 01:39:55 +0000 (01:39 +0000)]
add templates menu for OSL, use preprocessor directive color for decorators in python.

6 years agoadd syntax highlighting color for symbols
Campbell Barton [Sun, 30 Dec 2012 01:26:31 +0000 (01:26 +0000)]
add syntax highlighting color for symbols

6 years agocode cleanup: enum for formatting char (avoid confusion when '#' is a comment for...
Campbell Barton [Sun, 30 Dec 2012 01:12:21 +0000 (01:12 +0000)]
code cleanup: enum for formatting char (avoid confusion when '#' is a comment for // in OSL)

6 years agocode cleanup: text editor formatting enums were named crypticly, also add asserts...
Campbell Barton [Sun, 30 Dec 2012 00:46:17 +0000 (00:46 +0000)]
code cleanup: text editor formatting enums were named crypticly, also add asserts if the continuation values are wrong (which can happen with buffer overflows on formatting).

6 years agoInfinite loop caused by using an uninitialized variable in a compairison statement
Dan Eicher [Sat, 29 Dec 2012 22:06:44 +0000 (22:06 +0000)]
Infinite loop caused by using an uninitialized variable in a compairison statement

6 years agoMissing NULL check which crashes on opening the Text Editor without an active Text...
Dan Eicher [Sat, 29 Dec 2012 20:16:21 +0000 (20:16 +0000)]
Missing NULL check which crashes on opening the Text Editor without an active Text object

6 years agoOSX: fix magic mouse swipes compiling on with MAC_OS_X_VERSION_MIN_REQUIRED by checki...
Jens Verwiebe [Sat, 29 Dec 2012 19:51:44 +0000 (19:51 +0000)]
OSX: fix magic mouse swipes compiling on with MAC_OS_X_VERSION_MIN_REQUIRED by checking address not value

6 years agofix bug #33275: iTaSC ignores location of disconnected bones when they are changed...
Benoit Bolsee [Sat, 29 Dec 2012 19:43:08 +0000 (19:43 +0000)]
fix bug #33275: iTaSC ignores location of disconnected bones when they are changed in pose mode.

Disconnected bones can be translated in pose mode but this translation
cannot be applied to the iTaSC representation of the armature because
there is no joint associated with it. As a result, moving disconnected
bones had no effect. The bug fix is in two parts:
1) manual or rna change in the armature pose will cause automatic
   rebuilding of the iTaSC scene
2) the iTaSC scene is now built from the current pose instead of
   armature rest pose

6 years agopatch [#33609] Syntax highlighting for OSL in Text Editor
Campbell Barton [Sat, 29 Dec 2012 18:25:03 +0000 (18:25 +0000)]
patch [#33609] Syntax highlighting for OSL in Text Editor
from Patrick Boelens (senshi). with modifications to split it into its own function.

also added C style multi-line comment support /* ... */

I've left out the part of this patch that sets the language in the space, since I think this might be better stored in the text block.

For now it simply uses OSL syntax highlighting when the extension is '.osl'.

6 years agofix for 2 errors in python syntax highlighting, no space was allowed in decorators...
Campbell Barton [Sat, 29 Dec 2012 18:20:14 +0000 (18:20 +0000)]
fix for 2 errors in python syntax highlighting, no space was allowed in decorators and decorators where being skipped.

6 years agoLong ago we used to be able to bake physics from negative frames, feature that got...
Pablo Vazquez [Sat, 29 Dec 2012 17:49:43 +0000 (17:49 +0000)]
Long ago we used to be able to bake physics from negative frames, feature that got lost at some point. Now we can do it again.

Example is for physics like Cloth or Hair Dynamics that start on a shaky state for a few frames until they settle (for say baking subtle grass or hair movement).

Reviewed on IRC by kaito, Uncle_Entity and DingTo.

6 years agocode cleanup: text editor syntax highlighting - avoid loops using memset()
Campbell Barton [Sat, 29 Dec 2012 16:18:03 +0000 (16:18 +0000)]
code cleanup: text editor syntax highlighting - avoid loops using memset()

6 years agotext editor: replace strncmp() and hard coded size with STR_LITERAL_STARTSWITH()...
Campbell Barton [Sat, 29 Dec 2012 16:04:45 +0000 (16:04 +0000)]
text editor: replace strncmp() and hard coded size with STR_LITERAL_STARTSWITH() macro that gets the size from sizeof().

6 years agostyle cleanup
Campbell Barton [Sat, 29 Dec 2012 15:55:37 +0000 (15:55 +0000)]
style cleanup

6 years agoAnd another NDOF fix:
Ton Roosendaal [Sat, 29 Dec 2012 15:25:03 +0000 (15:25 +0000)]
And another NDOF fix:

The dolly factor (fly in/out) now correctly scales for distance to view center.
This allows working on details or huge scenes.

6 years agoFixes for NDOF device:
Ton Roosendaal [Sat, 29 Dec 2012 15:17:26 +0000 (15:17 +0000)]
Fixes for NDOF device:

User preference "Rotate around selection" now works for all input operators.
(Didnt for new default)

Note: the default will only rotate around selection, zooms remain to view center.
Our view pivot methods are not well definied at all...

6 years agoTrackpad fixes & changes:
Ton Roosendaal [Sat, 29 Dec 2012 13:21:01 +0000 (13:21 +0000)]
Trackpad fixes & changes:

- UV Image editor and other 2d views didn't zoom for CTRL+swipe yet.
  (2 finger trackpad, 1 finger mighty mouse)

- Switched defaults for 3D window swiping...
  - default rotate view
  - SHIFT for translate
  - CTRL for zooms

This makes all editors use 'swipe' like 'middle mouse', and not
like scrollwheel (as in releases).

This is nice for consistancy, but it still feels a bit weird...

Of course users can config this in keymaps. We need a sensible
default though, and to make a 2D input input device behave like
middle mouse seeems more sensible than like a 1D wheel...

Proposal therefore for defaults:

- 1D scrollwheels: zoom in 3d, zoom in 2d, but scroll for list views.

- 2D trackpads: pan for all 2d views, rotate for 3D

I'll check with frequent trackpad users about this and we can freeze it
before release. Give it a try :)

6 years agoBug fix #32806
Ton Roosendaal [Sat, 29 Dec 2012 12:33:24 +0000 (12:33 +0000)]
Bug fix #32806

In 2.64, input for using an NDOF device included all 6 DOFs - including panning.
That makes using it for many people (including beginners like me) too hard, you
very quickly lose the 3d view rotation pivot, as if you are in free fly mode.

Fredrik provided an updated patch, which restores the 2.63 method to only
dolly and rotate by default. The new "all dof" operator is hidden in the keymaps
behind modifier keys SHIFT + CTRL. Users can set this in their configs of course.

As usual, we should be careful changing accepted defaults, and provide new
options as additional choice only.

A useful todo is to make user preference "around selection" work well.
Will check on this now too.

6 years agoexample use of addon preferences.
Campbell Barton [Sat, 29 Dec 2012 11:07:31 +0000 (11:07 +0000)]
example use of addon preferences.

6 years agoadd include missing from last commit
Campbell Barton [Sat, 29 Dec 2012 11:03:03 +0000 (11:03 +0000)]
add include missing from last commit

6 years agoMac OS X 10.7 supports new trackpad (and mighty mouse) events with nice seamless
Ton Roosendaal [Sat, 29 Dec 2012 11:00:45 +0000 (11:00 +0000)]
Mac OS X 10.7 supports new trackpad (and mighty mouse) events with nice seamless
scrolling and inertia.

Now Blender uses this - if you have 10.7. Otherwise it just falls back on the
old code.

Try it, makes a huge difference :)

Next todo: how to configure this well, so you can have trackpad (or mighty mouse)
zoom as default in 3d views.

6 years agouser-preferences for addons. currently unused, example & docs still to come.
Campbell Barton [Sat, 29 Dec 2012 10:24:42 +0000 (10:24 +0000)]
user-preferences for addons. currently unused, example & docs still to come.

6 years agoBGE: Adding a jumpCount to KX_CharacterWrapper. This can be used to have different...
Mitchell Stokes [Sat, 29 Dec 2012 10:22:19 +0000 (10:22 +0000)]
BGE: Adding a jumpCount to KX_CharacterWrapper. This can be used to have different logic for a single jump versus a double jump. For example, a different animation for the second jump.

6 years agoFinally fixing the issue where the bezier curve drawn while creating a link between...
Mitchell Stokes [Sat, 29 Dec 2012 09:44:19 +0000 (09:44 +0000)]
Finally fixing the issue where the bezier curve drawn while creating a link between two logic bricks doesn't match the mouse cursor location. The issue was the last line segment for the bezier curve was not getting drawn. This is why the error increased as the curve got longer.

6 years agoFix for the NODE_OT_add_node operator. The way python classes were subclassed does...
Lukas Toenne [Sat, 29 Dec 2012 08:46:27 +0000 (08:46 +0000)]
Fix for the NODE_OT_add_node operator. The way python classes were subclassed does not work with the registration mechanism. Combined both node_add and node_add_move operators into a single general operator with a flag. When use_transform is set, the operator will start transform on the new nodes after inserting.

6 years agoBGE: An off-by-one error when setting up the viewport for 2D filters caused a blurrin...
Mitchell Stokes [Sat, 29 Dec 2012 08:36:41 +0000 (08:36 +0000)]
BGE: An off-by-one error when setting up the viewport for 2D filters caused a blurring effect when using 2D filters. This is now fixed.

6 years agoBGE: Fix for [#33685] "2D Filters Partially Offset" reported by Josiah Lane (solarlun...
Mitchell Stokes [Sat, 29 Dec 2012 04:03:25 +0000 (04:03 +0000)]
BGE: Fix for [#33685] "2D Filters Partially Offset" reported by Josiah Lane (solarlune). This bug was caused by me in a recent change to clean up the 2D filters a bit. I forgot that canvas->SetViewPort already handles some viewport calculations, and thus I ended up doubling up on calculations, which caused the offset.

6 years agoset line endings to native & mime type to text/plain for .app/Contents/MacOS/xxx...
Campbell Barton [Sat, 29 Dec 2012 03:19:30 +0000 (03:19 +0000)]
set line endings to native & mime type to text/plain for .app/Contents/MacOS/xxx files.

6 years agocode cleanup
Campbell Barton [Sat, 29 Dec 2012 02:57:52 +0000 (02:57 +0000)]
code cleanup

6 years agoCycles Hair:
Thomas Dinges [Sat, 29 Dec 2012 01:57:32 +0000 (01:57 +0000)]
Cycles Hair:
* Implemented the Hair Info Node for OSL.

6 years agostyle cleanup
Campbell Barton [Sat, 29 Dec 2012 01:54:58 +0000 (01:54 +0000)]
style cleanup

6 years agoFix for last commit, hair settings panel should also check on psys.
Thomas Dinges [Sat, 29 Dec 2012 01:14:03 +0000 (01:14 +0000)]
Fix for last commit, hair settings panel should also check on psys.

6 years agoAdd datafiles/locale/languages to blender.spec.in for CPack
Dan Eicher [Fri, 28 Dec 2012 23:30:34 +0000 (23:30 +0000)]
Add datafiles/locale/languages to blender.spec.in for CPack

6 years agoi18 Spell check:
Thomas Dinges [Fri, 28 Dec 2012 20:32:29 +0000 (20:32 +0000)]
i18 Spell check:
* Wrong comma sequence in spell_check_utils.py

6 years agoHrm... replacing
Ton Roosendaal [Fri, 28 Dec 2012 19:26:25 +0000 (19:26 +0000)]
Hrm... replacing

MAC_OS_X_VERSION_MAX_ALLOWED
with
MAC_OS_X_VERSION_MIN_REQUIRED

6 years agoTesting commit for OS X trackpad and scroll events.
Ton Roosendaal [Fri, 28 Dec 2012 19:10:21 +0000 (19:10 +0000)]
Testing commit for OS X trackpad and scroll events.

Now:
- code is wrapped for OS X releases (10.6 and 10.7)
- It now detects scrollwheel (old mouse) and gesture strokes (mighty mouse or trackpad).

If you have 10.6, things will work as for release.

Next todo for tomorrow: make trackpad work actually smooth and not with steps.
Will also try to figure out the device type, to handle mighty mouse differently.

6 years agoFix OSL distance() of point to line segment function not being available,
Brecht Van Lommel [Fri, 28 Dec 2012 18:21:07 +0000 (18:21 +0000)]
Fix OSL distance() of point to line segment function not being available,
implemented now in stdosl.h.

6 years agoCycles Hair UI:
Thomas Dinges [Fri, 28 Dec 2012 16:25:41 +0000 (16:25 +0000)]
Cycles Hair UI:
* Code cleanup, removed some unneeded code
* Moved "Cycles Hair Rendering" panel above "Cycles Hair settings"
* "Cycles Hair settings" panel is only visible when hair rendering ("use_curves") is enabled.

6 years agoReversion of previous fix for Mac OS X scrollwheel,
Ton Roosendaal [Fri, 28 Dec 2012 16:11:04 +0000 (16:11 +0000)]
Reversion of previous fix for Mac OS X scrollwheel,
it appears I used 10.7+ options, fails for 10.6.

Back to drawing board!

6 years agoFix cycles python error in some panels, was not updated for new list template yet.
Brecht Van Lommel [Fri, 28 Dec 2012 14:46:43 +0000 (14:46 +0000)]
Fix cycles python error in some panels, was not updated for new list template yet.

6 years agoConvert alpha node: rename "key alpha" to "straight alpha" for consistency.
Brecht Van Lommel [Fri, 28 Dec 2012 14:46:32 +0000 (14:46 +0000)]
Convert alpha node: rename "key alpha" to "straight alpha" for consistency.

6 years agoNew feature
Stuart Broadfoot [Fri, 28 Dec 2012 14:21:30 +0000 (14:21 +0000)]
New feature

Patch [#33445] - Experimental Cycles Hair Rendering (CPU only)

This patch allows hair data to be exported to cycles and introduces a new line segment primitive to render with.

The UI appears under the particle tab and there is a new hair info node available.

It is only available under the experimental feature set and for cpu rendering.

6 years agostyle cleanup
Campbell Barton [Fri, 28 Dec 2012 14:19:05 +0000 (14:19 +0000)]
style cleanup

6 years agocode cleanup: move view3d buffer bones loop into a static function (was not breaking...
Campbell Barton [Fri, 28 Dec 2012 13:48:30 +0000 (13:48 +0000)]
code cleanup: move view3d buffer bones loop into a static function (was not breaking out of the loop when a bone was found).

6 years agoSmall fix: increased precision print of color sampling float images with 1 digit.
Ton Roosendaal [Fri, 28 Dec 2012 13:44:44 +0000 (13:44 +0000)]
Small fix: increased precision print of color sampling float images with 1 digit.
Now it prints 5, which shows better whether a buffer is float, or half float.

6 years agoFix [#33424] Inadequate bake action.
Bastien Montagne [Fri, 28 Dec 2012 13:34:19 +0000 (13:34 +0000)]
Fix [#33424] Inadequate bake action.

bake_action tries to make kind of a 'visual keying'... On one side, this is rather stupid when you keep constraints (in this case, keying actual loc/rot/scale transforms, i.e. matrix_basis, is enough, doing more would lead to unexpected behavior with some constraints). On the other one, making a good visual keying of bones is *really* tricky, so now using the new object's convert_space() func to compute that (when the user chooses to remove the constraints).

Incidentally, this greatly simplifies the code of bake_action!

6 years agoExpose BKE_constraint_mat_convertspace() as object's convert_space() func in RNA...
Bastien Montagne [Fri, 28 Dec 2012 13:21:57 +0000 (13:21 +0000)]
Expose BKE_constraint_mat_convertspace() as object's convert_space() func in RNA. Converting between various standard spaces (like local, pose, world, etc.) can become quite hairy (especially with bones), as we already have this code in C, let's help py devs' life.

Thanks to Campbell for the review and advices.

6 years agoBugfix #33681
Ton Roosendaal [Fri, 28 Dec 2012 12:48:45 +0000 (12:48 +0000)]
Bugfix #33681

Blender didn't detect properly whether event came from a mouse-wheel or
from a trackpad in OS X.

Now you can both, and both are handled independently.

Removed back hack from 2 years ago - which disabled mouse wheel for laptops.

6 years agopatch [#33669] SConstruct: Tell how to pass BF_PYTHON_INC to SCons is it is not found
Campbell Barton [Fri, 28 Dec 2012 12:12:04 +0000 (12:12 +0000)]
patch [#33669] SConstruct: Tell how to pass BF_PYTHON_INC to SCons is it is not found
from anatoly techtonik (techtonik)

6 years agopatch [#33687] select similar lamp
Campbell Barton [Fri, 28 Dec 2012 11:24:07 +0000 (11:24 +0000)]
patch [#33687] select similar lamp
by Saurabh Wankhade (sauraedron), with some edits.

6 years agoFix blenderplayer compilation.
Antony Riakiotakis [Fri, 28 Dec 2012 11:19:33 +0000 (11:19 +0000)]
Fix blenderplayer compilation.

6 years agofix [#33677] Lambda is un-settable for mesh.vertices_smooth_laplacian
Campbell Barton [Fri, 28 Dec 2012 11:12:46 +0000 (11:12 +0000)]
fix [#33677] Lambda is un-settable for mesh.vertices_smooth_laplacian

lambda is python keyword.

6 years agoremove type checks on drawing uiList's,
Campbell Barton [Fri, 28 Dec 2012 10:45:59 +0000 (10:45 +0000)]
remove type checks on drawing uiList's,

if the list is given the wrong item then the script needs to be fixed, better not fail silently.

left in checks as commented out asserts.

6 years agoYesterday's memory free error fix in IMB_onehalf was wrong, it should
Ton Roosendaal [Fri, 28 Dec 2012 10:38:07 +0000 (10:38 +0000)]
Yesterday's memory free error fix in IMB_onehalf was wrong, it should
be fixed in the icons code!

6 years agoadd missing free for ui lists
Campbell Barton [Fri, 28 Dec 2012 10:36:25 +0000 (10:36 +0000)]
add missing free for ui lists

6 years agostyle cleanup: var naming for ui list
Campbell Barton [Fri, 28 Dec 2012 10:32:49 +0000 (10:32 +0000)]
style cleanup: var naming for ui list

6 years agofix for memory leaks in own recent changes.
Campbell Barton [Fri, 28 Dec 2012 10:23:06 +0000 (10:23 +0000)]
fix for memory leaks in own recent changes.

6 years agorevert r53356, this stopped the leak but still wasn't working nice.
Campbell Barton [Fri, 28 Dec 2012 10:08:17 +0000 (10:08 +0000)]
revert r53356, this stopped the leak but still wasn't working nice.

Add asserts when CTX_data_pointer_get/CTX_data_collection_get are incorrectly used.

disable context inspection for now, Will enable again when its working properly.

6 years agoThe new feature printing changed properties in python history list didn't free
Ton Roosendaal [Fri, 28 Dec 2012 09:48:35 +0000 (09:48 +0000)]
The new feature printing changed properties in python history list didn't free
a list of context properties. Give lots of leaked small blocks...

6 years agoThis commit frees list ui items from their dependencies to Panel, and hence from...
Bastien Montagne [Fri, 28 Dec 2012 09:20:16 +0000 (09:20 +0000)]
This commit frees list ui items from their dependencies to Panel, and hence from all the limitations this implied (mostly, the "only one list per panel" one).

It introduces a new (py-extendable and registrable) RNA type, UIList (roughly similar to Panel one), which currently contains only "standard" list's scroll pos and size (but may be expended to include e.g. some filtering data, etc.). This now makes lists completely independent from Panels!

This UIList has a draw_item callback which allows to customize items' drawing from python, that all addons can now use. Incidentally, this also greatly simplifies the C code of this widget, as we do not code any "special case" here anymore!

To make all this work, other changes were also necessary:

* Now all buttons (uiBut struct) have a 'custom_data' void pointer, used currently to store the uiList struct associated with a given uiLayoutListBox.

* DynamicPaintSurface now exposes a new bool, use_color_preview (readonly), saying whether that surface has some 3D view preview data or not.

* UILayout class has now four new (static) functions, to get the actual icon of any RNA object (important e.g. with materials or textures), and to get an enum item's UI name, description and icon.

* UILayout's label() func now takes an optional 'icon_value' integer parameter, which if not zero will override the 'icon' one (mandatory to use "custom" icons as generated for material/texture/... previews).
  Note: not sure whether we should add that one to all UILayout's prop funcs?

Note: will update addons using template list asap.

6 years agocode cleanup:
Campbell Barton [Fri, 28 Dec 2012 09:06:48 +0000 (09:06 +0000)]
code cleanup:
- free_dverts -> BKE_defvert_array_free
- copy_dverts -> BKE_defvert_array_copy

also move the functions from BKE_mesh into BKE_deform

6 years agofix for memory leak with weight painting and ensure vertex group is created before...
Campbell Barton [Fri, 28 Dec 2012 09:00:05 +0000 (09:00 +0000)]
fix for memory leak with weight painting and ensure vertex group is created before use.

6 years agoAdd 'vertex_only' option to bevel tool.
Howard Trickey [Fri, 28 Dec 2012 02:45:10 +0000 (02:45 +0000)]
Add 'vertex_only' option to bevel tool.
Right now, changing segments to > 1 doesn't do anything,
but intend to work on making that cause rounded corners.

6 years agoremove unneeded inline lookups and fix error with wpaint_stroke_test_start returning...
Campbell Barton [Fri, 28 Dec 2012 01:36:00 +0000 (01:36 +0000)]
remove unneeded inline lookups and fix error with wpaint_stroke_test_start returning OPERATOR_PASS_THROUGH rather then a boolean.

6 years agoremove workaround for [#31555], forcing PYTHONIOENCODING was causing stdout to be...
Campbell Barton [Fri, 28 Dec 2012 00:54:22 +0000 (00:54 +0000)]
remove workaround for [#31555], forcing PYTHONIOENCODING was causing stdout to be lost on exit - no MEM_printmemlist_stats()

6 years agoBetter error report when no camera is found.
Pablo Vazquez [Thu, 27 Dec 2012 22:00:31 +0000 (22:00 +0000)]
Better error report when no camera is found.

While trying to render a RenderLayer from a linked scene, I couldnt tell why it wasnt doing anything. It just stopped rendering. Until I look on the console and see the No Camera print.

This commit replaces the simple terminal printf with an actual error report, that shows in both terminal and to the user:
http://pasteall.org/pic/show.php?id=42499

I believe this commit is pretty harmless, and only adds functionality. But feel free to remove it.

6 years agoOutliner fix:
Ton Roosendaal [Thu, 27 Dec 2012 19:07:16 +0000 (19:07 +0000)]
Outliner fix:

New "Blender file" viewer now shows names of libraries better.

6 years agoFunction IMB_onehalf was not freeing memory.
Ton Roosendaal [Thu, 27 Dec 2012 17:15:45 +0000 (17:15 +0000)]
Function IMB_onehalf was not freeing memory.
(Used for icon mipmap)

6 years agoFix in previous commit: forgot to free data from file reading.
Ton Roosendaal [Thu, 27 Dec 2012 17:09:27 +0000 (17:09 +0000)]
Fix in previous commit: forgot to free data from file reading.

(Campbell: we want the memory prints back!!!)

6 years agoBug fix, own collection.
Ton Roosendaal [Thu, 27 Dec 2012 15:55:37 +0000 (15:55 +0000)]
Bug fix, own collection.

"Add Group" was excluding linked library objects.

6 years agoNew features!
Ton Roosendaal [Thu, 27 Dec 2012 15:07:19 +0000 (15:07 +0000)]
New features!

- Packing .blend files

If you work a lot with dynamic linked .blend files ("Libraries"), it's always hard to
share your work with others (or for bug reports!).
This new option packs all used external .blend files, and - on save - combines it together
in one .blend file. You can save that file on any location.

Loading a packed .blend file then loads all library data usual - not editable.

Just use unpack to save out all linked .blend files. This will only save out the files
according the directory structure as was used on linking - relative to the current .blend.
It will create new directories, so be careful with unpacking when relative paths go up.

This feature also works fine for linked compressed .blend files.

It also works for many levels deep linked .blend hierarchies.

Access is hidden for now - I need to get some people to give it serious testing first.
You can find the options via spacebar search (try pack or unpack).

- Packed data and Undo

Now all packed data is excluded from the Undo buffer storage. Keeps undo memory smaller
and makes faster redo possible.

6 years agovalidate operator names on startup (debug mode only)
Campbell Barton [Thu, 27 Dec 2012 12:40:02 +0000 (12:40 +0000)]
validate operator names on startup (debug mode only)

6 years agouse keyword args for bmesh.update_edit_mesh(...)
Campbell Barton [Thu, 27 Dec 2012 07:27:28 +0000 (07:27 +0000)]
use keyword args for bmesh.update_edit_mesh(...)

6 years agoadd option to BLI_scanfill_calc() - BLI_SCANFILL_CALC_HOLES, gives some speedup for...
Campbell Barton [Thu, 27 Dec 2012 06:39:27 +0000 (06:39 +0000)]
add option to BLI_scanfill_calc() - BLI_SCANFILL_CALC_HOLES, gives some speedup for BMesh ngons which never have holes and ensures predictable triangle count (totvert - 2), which is needed for pre-calculating array size.

6 years agocorrection for poly_to_tri_count() when given zero poly count.
Campbell Barton [Thu, 27 Dec 2012 05:08:16 +0000 (05:08 +0000)]
correction for poly_to_tri_count() when given zero poly count.

6 years agoremove realloc's during BMEdit_RecalcTessellation(), instead use poly_to_tri_count...
Campbell Barton [Thu, 27 Dec 2012 04:18:22 +0000 (04:18 +0000)]
remove realloc's during BMEdit_RecalcTessellation(), instead use poly_to_tri_count() to calculate how many triangles are needed.

6 years agodisplay the number of tri's in object mode status, often requested feature from users...
Campbell Barton [Thu, 27 Dec 2012 03:51:45 +0000 (03:51 +0000)]
display the number of tri's in object mode status, often requested feature from users who model for realtime/game-engine output,
the total number of faces wasn't so useful and could be especially misleading with ngons.

6 years agoFix: edge uv stitch mode did not average final position of uvs in
Antony Riakiotakis [Thu, 27 Dec 2012 03:14:11 +0000 (03:14 +0000)]
Fix: edge uv stitch mode did not average final position of uvs in
midpoint, non-snapping mode.

6 years agoFix: rotation of uv islands during stitch did not take uv aspect ratio
Antony Riakiotakis [Thu, 27 Dec 2012 02:52:45 +0000 (02:52 +0000)]
Fix: rotation of uv islands during stitch did not take uv aspect ratio
of image into account, distorting the islands. Now properly scale the
components before rotating the island.

6 years agofix [#33651] Spin tool destroys unselected loose vertex
Campbell Barton [Thu, 27 Dec 2012 01:02:32 +0000 (01:02 +0000)]
fix [#33651] Spin tool destroys unselected loose vertex

bmesh.ops.extrude_face_region() didn't check for isolated verts (not connected to geometry), and removed them, happened for Ctrl+LMB extrude too.

6 years agoFix part of #33662: cycles crash using displacement on meshes with vertices not
Brecht Van Lommel [Wed, 26 Dec 2012 20:59:35 +0000 (20:59 +0000)]
Fix part of #33662: cycles crash using displacement on meshes with vertices not
attached to any face.

6 years agoFix: after multires baking, gpu textures were not getting invalidated
Antony Riakiotakis [Wed, 26 Dec 2012 20:38:20 +0000 (20:38 +0000)]
Fix: after multires baking, gpu textures were not getting invalidated
for images and viewport was not getting refreshed with new baked
textures. Now made sure this happens. The image list is copied to the
job custom data so that the custom data cleanup function can properly
delete them (if gpu image texture deletion does not happen on main
thread, image bindcodes will remain intact for original images)

6 years agoBugfix #33667
Ton Roosendaal [Wed, 26 Dec 2012 17:36:51 +0000 (17:36 +0000)]
Bugfix #33667

Mesh had invalid face indices (number too high).
On Separate in Edit Mode it crashed.

Two fixes:

- The Material properties viewer just showed the last material in the index array.
  Now it shows nothing, to indicate it's an invalid selected material.

- Crash was caused by array copy magic, not checking the active index properly.

(No assert, no warning prints, I think cases like this can happen too easily, and this
way user gets notified nicely and can fix it).

6 years agoTodo item:
Ton Roosendaal [Wed, 26 Dec 2012 16:24:50 +0000 (16:24 +0000)]
Todo item:

- Drop group into 3d window now puts itself at mouse cursor location.
- Drop objects into 3d window now doesn't move the 3d cursor anymore.

Added new function ED_view3d_cursor3d_position() to handle this,
so the temporarily object-drop operator macro also could go away.
(Which was setting 3d cursor)

6 years agoBug fix #33673
Ton Roosendaal [Wed, 26 Dec 2012 14:22:04 +0000 (14:22 +0000)]
Bug fix #33673

Edge length display in standard files (1 blender unit == 1) only gave two
numbers precision for lengths > 1. Three is much nicer at least.

The guess-work here in the code remains a bit dubious :)

6 years agoBug fix #33633 (and irc report)
Ton Roosendaal [Wed, 26 Dec 2012 13:57:07 +0000 (13:57 +0000)]
Bug fix #33633 (and irc report)

The function ui_popup_block_clip() didn't correct the buttons if a clip
happened, causing the items to draw outside.

6 years agoNode editor: remove option to show overlapping Property region.
Ton Roosendaal [Wed, 26 Dec 2012 13:25:13 +0000 (13:25 +0000)]
Node editor: remove option to show overlapping Property region.

- The main window has sliders, which was drawn behind the region
- If property region had slider too, it got even worse.

Basically the node editor is UI view, so drawing another UI on top isn't
functioning well in general.

6 years agoRegion scrollbar fix!
Ton Roosendaal [Wed, 26 Dec 2012 13:05:39 +0000 (13:05 +0000)]
Region scrollbar fix!

Now scrollbars correctly hide and show, making space for the actual contents
in a region. It solves several old hacks, and puts view2d code a bit more
back in control as well.

Implementation notes:

- The view2d mask feature is working again
- The #define V2D_SCROLL_HORIZONTAL_HIDE means: "turn on hiding".
- Code for UI_view2d_region_reinit() is enforcing better standard view settings

But... two hack/patches needed to be added:

- Region panel drawing: if after generating the button panels it appears
  a scroller hides or reveils, it calls all the generating code again.
  (a simple scale doesn't work due to rounding differences in layout code)

- View2d code that maps 'tot' and 'cur' rects: if this code detects that
  the mask changes, it calcs the map code again.

Also a bugfix (issue in 2.65)

- The left/bottom area split widget was drawing 1 pixel too large sometimes,
  leaving bad trails on moving area dividers.

6 years agoBGE: Don't set the character controller's gravity when creating the controller. The...
Mitchell Stokes [Wed, 26 Dec 2012 01:50:01 +0000 (01:50 +0000)]
BGE: Don't set the character controller's gravity when creating the controller. The default from Bullet works much better than what we were using.

6 years agoBGE: Adding a maxJumps to the character controller to adjust how many jumps a charact...
Mitchell Stokes [Wed, 26 Dec 2012 01:25:53 +0000 (01:25 +0000)]
BGE: Adding a maxJumps to the character controller to adjust how many jumps a character can perform before having to touch the ground. By default this is set to 1, which means a character can only jump once before having to touch the ground again. Setting this to 2 allows for double jumping.

6 years agomake weight paint respect box & near clipping.
Campbell Barton [Tue, 25 Dec 2012 14:09:51 +0000 (14:09 +0000)]
make weight paint respect box & near clipping.

also replace strncmp with BLI_path_ncmp for BLI_rebase_path, (so its case insensitive on windows)

6 years agoweight paint without depth buffer option, works with vertex selection mode.
Campbell Barton [Tue, 25 Dec 2012 14:03:28 +0000 (14:03 +0000)]
weight paint without depth buffer option, works with vertex selection mode.

6 years agoBGE: Some various tweaks to try and get async lib loading to be a bit more stable...
Mitchell Stokes [Tue, 25 Dec 2012 08:11:21 +0000 (08:11 +0000)]
BGE: Some various tweaks to try and get async lib loading to be a bit more stable on more complex scenes.

6 years agoBGE: Committing SolarLune's patch to allow a minimum shadow buffer size of 128 (down...
Mitchell Stokes [Tue, 25 Dec 2012 06:31:42 +0000 (06:31 +0000)]
BGE: Committing SolarLune's patch to allow a minimum shadow buffer size of 128 (down from 512).

6 years agoBGE: Fixing an assert with the canvas' GetViewPort(). bf_gpu was changing the viewpor...
Mitchell Stokes [Tue, 25 Dec 2012 06:20:50 +0000 (06:20 +0000)]
BGE: Fixing an assert with the canvas' GetViewPort(). bf_gpu was changing the viewport when handling shadow buffers. KX_LightObject::BindShadowBuffer() now updates the canvas with the new viewport information from bf_gpu.