blender.git
7 years agocode cleanup: use booleans and const's for operator vars.
Campbell Barton [Fri, 22 Mar 2013 04:40:45 +0000 (04:40 +0000)]
code cleanup: use booleans and const's for operator vars.

7 years agofix error with merge operator not handing error cases properly (errors wouldn't cance...
Campbell Barton [Fri, 22 Mar 2013 04:39:43 +0000 (04:39 +0000)]
fix error with merge operator not handing error cases properly (errors wouldn't cancel the operator as they should).
was mixing up OPERATOR_CANCELLED with 0.

7 years agoTweak to previous commit - make range check less strict so that indicators don't
Joshua Leung [Fri, 22 Mar 2013 03:25:31 +0000 (03:25 +0000)]
Tweak to previous commit - make range check less strict so that indicators don't
flicker off so easily when target moves off screen

7 years agoGraph Editor: Draw indicators on the active Driver F-Curve which show the
Joshua Leung [Fri, 22 Mar 2013 02:28:55 +0000 (02:28 +0000)]
Graph Editor: Draw indicators on the active Driver F-Curve which show the
relationship between the result of driver evaluation (NKEY region stuff) and the
end result applied to the driven properties.

Example:
http://www.pasteall.org/pic/47687

7 years agoBGE bugfix for [#34505] Vertex Colors not working in the BGE (for custom GLSL shaders...
Dalai Felinto [Thu, 21 Mar 2013 23:20:46 +0000 (23:20 +0000)]
BGE bugfix for [#34505] Vertex Colors not working in the BGE (for custom GLSL shaders) when multitexture and no material

Bug introduced on rev.36723

7 years agocode cleanup: conversion from blender to BGE was unnecessarily confusing in checking...
Campbell Barton [Thu, 21 Mar 2013 23:11:52 +0000 (23:11 +0000)]
code cleanup: conversion from blender to BGE was unnecessarily confusing in checking weather to use vertex colors,
move check to function.

7 years agoscons: fix broken compile since last int -> bool cleanup
Jens Verwiebe [Thu, 21 Mar 2013 22:15:16 +0000 (22:15 +0000)]
scons: fix broken compile since last int -> bool cleanup

7 years agoBGE bugfix: [#34550] getVertexArrayLength changed in 2.66
Dalai Felinto [Thu, 21 Mar 2013 21:10:14 +0000 (21:10 +0000)]
BGE bugfix: [#34550] getVertexArrayLength changed in 2.66

This bug was producing way more geometry than we need. Potentially
memory saver (or performance even) bugfix.

Bottomline is:
We need to initialize the UVs otherwise vertex comparison fails ...
Ideally MoTo should take care of initializing MT_Point2
(note in Windows that seems to be fine, but it's safer to not rely on that)

7 years agopython api: add functionality to remove uv-texture layers.
Campbell Barton [Thu, 21 Mar 2013 20:54:48 +0000 (20:54 +0000)]
python api: add functionality to remove uv-texture layers.

7 years agoFix for Render Layers node, reported by Jason van Gumster (Fweeb) on IRC. The render...
Lukas Toenne [Thu, 21 Mar 2013 20:31:09 +0000 (20:31 +0000)]
Fix for Render Layers node, reported by Jason van Gumster (Fweeb) on IRC. The render layer operations need their RenderData pointer set. This was done for all connected output operations, but not for the preview operation which uses the image color layer. In case the image output is unconnected this leads to NULL pointer access.

7 years agopython api: add functionality to remove vertex color layers.
Campbell Barton [Thu, 21 Mar 2013 20:15:39 +0000 (20:15 +0000)]
python api: add functionality to remove vertex color layers.
note: that this intentionally removes check to exit vpaint mode when a vertex color layer is removed,
  since being in vertex-paint mode without a vertex color layer is supported.

also minor change to drawing camera limits while picking from previous commit.

7 years agomist line can now be used for camera selection.
Campbell Barton [Thu, 21 Mar 2013 18:57:05 +0000 (18:57 +0000)]
mist line can now be used for camera selection.

7 years agoFix for a node compatibility code bug (reported by kopias in IRC). Compatibility...
Lukas Toenne [Thu, 21 Mar 2013 18:33:38 +0000 (18:33 +0000)]
Fix for a node compatibility code bug (reported by kopias in IRC). Compatibility data (links with NULL fromnode/tonode pointers) was created for all node trees in library data, including local scene/material/... trees, but on loading was only actually removed for node groups. Now cleans up all trees in the library to be sure, and only generate new compat data for actual group trees.

7 years agoUpdate ceres to current git version.
Sergey Sharybin [Thu, 21 Mar 2013 18:07:03 +0000 (18:07 +0000)]
Update ceres to current git version.

Mainly to support msvc2010, bit also includes some minor fixes.

7 years agopatch [#34687] Patch for AutoMerge button in 3d editor
Campbell Barton [Thu, 21 Mar 2013 17:26:15 +0000 (17:26 +0000)]
patch [#34687] Patch for AutoMerge button in 3d editor
from Dan McGrath (dmcgrath)

7 years agofix for own recent commit - added function into wrong side of ifdef
Campbell Barton [Thu, 21 Mar 2013 16:06:46 +0000 (16:06 +0000)]
fix for own recent commit - added function into wrong side of ifdef

7 years agouse clip alpha setting for empty-image drawing.
Campbell Barton [Thu, 21 Mar 2013 15:43:05 +0000 (15:43 +0000)]
use clip alpha setting for empty-image drawing.

7 years agoRender border + crop will be handled correct in compositor now
Sergey Sharybin [Thu, 21 Mar 2013 15:26:41 +0000 (15:26 +0000)]
Render border + crop will be handled correct in compositor now

This commit simply implements mapping from centered cropped canvas
to a full-frame coordinates, so operations like alpha-overing render
result on top of image will be properly aligned.

7 years agorevert edit from r55461, causing build error on some systems.
Campbell Barton [Thu, 21 Mar 2013 14:46:37 +0000 (14:46 +0000)]
revert edit from r55461, causing build error on some systems.

7 years agocode cleanup: rename editmode functions so we have ED_object_editmode_load/enter...
Campbell Barton [Thu, 21 Mar 2013 14:18:17 +0000 (14:18 +0000)]
code cleanup: rename editmode functions so we have ED_object_editmode_load/enter/exit

7 years agocode cleanup: remove double call to BKE_node_instance_key(), rename ruler (lots of...
Campbell Barton [Thu, 21 Mar 2013 14:16:55 +0000 (14:16 +0000)]
code cleanup: remove double call to BKE_node_instance_key(), rename ruler (lots of tools are 3d :)), and redundant assignment.

7 years agopy api: add Object.update_from_editmode(),
Campbell Barton [Thu, 21 Mar 2013 14:12:04 +0000 (14:12 +0000)]
py api: add Object.update_from_editmode(),
Useful for python exporters to avoid toggling editmode on export, moved into own function ED_object_editmode_load(obedit).

7 years agoAdd a little bit of space between socket layouts on nodes.
Lukas Toenne [Thu, 21 Mar 2013 13:21:18 +0000 (13:21 +0000)]
Add a little bit of space between socket layouts on nodes.

7 years agoFix for extra string width padding in ui_text_icon_width, causing labels in right...
Lukas Toenne [Thu, 21 Mar 2013 12:58:31 +0000 (12:58 +0000)]
Fix for extra string width padding in ui_text_icon_width, causing labels in right-aligned layouts show an annoying gap. If the layout is right-aligned, make the text button align right as well, so text is drawn at the right side of the alloted rect.

7 years agoBug fix #34713
Ton Roosendaal [Thu, 21 Mar 2013 11:48:13 +0000 (11:48 +0000)]
Bug fix #34713

Using MultiSample, the code that inspects Z buffer values fail, like for grease pencil
drawing on "Surface".

It appears to me that all this depth draw/read code is ignoring gpu offscreen entirely.
This should be confirmed by Campbell though :)

I'm also quite unsure why this code exists, related to other tools that use
depth too (particles, sculpt). Good to mark down for our viewport recode.

7 years agoBugfix: Transform autokey warning indicator text was getting clipped prematurely
Joshua Leung [Thu, 21 Mar 2013 11:14:53 +0000 (11:14 +0000)]
Bugfix: Transform autokey warning indicator text was getting clipped prematurely

After quite some time debugging going back through previous commits for this
feature and digging around the internals of the blenfont,I finally found the
culprit. It turns out that there was just a single line missing between
BLF_width_default() and BLF_width_and_height_default(), which caused the widths
returned to understimate the space required or so, causing text clipping. The
offending line probably correcting for different DPI scaling values.

7 years agoFix #34707: Blender crash on enabling of boolean modifier
Sergey Sharybin [Thu, 21 Mar 2013 08:47:18 +0000 (08:47 +0000)]
Fix #34707: Blender crash on enabling of boolean modifier

Stupid mistake by my own with recent Carve update which
undid fix for MSVC STL library.

7 years agoTweaks to movie clip prefetching after discussion with Sebastian
Sergey Sharybin [Thu, 21 Mar 2013 07:47:38 +0000 (07:47 +0000)]
Tweaks to movie clip prefetching after discussion with Sebastian

Don't use sequencer's Frames Prefetch option and rather fill the
whole cache with frames.

Since movie clip is not "classical" prefetcher (it doesn't do
anything while playing back) and main purpose is to speed up
reading for further tracking and so, such a change seems logical.

7 years agoDriver error warnings are now only printed to the console when Blender is run
Joshua Leung [Thu, 21 Mar 2013 06:11:16 +0000 (06:11 +0000)]
Driver error warnings are now only printed to the console when Blender is run
using the -d flag

This prevents a stream of error messages flooding the console when working with
particular rigs which may have a few broken controls. In general, riggers now
have a better alternative by using the filtering tools in the Graph Editor.

7 years agoBugfix [#34688] Auto-Keying doesn't include custom properties when pasting poses
Joshua Leung [Thu, 21 Mar 2013 04:22:29 +0000 (04:22 +0000)]
Bugfix [#34688] Auto-Keying doesn't include custom properties when pasting poses

Previously, Paste Poses only used the LocRotScale Keying Set for autokeyframing
purposes. This was fine for most purposes, but with many rigs these days also
using custom properties for important posing functions, it's important that we
include those here too.

7 years agocode cleanup: misc warnings/style
Campbell Barton [Thu, 21 Mar 2013 02:58:21 +0000 (02:58 +0000)]
code cleanup: misc warnings/style

7 years agofix for incorrect use of 'bool', also fix 2 older bugs in fly mode.
Campbell Barton [Thu, 21 Mar 2013 02:56:16 +0000 (02:56 +0000)]
fix for incorrect use of 'bool', also fix 2 older bugs in fly mode.
- panning didnt keyframe translation animation.
- when checking to key translation: speed `float` was converted to an `int` then treated as a bool, now check (speed != 0).

7 years agoFix #34700: cycles depth of field now works with orthographic cameras too.
Brecht Van Lommel [Thu, 21 Mar 2013 02:38:11 +0000 (02:38 +0000)]
Fix #34700: cycles depth of field now works with orthographic cameras too.

7 years agocode cleanup: use bool where values are true/false, for view3d and related functions.
Campbell Barton [Wed, 20 Mar 2013 23:14:18 +0000 (23:14 +0000)]
code cleanup: use bool where values are true/false, for view3d and related functions.

7 years agoI18n users request: add the ability to use a translated name for newly added/created...
Bastien Montagne [Wed, 20 Mar 2013 18:42:09 +0000 (18:42 +0000)]
I18n users request: add the ability to use a translated name for newly added/created objects or other datablocks.

This simply adds a third "translation type" (in addition to iface and tip), "new data", with relevant user settings flag and helper funcs/macros (and py api).

Currently implemented name translation when adding new objects, as well as modifiers and constraints, will add the others (cd layers, scenes, perhaps nodes [though I think they do not need this], etc.) later.

7 years agoChanges to compositor output node
Sergey Sharybin [Wed, 20 Mar 2013 18:01:47 +0000 (18:01 +0000)]
Changes to compositor output node

Make it so compositor output node wouldn't be calculated
when Render Result image is not visible on the screen.
This makes compositor tree editing more friendly and
faster.

Also, if there's no viewer image visible on the screen
viewer nodes wouldn't be handled.

Final rendering keeps unchanged for now.

This solves issues when for performance artists are
disconnecting compo output node before tweaking values
in compositor and forgets to attach compo output
node before sending file to the farm.

7 years agoWhen using border rendering, use the same border for compositor
Sergey Sharybin [Wed, 20 Mar 2013 18:01:41 +0000 (18:01 +0000)]
When using border rendering, use the same border for compositor

This makes compositing as fast as it's possible in this case.

The only thing is border render+crop will still give funcy
results. This is the next thing to be solved in compositor.

7 years agoBugfix [#34710] Crash on duplicating object with cloth modifier.
Daniel Genrich [Wed, 20 Mar 2013 17:45:35 +0000 (17:45 +0000)]
Bugfix [#34710] Crash on duplicating object with cloth modifier.

Caused by last commit by me.

7 years agoPrefetching for movie clips
Sergey Sharybin [Wed, 20 Mar 2013 17:03:20 +0000 (17:03 +0000)]
Prefetching for movie clips

This commit basically implements frames prefetching for
movie clip datablock.

Number of frames to be prefetched is controlled in User
Preferences, System tab, Prefetch Frames option.

Currently prefetching is destructive-less for movie cache,
meaning mo frames will be removed from the cache when while
prefetching. This is because it's half of simplier to
implement, but it also makes sense from tracking point of
view -- we could want to playback in both directions and
removing frames from behind time cursor is not always a
good idea.

Anyway, smarter prefetching strategy could be developed
later.

Some implementation notes:

- Added MEM_CacheLimiter_get_memory_in_use function to get
  memory usage of specified memory limiter.

- Fixed prototype of MEM_CacheLimiter_get_maximum which
  was simply wrong (used wrong data type for output).

- Added some utility functions to movie clip and movie
  cache for direct cache interaction and obtaining cache
  statistics.

- Prefetching is implemented using general jobs system.
  which is invoking from clip draw function.

- Prefetcing will stop as soon other job or playback starts.
  This is done from performance point of view. Jobs will
  likely require lots of CPU power and better to provide
  whole CPU to it.

  Playback is a bit more complicated case. For jpeg sequence
  playback prefetching while paying back is nice. But trying
  to prefetch heavy exr images and doing color space
  conversion slows down both playback and prefetching.

TODO:

- Think of better policy of dealing with already cached frames
  (like when cached frames from other clips prevents frames
  from current clip to be prefetched)

- Currently a bit funky redraw notification happens from
  prefetch job. Perhaps own ND_ is better to have here.

- Hiding clip while prefetch is active in theory shall stop
  prefetching job.

- Having multiple clips opened on file load will prefetch
  frames for only one of them.

7 years agoOSX/tablet: fix a longstanding bug with certain devices and a cornercases
Jens Verwiebe [Wed, 20 Mar 2013 16:51:50 +0000 (16:51 +0000)]
OSX/tablet: fix a longstanding bug with certain devices and a cornercases

7 years agoSmall fix: make node backdrop draw with nearest-pixel filter, so it zooms in
Ton Roosendaal [Wed, 20 Mar 2013 16:30:48 +0000 (16:30 +0000)]
Small fix: make node backdrop draw with nearest-pixel filter, so it zooms in
showing pixels. Issue was it also blurred image at zoom level 1... maybe subpixel
issue. Anyway - for inspecting exact composite results, zooming in showing pixels
is nicer anyway.

7 years ago- add knife project to toolbar.
Campbell Barton [Wed, 20 Mar 2013 16:03:34 +0000 (16:03 +0000)]
- add knife project to toolbar.
- when running knife project, disable vertex selection since it may select areas between the newly cut regions.
  add EDBM_selectmode_disable() function since loopcut does this too.
- (optimization) avoid looping over all geometry when flushing and no selection exists.

7 years agoFix #34694. This was actually a bug in the compositor's Bokeh Blur operation. It...
Lukas Toenne [Wed, 20 Mar 2013 15:54:16 +0000 (15:54 +0000)]
Fix #34694. This was actually a bug in the compositor's Bokeh Blur operation. It was writing outside of allocated memory in case of (0, 0) size buffers, with the usual unpredictable results.

7 years agoadd option to convert grease pencil into poly line directly.
Campbell Barton [Wed, 20 Mar 2013 15:01:15 +0000 (15:01 +0000)]
add option to convert grease pencil into poly line directly.

Without this, bezier curves at 12 resolution are very high detail for many tasks when converted from freehand strokes.
so add the option to convert 1:1 grease pencil points to curve polygons.

also add use_handles option to curve conversion which is used when converting beziers to poly lines.

7 years agoWhen making a node group always add one input and one output node, regardless of...
Lukas Toenne [Wed, 20 Mar 2013 13:58:03 +0000 (13:58 +0000)]
When making a node group always add one input and one output node, regardless of whether there are any exposed sockets. The standard common case is that some sockets will eventually have to be exposed anyway, and it's easier to just delete the unused node instead of having to look it up in the menu.

7 years agoadd back -Wredundant-decls, just not for older gcc's
Campbell Barton [Wed, 20 Mar 2013 13:30:20 +0000 (13:30 +0000)]
add back -Wredundant-decls, just not for older gcc's

7 years agoFix for #34708 and #34709, cycles group nodes were not working well with 0 or 2+...
Lukas Toenne [Wed, 20 Mar 2013 13:17:35 +0000 (13:17 +0000)]
Fix for #34708 and #34709, cycles group nodes were not working well with 0 or 2+ group input/output nodes.

The issue here was that the proxy nodes created for connecting extern group node sockets to the internal nodes were generated by the input/output nodes themselves.

0 input/output nodes: there would be no proxy that external group node sockets can map to
2+ input/output nodes: additional nodes would overwrite entries from previous nodes, so that only one of the input/output nodes would be used.

Solution is to always generate exactly 1 proxy node for every group socket in advance, regardless of whether it is used internally. Internal node sockets can then all map to this proxy node.

In the case out output nodes there should only ever be one active node, otherwise the connection to the proxy would be ambiguous. For this purpose the NODE_DO_OUTPUT flag has been exposed to RNA, so that cycles can check it and only use the active output.

7 years agoAdd a license document for i18n monospace font.
Irie Shinsuke [Wed, 20 Mar 2013 13:02:40 +0000 (13:02 +0000)]
Add a license document for i18n monospace font.

7 years agoMake Blender compile again normal again with gcc 4.2
Ton Roosendaal [Wed, 20 Mar 2013 12:34:20 +0000 (12:34 +0000)]
Make Blender compile again normal again with gcc 4.2

-Wredundant-decls is giving 1000s of lines of warnings for every file...

7 years agoFix for compositor bug introduced in pynodes branch by removing the default MuteNode...
Lukas Toenne [Wed, 20 Mar 2013 10:06:28 +0000 (10:06 +0000)]
Fix for compositor bug introduced in pynodes branch by removing the default MuteNode for unspecified nodes in the COM_Converter. Not sure why i removed this in the first place, but it means that reroute nodes are not properly replaced in composites. It worked for preview and viewer composite because the reroute nodes are replaced there already by the node tree localization ... this needs to be cleaned up.

7 years agoFix for bug reported on bf-committers: RNA function nodetree.links.new does not remov...
Lukas Toenne [Wed, 20 Mar 2013 09:53:29 +0000 (09:53 +0000)]
Fix for bug reported on bf-committers: RNA function nodetree.links.new does not remove existing links when connecting to a linked input. The check for socket connection limits was 1 off, needs to add 1 to the link counter to anticipate the newly added link.

7 years agoUI Tweak: "Add to Group" button creates new group if no groups exist
Joshua Leung [Wed, 20 Mar 2013 01:41:33 +0000 (01:41 +0000)]
UI Tweak: "Add to Group" button creates new group if no groups exist

Previously, the "Add to Group" button would show an empty search popup when there were no existing groups. While this does mean that the button behaves differently at different times, this way is more streamlined and should be less confusing than seeing an empty search popup or a greyed out "add to group" button or a "+" button which jumps around in different situations.

7 years agocode cleanup: use booleans for mesh and selection code.
Campbell Barton [Tue, 19 Mar 2013 23:17:44 +0000 (23:17 +0000)]
code cleanup: use booleans for mesh and selection code.

7 years agofix for knife tool crash when knife_make_chain_cut() couldn't create a new face.
Campbell Barton [Tue, 19 Mar 2013 21:37:22 +0000 (21:37 +0000)]
fix for knife tool crash when knife_make_chain_cut() couldn't create a new face.

7 years agoFix #34697, Undoing a node group crashes Blender.
Lukas Toenne [Tue, 19 Mar 2013 20:37:25 +0000 (20:37 +0000)]
Fix #34697, Undoing a node group crashes Blender.

The problem here was that the extra forward compatibility data for node groups (links to the node interface sockets) was written for files as well as undo memfiles. But only in the case of true .blend files is this data subsequently removed again after loading, which in the case of undo leaves invalid links hanging around in the node tree. Forward compat data is now skipped for undo.

7 years agoVarious cleanup around default i18n context.
Bastien Montagne [Tue, 19 Mar 2013 19:37:22 +0000 (19:37 +0000)]
Various cleanup around default i18n context.

Issue is that the real default context is NULL, however, in python and RNA, this value can't be used easily. So we use a specific string instead ("*"), defined as BLF_I18NCONTEXT_DEFAULT_BPYRNA.

From now on, all bpy/rna code should only use the BLF_I18NCONTEXT_DEFAULT_BPYRNA value, while all "usual" C code should use the BLF_I18NCONTEXT_DEFAULT value (BLF_pgettext is still able to "understand" both, anyway).

Also added BLF_is_default_context helper func, so that we can keep that check in a single place!

Finally, we should no need anymore to understand the void string "" as default context too - two values for a same thing are more than enough!

7 years agochange to variable size bokeh blue, dont blur larger areas then the current pixel...
Campbell Barton [Tue, 19 Mar 2013 18:32:56 +0000 (18:32 +0000)]
change to variable size bokeh blue, dont blur larger areas then the current pixel defines.
caused nasty looking errors with DOF.

7 years agoRemoved the is_local_tree property from compo/shader/texture node trees. This was...
Lukas Toenne [Tue, 19 Mar 2013 18:15:33 +0000 (18:15 +0000)]
Removed the is_local_tree property from compo/shader/texture node trees. This was using an ID property, which causes trouble with 2.62 builds (possibly later) due to an old bug that causes ID properties in local node trees not loaded correctly. The bug has been fixed since then, but creating id properties will break with these builds. The property was not really necessary, so removing it will make it work as long as users don't add id properties themselves.

7 years agoSmall changes/additions to i18n tools.
Bastien Montagne [Tue, 19 Mar 2013 15:49:53 +0000 (15:49 +0000)]
Small changes/additions to i18n tools.

7 years agoFix for an old issue: Node names need to be unique to ensure proper preview image...
Lukas Toenne [Tue, 19 Mar 2013 14:53:46 +0000 (14:53 +0000)]
Fix for an old issue: Node names need to be unique to ensure proper preview image mapping (node instance keys are generated from node names). This caused problems with some of the old test files (e.g. compo_map_zcombine_cubes.blend).

When the uniqueness requirement was introduced in r24478 (2.50.8) for unambiguous RNA paths for animation a do_versions check was also added, but this was incorrectly only applied to main->nodetree (i.e. node groups) and not local trees in scene, material, etc.

7 years agoFix for [#34693] Linked Duplicate of object with Ocean modifier fails to copy geometr...
Thomas Dinges [Tue, 19 Mar 2013 14:38:03 +0000 (14:38 +0000)]
Fix for [#34693] Linked Duplicate of object with Ocean modifier fails to copy geometry_mode parameter

7 years agoFix: jittered brushes are not jittered, reported by kursad karatas.
Antony Riakiotakis [Tue, 19 Mar 2013 14:25:12 +0000 (14:25 +0000)]
Fix: jittered brushes are not jittered, reported by kursad karatas.
Issue is sharing using global random generator which is shared with
particle system which resets the seed due to some scene/option
combination. Since it may be desirable to get predictable results with
particles, made sure brushes allocate their own random number generator
on startup and use that for jittering.

7 years agoCycles / Mix Shader:
Thomas Dinges [Tue, 19 Mar 2013 13:46:46 +0000 (13:46 +0000)]
Cycles / Mix Shader:
* Made "Fac" Socket a "PROP_FACTOR", like the other Fac sockets in the compositor.

7 years agoNicer handling of undefined node, tree and socket types.
Lukas Toenne [Tue, 19 Mar 2013 13:40:16 +0000 (13:40 +0000)]
Nicer handling of undefined node, tree and socket types.

When nodes are loaded from a .blend file they can potentially have undefined types. This can happen if a type has been deprecated and removed, or if node types were defined in a python script that has not been loaded correctly. Previously all such nodes would automatically be removed from a node tree, assuming that their types were deprecated and no longer in use (more commonly caused by loading new nodes in an older Blender version). Due to the possibility of dynamic registration it is no longer feasible to simply delete such nodes.

Display and handling of node trees was simply disabled before this patch, so that a node tree where any node or socket type was undefined would not be displayed at all. To give more information and avoid problems caused by necessary checks for the typeinfo pointer, there is now a 'Undefined' fallback type for trees, nodes and sockets. These types are used as placeholders in case the real type is not registered and can provide useful visual feedback on undefined nodes.

7 years agoFix regression in viewport background image transparency
Sergey Sharybin [Tue, 19 Mar 2013 13:38:43 +0000 (13:38 +0000)]
Fix regression in viewport background image transparency

Was caused by recent changes to automatically switch between
glaDrawPixelsTex and glaDrawPixelsSafe depending on resolution.

glaDrawPixelsSafe could not be sued for viewport because it'll
miss alpha transparency.

7 years agoFix: Clamp alpha to 1.0 or adding alpha in paint creates "isolines" due
Antony Riakiotakis [Tue, 19 Mar 2013 13:32:57 +0000 (13:32 +0000)]
Fix: Clamp alpha to 1.0 or adding alpha in paint creates "isolines" due
to integer overflow. One of the beautiful bugs that is sad to see fixed.

Also remove unused timer variable

7 years agoUI / Node Editor:
Thomas Dinges [Tue, 19 Mar 2013 13:31:54 +0000 (13:31 +0000)]
UI / Node Editor:
* Align Render Layer menu and Render button in "Render Layers" node.
This looks better and the settings belong together as well.

7 years agoFix for GLSL shader nodes when using Cycles nodes with shader sockets. These did...
Lukas Toenne [Tue, 19 Mar 2013 13:00:32 +0000 (13:00 +0000)]
Fix for GLSL shader nodes when using Cycles nodes with shader sockets. These did not get a stack index assigned, but for GLSL they are simply replaced by colors.

7 years agoOSX/pen: change sensivity graduation to a good value found with Sebastian and remove...
Jens Verwiebe [Tue, 19 Mar 2013 12:29:38 +0000 (12:29 +0000)]
OSX/pen: change sensivity graduation to a good value found with Sebastian and remove debug print

7 years agoOSX/pen: change sensivity graduation so we don't get maximum too early and have...
Jens Verwiebe [Tue, 19 Mar 2013 11:38:40 +0000 (11:38 +0000)]
OSX/pen: change sensivity graduation so we don't get maximum  too early and have more feeling

7 years agoadd BLI_rcti,f_recenter()
Campbell Barton [Tue, 19 Mar 2013 10:54:52 +0000 (10:54 +0000)]
add BLI_rcti,f_recenter()
fix for uninitialized variable use in radial_control_get_properties() and bad cast in bpy api's foreach_parse_args()

7 years agoFixes for context updates of the node editor:
Lukas Toenne [Tue, 19 Mar 2013 10:42:33 +0000 (10:42 +0000)]
Fixes for context updates of the node editor:
* If the node tree can be updated from context (tree has get_from_context callback defined), reset the pointers first to clear the editor path if no tree can be found.
* Stupid mistake: snode->from != snode->from is always false.
* Shader nodes context update: set the 'from' pointer to the active object, even if it doesn't have a material or node tree.

7 years agoMore i18n tools cleanup. Also do not import nl in trunk currently (void translation)!
Bastien Montagne [Tue, 19 Mar 2013 10:11:41 +0000 (10:11 +0000)]
More  i18n tools cleanup. Also do not import nl in trunk currently (void translation)!

7 years agoFix for shader node sockets not displaying the name when unconnected. Default button...
Lukas Toenne [Tue, 19 Mar 2013 10:03:52 +0000 (10:03 +0000)]
Fix for shader node sockets not displaying the name when unconnected. Default button draw implementation for node sockets should be to display just the name label.

7 years agoUse checker backdrop for footage with alpha channel in clip editor
Sergey Sharybin [Tue, 19 Mar 2013 08:53:01 +0000 (08:53 +0000)]
Use checker backdrop for footage with alpha channel in clip editor

Also use glaDrawPixelsAuto as a fallback method. Hopefully it'll
make using 2D textures for frames higher resolution than
GL_MAX_TEXTURE_SIZE.

7 years agoSome renaming/cleanup in i18n tools.
Bastien Montagne [Tue, 19 Mar 2013 08:33:24 +0000 (08:33 +0000)]
Some renaming/cleanup in  i18n tools.

7 years agoAdded alpha output to movie clip compositor node
Sergey Sharybin [Tue, 19 Mar 2013 07:46:32 +0000 (07:46 +0000)]
Added alpha output to movie clip compositor node

Pretty much straightforward change, made in the same way as
texture input node.

Shall not be any regressions or crashes when mixing usage
of 2.66 and current trunk.

7 years agoBGE: Adding docs for bge.logic.getProfileInfo().
Mitchell Stokes [Tue, 19 Mar 2013 04:56:51 +0000 (04:56 +0000)]
BGE: Adding docs for bge.logic.getProfileInfo().

7 years agoBGE: Adding a getProfileInfo() function to bge.logic. This function returns a Python...
Mitchell Stokes [Tue, 19 Mar 2013 04:51:37 +0000 (04:51 +0000)]
BGE: Adding a getProfileInfo() function to bge.logic. This function returns a Python dictionary with the same information as the on screen profiler.

7 years agobge bugfix: [#34677] Setting Boolean property on KX_GameObject creates Int type
Dalai Felinto [Mon, 18 Mar 2013 22:52:43 +0000 (22:52 +0000)]
bge bugfix: [#34677] Setting Boolean property on KX_GameObject creates Int type
we need to check for booleans before testing for longs.

7 years agoGrease Pencil UI
Pablo Vazquez [Mon, 18 Mar 2013 22:28:27 +0000 (22:28 +0000)]
Grease Pencil UI
The recent addition of the up/down arrows wasn't aligned.

Before/After: http://www.pasteall.org/pic/show.php?id=47512

Patch by Francesco Siddi.

7 years agorewind 55389 and make this gcc4.6+ only
Campbell Barton [Mon, 18 Mar 2013 21:36:12 +0000 (21:36 +0000)]
rewind 55389 and make this gcc4.6+ only

7 years agoSmoke Bugfix /enhancement: Load pre 2.65 pointcaches.
Daniel Genrich [Mon, 18 Mar 2013 21:33:48 +0000 (21:33 +0000)]
Smoke Bugfix /enhancement: Load pre 2.65 pointcaches.

Warning: Just make sure that you DON'T free the cache at any point. This patch can only display existing pointcaches from e.g. 2.64

7 years agofix for build error: "#pragma GCC diagnostic not allowed inside functions"
Dalai Felinto [Mon, 18 Mar 2013 21:16:04 +0000 (21:16 +0000)]
fix for build error: "#pragma GCC diagnostic not allowed inside functions"

It works in a newest gcc (e.g. 4.6.3) but fails here:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build
5658) (LLVM build 2336.11.00)

7 years agoAdd capluse bounds drawing
Sergej Reich [Mon, 18 Mar 2013 20:32:30 +0000 (20:32 +0000)]
Add capluse bounds drawing

Patch [#34566] by Alain Ducharme (phymec).

7 years agogame engine: Increase hard limit for fps property
Sergej Reich [Mon, 18 Mar 2013 20:32:28 +0000 (20:32 +0000)]
game engine: Increase hard limit for fps property

Patch by Alain Ducharme (phymec).

7 years agoAdded back the custom limits for value properties in standard node socket types,...
Lukas Toenne [Mon, 18 Mar 2013 20:27:39 +0000 (20:27 +0000)]
Added back the custom limits for value properties in standard node socket types, to override the standard range based purely on subtype.

7 years agoNode Interface:
Thomas Dinges [Mon, 18 Mar 2013 19:59:11 +0000 (19:59 +0000)]
Node Interface:
* Small tweak to the "Interface" panel for group nodes, move separator into the branch to save some UI space.

7 years agoHopefully blender will compile with strict flags again.
Sergey Sharybin [Mon, 18 Mar 2013 19:27:31 +0000 (19:27 +0000)]
Hopefully blender will compile with strict flags again.

7 years agoUse extern "C" when including BKE_node.h in C++ compositor code, to avoid linker...
Lukas Toenne [Mon, 18 Mar 2013 19:19:28 +0000 (19:19 +0000)]
Use extern "C" when including BKE_node.h in C++ compositor code, to avoid linker errors on windows (undefined NODE_INSTANCE_KEY_BASE).

7 years agoNode poll_instance callback is optional, check if it exists before executing.
Lukas Toenne [Mon, 18 Mar 2013 19:19:26 +0000 (19:19 +0000)]
Node poll_instance callback is optional, check if it exists before executing.

7 years agoUsual minor UI messages fixes.
Bastien Montagne [Mon, 18 Mar 2013 18:43:22 +0000 (18:43 +0000)]
Usual minor UI messages fixes.

7 years agoquiet warning about writing to deprecated member with gcc.
Campbell Barton [Mon, 18 Mar 2013 18:37:59 +0000 (18:37 +0000)]
quiet warning about writing to deprecated member with gcc.

7 years agoUI fix: drawing disabled buttons now draw OK in all cases.
Ton Roosendaal [Mon, 18 Mar 2013 18:29:22 +0000 (18:29 +0000)]
UI fix: drawing disabled buttons now draw OK in all cases.

The old 2.5 code was just drawing a blended rect over buttons, which looks bad
in cases the backdrop is undefined.

Now widget drawing code just draws everything half transparent. Much nicer!
Time for textured backdrops? ;)

7 years agoNode Editor / Group UI:
Thomas Dinges [Mon, 18 Mar 2013 18:27:28 +0000 (18:27 +0000)]
Node Editor / Group UI:
* Add, Move and Remove Socket operators missed a notifier for UI redraw.

Note: ND_DISPLAY seems to be for the Text editor only, according to WM_types.h, but seems to be used in quite a few places.
Time to cleanup notifiers again.

7 years agocode cleanup
Campbell Barton [Mon, 18 Mar 2013 18:25:05 +0000 (18:25 +0000)]
code cleanup

7 years agoAdded missing stub for uiTemplateNodeSocket.
Lukas Toenne [Mon, 18 Mar 2013 17:24:47 +0000 (17:24 +0000)]
Added missing stub for uiTemplateNodeSocket.

7 years agoFix for stupid MSVC compiler, float array cast not supported.
Lukas Toenne [Mon, 18 Mar 2013 17:24:16 +0000 (17:24 +0000)]
Fix for stupid MSVC compiler, float array cast not supported.

7 years agoFix blenderplayer (looks like gcc4.7 dislikes unamed parameters ;) ).
Bastien Montagne [Mon, 18 Mar 2013 17:08:29 +0000 (17:08 +0000)]
Fix blenderplayer (looks like gcc4.7 dislikes unamed parameters ;) ).

7 years agoMerge of the PyNodes branch (aka "custom nodes") into trunk.
Lukas Toenne [Mon, 18 Mar 2013 16:34:57 +0000 (16:34 +0000)]
Merge ... the PyNodes branch (aka "custom nodes") into trunk.

PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements.

=== Dynamic node type registration ===
Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes.

Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2].

=== Node group improvements ===
Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3].

The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there.

[1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes
[2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender
[3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/