Commit Graph

192 Commits

Author SHA1 Message Date
44850d6946 Fix #29946: Recover Auto Save defaults to "Short List" View -- Cannot determine dates
Added option display_type to WM_operator_properties_filesel which defines which file
display type (short/list/icons/default) should be used for file browser.

All current operators are using FILE_DEFAULTDISPLAY display type which means display
type will still be calculated based on type of opening file and user preferences
settings. Recover Auto Save operator is now using long display type so file date can
easily be checked now.

Reviewed by Andrea, thanks!
2012-01-24 18:18:51 +00:00
605aa16dd7 quiet warnings for using uninialized color var in ED_image_draw_info(). 2012-01-20 14:33:03 +00:00
24bf175d7e de-duplicate function copy-paste for node color sampling. 2012-01-12 05:46:45 +00:00
f66f33cefc rename RNA_property_is_set() --> RNA_struct_property_is_set() in preperation to add a second version of the function which takes the property rather then its name. 2012-01-11 16:32:12 +00:00
51bada696f Longer names support for all ID and other object names
This commit extends limit of ID and objects to 64 (it means 63 meaning
characters and 1 for zero-terminator). CustomData layers names are also
extended.
Changed DNA structures and all places where length constants were hardcoded.

All names which are "generating" from ID block should be limited by MAX_ID_NAME-2,
all non-id names now has got own define called MAX_NAME which should be used all
over for non-id names to make further name migration stuff easier.

All name fields in DNA now have comment with constant which corresponds to
hardcoded numeric value which should make it easier to further update this
limits or even switch to non-hardcoded values in DNA.

Special thanks to Campbell who helped figuring out some issues and helped a lot
in finding all cases where hardcoded valued were still used in code.

