1.17.7.006

This commit is contained in:
Tanasart 2024-07-11 17:32:40 +07:00
parent 4cb634bd8b
commit 39942f7271
4 changed files with 42 additions and 17 deletions

View file

@ -38,7 +38,7 @@
LATEST_VERSION = 11700;
VERSION = 11761;
SAVE_VERSION = 11700;
VERSION_STRING = "1.17.7.005";
VERSION_STRING = "1.17.7.006";
BUILD_NUMBER = 11761;
globalvar HOTKEYS, HOTKEY_CONTEXT;

View file

@ -16,7 +16,7 @@ function Node_Invert(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
__init_mask_modifier(1); // inputs 5, 6
inputs[| 7] = nodeValue("Include Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
inputs[| 7] = nodeValue("Include Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
input_display_list = [ 3, 4, 7,
["Surfaces", true], 0, 1, 2, 5, 6,

View file

@ -27,11 +27,18 @@ function Node_Shadow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
__init_mask_modifier(6); // inputs 9, 10
inputs[| 11] = nodeValue("Positioning", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Shift", "Light" ]);
inputs[| 12] = nodeValue("Light Position", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector)
.setUnitRef(function(index) { return getDimension(index); });
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
input_display_list = [ 8,
["Surfaces", true], 0, 6, 7, 9, 10,
["Shadow", false], 1, 2, 3, 4, 5,
["Shadow", false], 1, 2, 11, 3, 12, 4, 5,
];
surface_blur_init();
@ -54,25 +61,42 @@ function Node_Shadow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
return _hov;
}
static step = function() { #region
static step = function() {
__step_mask_modifier();
} #endregion
var _typ = getSingleValue(11);
inputs[| 3].setVisible(_typ == 0);
inputs[| 12].setVisible(_typ == 1);
}
static processData = function(_outSurf, _data, _output_index, _array_index) {
var _surf = _data[0];
var cl = _data[1];
var _stre = _data[2];
var _shf = _data[3];
var _border = _data[4];
var _size = _data[5];
var pass1 = surface_create_valid(surface_get_width_safe(_outSurf), surface_get_height_safe(_outSurf), attrDepth());
var _posi = _data[11];
var _shf = _data[ 3];
var _lgh = _data[12];
var _dim = surface_get_dimension(_surf);
var pass1 = surface_create_valid(_dim[0], _dim[1], attrDepth());
var _shax = _shf[0],
var _shay = _shf[1];
if(_posi == 1) {
_shax = _lgh[0] - _dim[0] / 2;
_shay = _lgh[1] - _dim[1] / 2;
}
surface_set_shader(pass1, sh_outline_only);
shader_set_f("dimension", [ surface_get_width_safe(_outSurf), surface_get_height_safe(_outSurf) ]);
shader_set_f("dimension", _dim);
shader_set_f("borderSize", _border);
shader_set_f("borderColor", [1., 1., 1., 1.0]);
shader_set_f("borderColor", [ 1., 1., 1., 1. ]);
draw_surface_safe(_data[0], _shf[0], _shf[1]);
draw_surface_safe(_data[0], _shax, _shay);
surface_reset_shader();
surface_set_target(_outSurf);
@ -80,8 +104,9 @@ function Node_Shadow(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
BLEND_OVERRIDE;
draw_surface_ext_safe(surface_apply_gaussian(pass1, _size, false, cl), 0, 0, 1, 1, 0, cl, _stre * _color_get_alpha(cl));
BLEND_NORMAL;
draw_surface_safe(_data[0]);
draw_surface_safe(_surf);
surface_reset_target();
surface_free(pass1);
__process_mask_modifier(_data);

View file

@ -451,9 +451,9 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
];
toolbars_valign = [
[ THEME.object_valign, function() /*=>*/ {return 2}, function() /*=>*/ {return ""}, function(param) /*=>*/ { node_valign(nodes_selecting, fa_top); } ],
[ THEME.object_valign, function() /*=>*/ {return 2}, function() /*=>*/ {return ""}, function(param) /*=>*/ { node_valign(nodes_selecting, fa_bottom); } ],
[ THEME.object_valign, function() /*=>*/ {return 1}, function() /*=>*/ {return ""}, function(param) /*=>*/ { node_valign(nodes_selecting, fa_middle); } ],
[ THEME.object_valign, function() /*=>*/ {return 0}, function() /*=>*/ {return ""}, function(param) /*=>*/ { node_valign(nodes_selecting, fa_bottom); } ],
[ THEME.object_valign, function() /*=>*/ {return 0}, function() /*=>*/ {return ""}, function(param) /*=>*/ { node_valign(nodes_selecting, fa_top); } ],
];
toolbars_distrib = [