function Node_Feedback_Input(_x, _y, _group = noone) : Node_Group_Input(_x, _y, _group) constructor { name = "Feedback Input"; color = COLORS.node_blend_feedback; is_group_io = true; setDimension(96, 32 + 24 * 2); feedbackOut = noone; outputs[0].getValueDefault = method(outputs[0], outputs[0].getValueRecursive); //Get value from outside loop outputs[0].getValueRecursive = function(arr, _time) { if(!is(feedbackOut, NodeValue)) return; var _vto = feedbackOut.getJunctionTo(); var _jout = array_safe_get(_vto, 0, noone); if(_jout == noone) return; if(CURRENT_FRAME > 0 && _jout.node.cache_value != noone) { //use cache from output arr[@ 0] = _jout.node.cache_value; arr[@ 1] = inParent; return; } outputs[0].getValueDefault(arr); } newOutput(1, nodeValue_Output("Feedback loop", self, VALUE_TYPE.node, 0).nonForward()); feedbackOut = outputs[1]; }