Both of forwards and backwards compatibility is stored with blender versions newer
than January 5, 2011. Older versions had issue with placing null-terminator to
DNA strings on file load which will lead to some unpredictable behavior or even
crashes.
2012-01-11 08:51:06 +00:00
e701532e1d Tag unused argument 2012-01-09 09:30:51 +00:00
Lukas Toenne
3dead22c73 Improved auto-hiding of unused sockets for collapsed nodes.
Instead of generally hiding all unused sockets in collapsed mode, the sockets now have a new explicit flag SOCK_AUTO_HIDDEN, which is only toggled when the hide_toggle operator is called. This way the auto-hidden sockets stay as they are when nodes are duplicated etc. The new flag is necessary to distinguish between manually hidden sockets (via hide_sockets_toggle operator) and automatically hidden sockets and restore the node state when unhiding a node.
2012-01-08 10:23:19 +00:00
Lukas Toenne
a885d8aee6 Fix for toggle buttons in node headers.
The buttons for "hiding" (collapsing) a node, hiding unlinked sockets, additional options, the preview and for opening a node group were all using a custom mouse test function, which was broken. They now use actual buttons instead of just displaying icons. Before executing the respective operators the button's node has to be selected and activated, so the buttons use an intermediate handle function, which selects the node and then calls the operator.
2011-12-18 12:51:50 +00:00
Lukas Toenne
33b1939aee In the node space context update function: Properly clear the snode->edittree pointer when no snode->nodetree is active. This would lead to crash in operators when switching from an existing node tree, since the usual poll function only tests for the edittree.
Fixes bug #29566.
2011-12-10 15:52:08 +00:00
f96aad6688 Fix #27626: nodes inside groups can't be muted. There was a check here to
disable this, but with recent node muting patch and node group changes it
should work now.
2011-12-02 15:08:27 +00:00
6673c76e78 Muting node patch: second part. Also fix [#27636] Muting shading nodes is ignored
Now, compositing, shading and texture nodes have a consistent muting system, with default behaving as previous (for compo), and which can be optionaly customized by each node.
Shader nodes are also GLSL muted.

However, Cycles is currently unaware of muted nodes, will try to address this…
2011-11-20 16:38:23 +00:00
28ee0f9218 Texturing: texture and 3d view draw type changes, these should only have any
effect for a render engine using new shading nodes. In short:

* No longer uses images assigned to faces in the uv layer, rather the active
  image texture node is what is edited/painted/drawn.
* Textured draw type now shows the active image texture node, with solid
  lighting.
* Material draw mode shows GLSL shader of a simplified material node tree,
  using solid lighting.
* Textures for modifiers, brushes, etc, are now available from a dropdown in
  the texture tab in the properties editor. These do not use new shading nodes
  yet.

http://wiki.blender.org/index.php/Dev:2.6/Source/Render/TextureWorkflow
2011-11-08 13:07:16 +00:00
db75cc4cde Nodes: add cycles shader nodes, these will only be available to render engines
that use the new shading nodes system. Documentation:

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes
2011-11-08 11:38:16 +00:00
23dfb8a156 Code cleanup and small fixes:
- Assume all areas are using valid MovieClipUser when using functions from movieclip.c
- Set active scene clip to movie-related nodes in compositor rather than checking
  if there's only one clip in datablocks
- Fixed users count issue when solving camera motion
2011-11-08 06:11:23 +00:00
7b43abb90e Camera tracking integration
===========================

Rest of changes from camera tracking gsoc project.

This commit includes:

- New compositor nodes:
  * Movie Clip input node
  * Movie Undistortion node
  * Transformation node
  * 2D stabilization node

- Slight changes in existing node to prevent code duplication
2011-11-07 12:56:05 +00:00
30f1f28a8a Nodes: add support for shader nodes on world and lamps, in addition to materials.
The internal render engine does not support them, and they are not accesible in
the UI yet, but cycles will use them.
2011-11-02 18:55:32 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
e417e011d5 Code cleanup: file operations merged into single header, some function names
made less cryptic and changed to indicate if they work on files or directories.
2011-10-22 15:35:49 +00:00
74017cb020 header cleanup and typo's 2011-10-22 01:53:35 +00:00
Lukas Toenne
0d7bd0f9b6 Adds an update flag to the bNode struct (similar to bNodeTree->update).
This prevents access to non-existent typeinfo during type initialization,
when node types have been removed and such nodes are deleted from older files.
All blenkernel functions now only set the node->update flag instead of directly
calling the update function.  All operators, etc. calling blenkernel functions
to modify nodes should make a ntreeUpdate call afterward (they already did that
anyway).

Editor/RNA/renderer/etc. high-level functions still can do immediate updates by
using nodeUpdate and nodeUpdateID (replacing NodeTagChanged/NodeTagIDChanged
respectively). These old functions were previously used only for setting
compositor node needexec flags and clearing cached data, but have become generic
update functions that require type-specific functionality (i.e. a valid typeinfo
struct).
2011-10-19 17:08:35 +00:00
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
dd7f52defa Fix #28365: some macro operators were missing descriptions. 2011-09-22 15:35:25 +00:00
3833cb2e76 Fix #28585: read full sample layers not working in compositor. 2011-09-22 12:45:25 +00:00
84d06f252e tag & comment unused vars with /* UNUSED */ 2011-09-20 08:48:48 +00:00
f157a543c6 /blender/editors: Removed final points in UI strings and messages.
Plus a few cuts in very long lines…
2011-09-19 12:26:20 +00:00
fa3082bace Minor: Other UI strings typos and tweaks. 2011-09-18 09:38:43 +00:00
Lukas Toenne
595ed90fe3 Minor fixes for some unfounded clang warnings. 2011-09-08 07:01:29 +00:00
Lukas Toenne
c00eba13e0 Node comparison function for sort order did not take parent selection into account. 2011-09-07 15:11:36 +00:00
Lukas Toenne
3f565fc212 Updating render layer and image output sockets was not working due to changes in snode_set_context. Before the r39941 this used a hack to 'test for first drawing', but since the snode->nodetree was set to NULL each time at the start of that function the condition would always evaluate true anyway. Simply removed that check to restore previous behavior. 2011-09-07 13:30:16 +00:00
0991bed413 fix some complier warnings and add -Wundef to CMake's default GCC warnings. 2011-09-05 23:40:52 +00:00
Lukas Toenne
8e0fe8bff7 Merged the particles-2010 branch with node improvements into trunk.
This branch adds mostly organizational improvements to the node system by renaming the node folders and files. A couple of internal features have been added too.
Detailed information can be found on the wiki page:

http://wiki.blender.org/index.php/User:Phonybone/Particles2010
2011-09-05 21:01:50 +00:00
5f66f37e22 Patch for bug #28289
updated the logic behind node delete with reconnect.
When on input and output socket is connected, these two will be reconnected
see bug report for example.

http://projects.blender.org/tracker/?func=detail&aid=28289&group_id=9&atid=498
2011-08-24 20:48:37 +00:00
4427c14683 Small fix, report in IRC by Olivier:
Click in Compositor on output node invoked a re-composite.
Only has to be done for inactive outputs.
2011-08-21 13:25:19 +00:00
b4df54151a 2.6 Node Muting:
* Removing check if Node is in between, so in-/output nodes can be muted as well. Useful for example if you want to temporarily mute a file output node.
2011-08-16 08:40:25 +00:00
ae884d2e54 Code cleanup: add UNUSED_FUNCTION macro to avoid warning messages about unused
functions.
2011-08-15 16:18:04 +00:00
a7dd264940 Nodes: make node set active function usable outside of node editor, and in doing
so fix a missing updating when activating a node with multiple node editors open.
2011-08-12 18:27:48 +00:00
Lukas Toenne
fb738f4929 When relinking node group outputs from sockets of different type, automatically change the output to the source type. Feature request by Daniel Salazar. 2011-07-29 07:14:03 +00:00
7e466266d3 fix [#28098] Continuous Grab does not work for movement of the "Backdrop" in the Node Editor 2011-07-27 17:49:35 +00:00
ffc490cbf1 Two fixes in drop-node-on-noodle:
- Intersection code was using undefined vector
  caused wrong lines to be picked
- Code now also copes with hidden sockets. 
  If all fails, is just unhides a good socket.
2011-07-22 16:39:06 +00:00
eed7702c99 Small fix in drop-node-on-noodle: intersect code only did 3 edges of
node.
2011-07-22 16:02:56 +00:00
ea90544d65 Need some fun once a while:
On dragging a non-connected node on a noodle, it will insert it.
Functionality tweaks are possible, but it already feels non-intrusive.

Rules:
- Insertion only when a single noodle is intersecting with node.
- Default connects first matching socket type. 
- If no socket match, it connects the first.
2011-07-22 15:28:50 +00:00
Lukas Toenne
cf83cabb10 Modified behavior when replacing input links: The new target socket for the existing link is now chosen from available sockets that match the _target_ type, instead of the source type. This leads to more usable replacements, e.g. for toggling inputs on mix nodes. Still not a great solution to the mute/autoconnect problem, but a bit more intuitive for replacements. 2011-07-17 19:43:14 +00:00
Lukas Toenne
f62df587d9 Changed the default keys for duplicate-nodes-while-keeping-input-links to ctrl+shift+dkey, to avoid conflicts with alt+dkey for linked duplicates. 2011-07-17 18:17:35 +00:00
Lukas Toenne
756ef16e21 Little modification of the duplicate operator on artist request: The default behavior (shift+dkey) is now to copy nodes and internal links, but not the input links from unselected nodes. This feature is available with the alternate duplicate operator (alt+dkey). 2011-07-17 18:04:28 +00:00
b724c7f27e Add delete with reconnect feature.
this will reconnect nodes as if the deleted node is muted.
Operation is added to the space_node node menu and to the keymap as CTRL-X

to test this just add some nodes to the space_node
select one or multiple nodes and press CTRL-X

It should reconnect the nodes as they were muted

limitations:
1. it performs a delete and reconnect per node. It does not evaluate all selected nodes as one whole
2. mute only supports Value, Vector and Color data types, so does this feature
3. not usable for nodes where input and output does not match (like colorToBW)

Where reconnect could not be preformed the links will be removed from the model.

Undo works with this delete with reconnect.
2011-07-12 18:59:54 +00:00
Lukas Toenne
f2c7cb0912 When duplicating nodes in a tree, also copy the links between selected nodes, as well as input links from non-selected to selected nodes. 2011-06-30 12:37:59 +00:00
f69d805338 Bugfix, irc report:
Adding new material in active node didn't update the material
properties buttons.
2011-06-17 13:57:41 +00:00
cc2c511207 Nodes display now follow 'DPI' user pref too 2011-06-14 15:55:46 +00:00
e0dee9b41d Bugfix #27105
Node editor: collapsed node didn't allow to size it using the
right hand side grab thingemabobs.
2011-06-11 13:12:57 +00:00
a43309e8d4 Added cancel callbacks to modal operators which allocates memory
in invoke callback. This prevents unfreed memory blocks when quiting
Bledner with modal operator running.
2011-06-06 11:04:54 +00:00