Cycles: svn merge -r41225:41232 ^/trunk/blender
[blender.git] / source / blender / nodes / shader / nodes / node_shader_value.c
index 21ff565306deeea8ea3486311fab7c187f9fbd45..8f490f4953b3096432b075da23a608d6dff95240 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id: SHD_value.c 36536 2011-05-07 13:27:27Z lukastoenne $
- *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -36,7 +34,8 @@
 
 /* **************** VALUE ******************** */
 static bNodeSocketTemplate sh_node_value_out[]= {
-       {       SOCK_FLOAT, 0, "Value"},
+       /* XXX value nodes use the output sockets for buttons, so we need explicit limits here! */
+       {       SOCK_FLOAT, 0, "Value", 0.0f, 0.0f, 0.0f, 0.0f, -FLT_MAX, FLT_MAX},
        {       -1, 0, ""       }
 };
 
@@ -46,6 +45,8 @@ static void node_shader_init_value(bNodeTree *UNUSED(ntree), bNode *node, bNodeT
        bNodeSocketValueFloat *dval= (bNodeSocketValueFloat*)sock->default_value;
        /* uses the default value of the output socket, must be initialized here */
        dval->value = 0.5f;
+       dval->min = -FLT_MAX;
+       dval->max = FLT_MAX;
 }
 
 static void node_shader_exec_value(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
@@ -70,6 +71,7 @@ void register_node_type_sh_value(ListBase *lb)
        static bNodeType ntype;
 
        node_type_base(&ntype, SH_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS);
+       node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING);
        node_type_socket_templates(&ntype, NULL, sh_node_value_out);
        node_type_init(&ntype, node_shader_init_value);
        node_type_size(&ntype, 80, 50, 120);