asdasdfsb f d

This commit is contained in:
Tanasart 2024-09-24 16:51:04 +07:00
parent 51d30d1115
commit efb8af1250
38 changed files with 276 additions and 407 deletions

View File

@ -1791,6 +1791,7 @@
{"name":"s_button_bottom_right","order":1,"path":"sprites/s_button_bottom_right/s_button_bottom_right.yy",},
{"name":"s_button_hide_circle_28","order":2,"path":"sprites/s_button_hide_circle_28/s_button_hide_circle_28.yy",},
{"name":"s_button_hide_fill","order":3,"path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},
{"name":"s_button_hide_fill1036","order":157,"path":"sprites/s_button_hide_fill1036/s_button_hide_fill1036.yy",},
{"name":"s_button_hide_left","order":4,"path":"sprites/s_button_hide_left/s_button_hide_left.yy",},
{"name":"s_button_hide_middle","order":5,"path":"sprites/s_button_hide_middle/s_button_hide_middle.yy",},
{"name":"s_button_hide_right","order":6,"path":"sprites/s_button_hide_right/s_button_hide_right.yy",},

View File

@ -2502,6 +2502,7 @@
{"id":{"name":"s_button_bottom_right","path":"sprites/s_button_bottom_right/s_button_bottom_right.yy",},},
{"id":{"name":"s_button_hide_circle_28","path":"sprites/s_button_hide_circle_28/s_button_hide_circle_28.yy",},},
{"id":{"name":"s_button_hide_fill","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},},
{"id":{"name":"s_button_hide_fill1036","path":"sprites/s_button_hide_fill1036/s_button_hide_fill1036.yy",},},
{"id":{"name":"s_button_hide_left","path":"sprites/s_button_hide_left/s_button_hide_left.yy",},},
{"id":{"name":"s_button_hide_middle","path":"sprites/s_button_hide_middle/s_button_hide_middle.yy",},},
{"id":{"name":"s_button_hide_right","path":"sprites/s_button_hide_right/s_button_hide_right.yy",},},

View File

@ -6,18 +6,7 @@ function draw_rectangle_border(x1, y1, x2, y2, thick) {
draw_line_width(x2, y1 - thick / 2, x2, y2 + thick / 2, thick);
}
function ui_rect(x1, y1, x2, y2, color, alpha = 1) {
INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 1, x1, y1, x2 - x1, y2 - y1, color, 1);
}
function ui_rect_wh(x1, y1, w, h, color, alpha = 1) {
INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 1, x1, y1, w, h, color, 1);
}
function ui_fill_rect(x1, y1, x2, y2, color, alpha = 1) {
INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 0, x1, y1, x2 - x1, y2 - y1, color, 1);
}
function ui_fill_rect_wh(x1, y1, w, h, color, alpha = 1) {
INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 0, x1, y1, w, h, color, 1);
}
function ui_rect( x1, y1, x2, y2, color, alpha = 1) { INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 1, x1, y1, x2 - x1, y2 - y1, color, 1); }
function ui_rect_wh( x1, y1, w, h, color, alpha = 1) { INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 1, x1, y1, w, h, color, 1); }
function ui_fill_rect( x1, y1, x2, y2, color, alpha = 1) { INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 0, x1, y1, x2 - x1, y2 - y1, color, 1); }
function ui_fill_rect_wh(x1, y1, w, h, color, alpha = 1) { INLINE draw_sprite_stretched_ext(THEME.s_box_r2, 0, x1, y1, w, h, color, 1); }

View File

@ -19,17 +19,19 @@ function Node_Chromatic_Aberration(_x, _y, _group = noone) : Node_Processor(_x,
//////////////////////////////////////////////////////////////////////////////////////////////////
newInput(5, nodeValue_Enum_Scroll("Type", self, 0, [ "Spherical", "Scale" ]));
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
input_display_list = [ 3,
["Surface", false], 0,
["Effect", false], 1, 2, 4,
]
];
attribute_surface_depth();
attribute_interpolation();
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) { #region
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
var pos = getInputData(1);
var px = _x + pos[0] * _s;
var py = _y + pos[1] * _s;
@ -38,22 +40,24 @@ function Node_Chromatic_Aberration(_x, _y, _group = noone) : Node_Processor(_x,
var hv = inputs[1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); _hov |= hv;
return _hov;
} #endregion
}
static step = function() { #region
static step = function() {
inputs[2].mappableStep();
} #endregion
}
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
static processData = function(_outSurf, _data, _output_index, _array_index) {
surface_set_shader(_outSurf, sh_chromatic_aberration);
shader_set_interpolation(_data[0]);
shader_set_f("dimension", surface_get_width_safe(_data[0]), surface_get_height_safe(_data[0]));
shader_set_interpolation( _data[0]);
shader_set_dim("dimension", _data[0]);
// shader_set_i("type", _data[5]);
shader_set_2("center", _data[1]);
shader_set_f_map("strength", _data[2], _data[4], inputs[2]);
draw_surface_safe(_data[0]);
surface_reset_shader();
return _outSurf;
} #endregion
}
}

View File

@ -8,10 +8,10 @@
global.HLSL_VB_PLANE = vertex_create_buffer();
vertex_begin(global.HLSL_VB_PLANE, global.HLSL_VB_FORMAT);
vertex_add_2pct(global.HLSL_VB_PLANE, 0, 0, 0, 1, c_white);
vertex_add_2pct(global.HLSL_VB_PLANE, 0, 1, 0, 0, c_white);
vertex_add_2pct(global.HLSL_VB_PLANE, 1, 0, 1, 1, c_white);
vertex_add_2pct(global.HLSL_VB_PLANE, 1, 1, 1, 0, c_white);
vertex_add_2pct(global.HLSL_VB_PLANE, 0, 0, 0, 0, c_white);
vertex_add_2pct(global.HLSL_VB_PLANE, 0, 1, 0, 1, c_white);
vertex_add_2pct(global.HLSL_VB_PLANE, 1, 0, 1, 0, c_white);
vertex_add_2pct(global.HLSL_VB_PLANE, 1, 1, 1, 1, c_white);
vertex_end(global.HLSL_VB_PLANE);
#endregion
@ -311,6 +311,7 @@ void main(in VertexShaderOutput _input, out PixelShaderOutput output) {
surface_set_target(_output);
DRAW_CLEAR
BLEND_OVERRIDE
// ############################ SET SHADER ############################
d3d11_shader_override_vs(shader.vs);
@ -392,7 +393,8 @@ void main(in VertexShaderOutput _input, out PixelShaderOutput output) {
d3d11_shader_override_vs(-1);
d3d11_shader_override_ps(-1);
BLEND_NORMAL
surface_reset_target();
return _output;

View File

@ -28,40 +28,61 @@ function Node_MK_Sparkle(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
newInput(8, nodeValue_Float("Diagonal", self, 0.2))
.setDisplay(VALUE_DISPLAY.slider)
newInput(9, nodeValue_Enum_Scroll("Loop", self, false, [ "None", "Loop", "Ping-pong" ]));
newInput(10, nodeValue_Int("Loop Length", self, 4));
newInput(11, nodeValue_Int("Frame Shift", self, 0));
newInput(12, nodeValue_Bool("Array", self, false));
newInput(13, nodeValue_Int("Array Length", self, 1));
/////////////////////////////////////////////////////////////////
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
input_display_list = [ new Inspector_Sprite(s_MKFX), 1,
["Surfaces", false], 0,
["Sparkle", false], 2, 4, 5, 8,
["Render", false, 3], 6, 7,
["Output", false], 0, 12, 13,
["Sparkle", false], 4, 5, 8,
["Animation", false], 2, 11, 9, 10,
["Color", false, 3], 6, 7,
]
temp_surface = array_create(3);
static processData = function(_outSurf, _data, _output_index, _array_index) {
var _seed = _data[1];
var _size = _data[0];
var _sped = _data[2];
var _amou = _data[4];
var _scat = _data[5];
var _diag = _data[8];
var _shad = _data[3];
var _palt = _data[6];
var _badd = _data[7];
_outSurf = surface_verify(_outSurf, _size, _size);
random_set_seed(_seed);
_loop = 0;
_lopl = 0;
_sped = 0;
_seed = 0;
_size = 0;
_amou = 0;
_scat = 0;
_diag = 0;
_shad = 0;
_palt = 0;
_badd = 0;
static generate = function(_surf, _frame = CURRENT_FRAME) {
var _f = _frame;
var st_sz = ceil( _size / 2);
var st_ps = floor(_size / 2);
temp_surface[0] = surface_verify(temp_surface[0], st_sz, st_sz);
temp_surface[1] = surface_verify(temp_surface[1], _size, _size);
temp_surface[2] = surface_verify(temp_surface[2], _size, _size);
var f = CURRENT_FRAME * _sped;
switch(_loop) {
case 1 : _f = safe_mod(_f, _lopl); break;
case 2 :
_f = safe_mod(_f, _lopl * 2);
if(_f >= _lopl)
_f = _lopl * 2 - 2 - _f;
break;
}
_f = _f * _sped - _fshf;
_surf = surface_verify(_surf, _size, _size);
random_set_seed(_seed);
surface_set_target(temp_surface[0]);
DRAW_CLEAR
@ -88,27 +109,27 @@ function Node_MK_Sparkle(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
var sl = irandom_range(1, st_ps / 4) * -1;
var ll = irandom_range(1, st_ps / 2);
var len = max(0, ll + f * sl);
var len = max(0, ll + _f * sl);
var diam = random(1) < _diag * 0.2;
var diag = random(1) < _diag;
if(len <= 0) continue;
if(diam) {
var lx = -1 + dx - f * sx;
var ly = st_sz - 1 - dy - f * sx;
var lx = -1 + dx - _f * sx;
var ly = st_sz - 1 - dy - _f * sx;
draw_line(lx, ly, lx - len, ly - len);
} else if(diag) {
var lx = -1 + dx + f * sx;
var ly = st_sz - 1 - dy - f * sx;
var lx = -1 + dx + _f * sx;
var ly = st_sz - 1 - dy - _f * sx;
draw_line(lx, ly, lx + len, ly - len);
} else {
var ly = st_sz - 1 - dy;
var lx0 = -1 + f * sx + dx;
var lx0 = -1 + _f * sx + dx;
var lx1 = lx0 + len;
draw_line(lx0, ly, lx1, ly);
@ -131,312 +152,57 @@ function Node_MK_Sparkle(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
draw_surface_ext(temp_surface[1], 0, _size, 1, -1, 0, c_white, 1);
surface_reset_target();
surface_set_target(_outSurf);
surface_set_target(_surf);
DRAW_CLEAR
draw_surface_ext(temp_surface[2], 0, 0, 1, 1, 0, c_white, 1);
draw_surface_ext(temp_surface[2], 0, _size, 1, 1, 90, c_white, 1);
surface_reset_target();
return _surf;
}
static processData = function(_outSurf, _data, _output_index, _array_index) {
_sped = _data[2];
_loop = _data[9];
_lopl = _data[10]; _lopl = max(_lopl, 1);
_fshf = _data[11];
_oarr = _data[12];
_seed = _data[1];
_size = _data[0];
_amou = _data[4];
_scat = _data[5];
_diag = _data[8];
_shad = _data[3];
_palt = _data[6];
_badd = _data[7];
inputs[10].setVisible(_loop > 0);
inputs[13].setVisible(_oarr == 1);
update_on_frame = _oarr == 0;
var st_sz = ceil( _size / 2);
var st_ps = floor(_size / 2);
temp_surface[0] = surface_verify(temp_surface[0], st_sz, st_sz);
temp_surface[1] = surface_verify(temp_surface[1], _size, _size);
temp_surface[2] = surface_verify(temp_surface[2], _size, _size);
if(_oarr == 0) {
return generate(_outSurf);
} else if(_oarr == 1) {
var _arrl = _data[13];
_outSurf = array_verify(_outSurf, _arrl);
for( var i = 0; i < _arrl; i++ )
_outSurf[i] = generate(_outSurf[i], i);
}
return _outSurf;
}
}
/* Old sparkle, dunno why but I don't want to remove it yet
function __Node_MK_Sparkle(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
name = "MK Sparkle";
dimension_index = -1;
update_on_frame = true;
newInput(0, nodeValue_Int("Size", self, 5));
newInput(1, nodeValue_Float("Sparkle", self, [
[ MKSPARK_DIRR.main, 0, 0, 2, 1, 0, 0 ],
[ MKSPARK_DIRR.main, 0, -1, 1, 1, 0, 0 ],
]))
.setArrayDepth(2)
.setArrayDynamic();
newInput(2, nodeValue_Int("Start frame", self, 0));
newInput(3, nodeValue_Float("Speed", self, 1));
newInput(4, nodeValue_Int("Loop", self, []))
.setArrayDepth(1)
.setArrayDynamic();
editor_rect = [ 0, 0 ];
editor_rect_to = [ 0, 0 ];
editor_rect_hover = 0;
editor_hold_ind = -1;
editor_hold_sx = -1;
editor_timer = -1;
editor_timer_mx = 0;
editor_timer_sx = 0;
sparkleEditor = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
var _size = inputs[0].getValue();
var _sprk = inputs[1].getValue();
var _c = ceil(_size / 2);
var rows = array_create(_c);
for( var i = 0; i < _c; i++ ) rows[i] = [];
for( var i = 0, n = array_length(_sprk); i < n; i++ ) {
var _sp = _sprk[i];
var _rw = _sp[MKSPARK.y];
array_push(rows[_rw], i);
}
_y += ui(8);
var cell_s = ui(32);
var cell_w = (4 + _c) * cell_s;
var cx0 = _x + _w / 2 - cell_w / 2;
var cx1 = cx0 + cell_s;
var cx2 = cx1 + cell_s * 3;
var cx3 = cx2 + cell_s * _c;
var cy = _y + ui(24);
var _amo = 0;
for( var i = 0, n = array_length(rows); i < n; i++ )
_amo += 1 + array_length(rows[i]);
var _h = ui(8) + _amo * cell_s + ui(48);
//draw_sprite_stretched(s_mk_sparkle_bg, 0, _x, _y, _w, _h);
draw_set_circle_precision(32);
var _rect_hover = 0;
var _cont_hover = -1;
var _arr_ind = 0;
var _arr_ins = -1;
var _arr_del = -1;
var _arr_insrw = -1;
var _arr_insx = -1;
for( var i = 0, n = array_length(rows); i < n; i++ ) {
var row = rows[i];
for( var j = 0, m = array_length(row); j <= m; j++ ) {
var _cy = cy + cell_s / 2;
var _chov = 0;
var _tx = cx0 + cell_s / 2 - 4;
var _ty = _cy;
if(j < m) {
draw_set_color(#272736);
draw_circle(_tx, _ty, cell_s / 2 - 4, false);
}
if(_hover && point_in_rectangle(_m[0], _m[1], _tx - cell_s / 2, _ty - cell_s / 2, _tx + cell_s / 2, _ty + cell_s / 2)) {
editor_rect_to = [ _tx + ui(1), _ty ];
_rect_hover = 1;
_chov = 2;
}
var _cx = cx1;
var _chox = 0;
for( var k = -3; k < _c; k++ ) {
var cc = abs(i + (k >= 0? k : k - 1)) % 2? #272736 : #313143;
draw_set_color(k >= 0? cc : merge_color(cc, #171723, 0.5));
draw_rectangle(_cx, cy, _cx + cell_s, cy + cell_s, false);
if(_hover && point_in_rectangle(_m[0], _m[1], _cx, cy, _cx + cell_s - 1, cy + cell_s - 1)) {
editor_rect_to = [_cx + cell_s / 2, cy + cell_s / 2];
_rect_hover = 1;
_cont_hover = _arr_ind;
_chov = 1;
_chox = k;
_arr_insx = k;
}
_cx += cell_s;
}
if(mouse_press(mb_left, _chov == 1 && _focus)) {
editor_hold_sx = _chox;
editor_hold_ind = _cont_hover;
}
if(j == m) {
if(mouse_press(mb_left, _chov == 1 && _focus)) {
_arr_ins = _cont_hover;
_arr_insrw = i;
}
cy += cell_s;
break;
}
var _dx = cx3 + cell_s / 2 + 4;
draw_set_color(merge_color(#1e1e2c, c_red, 0.2));
draw_circle(_dx, _ty, ui(6), false);
if(_hover && point_in_circle(_m[0], _m[1], _dx, _ty, ui(12))) {
draw_set_color(merge_color(#1e1e2c, c_red, 0.5));
draw_circle(_dx, _ty, ui(6), false);
if(mouse_press(mb_left, _focus))
_arr_del = _arr_ind;
}
_arr_ind++;
var _id = row[j];
var _sp = _sprk[_id];
var _dr = _sp[MKSPARK.dir];
var _xs = _sp[MKSPARK.x];
var _spd = _sp[MKSPARK.speed];
var _dr = _sp[MKSPARK.length];
var _bl = _sp[MKSPARK.lendel];
var _tm = _sp[MKSPARK.time];
if(mouse_press(mb_left, _focus)) {
if(_chov == 2) {
editor_timer = _id;
editor_timer_mx = _m[0];
editor_timer_sx = _tm;
}
}
var _lx0 = cx1 + cell_s * (3 + _xs) + ui(6);
var _lx1 = _lx0 + _spd * cell_s;
draw_set_color(c_white);
draw_line_width(_lx0, _cy, _lx1, _cy, 4);
if(_tm < 0) draw_set_color(COLORS._main_value_negative);
else if(_tm > 0) draw_set_color(COLORS._main_value_positive);
else draw_set_color(c_white);
draw_line_width(_tx, _ty, _tx + lengthdir_x(cell_s / 2 - 6, 90 - _tm * 90),
_ty + lengthdir_y(cell_s / 2 - 6, 90 - _tm * 90), 4);
cy += cell_s;
}
}
if(_arr_ins > -1)
array_insert(_sprk, _arr_ins, [ MKSPARK_DIRR.main, _arr_insrw, _arr_insx, 1, 1, 0, 0 ]);
if(_arr_del > -1)
array_delete(_sprk, _arr_del, 1);
if(editor_hold_ind > -1) {
_sprk[editor_hold_ind][2] = editor_hold_sx;
_sprk[editor_hold_ind][3] = _arr_insx - editor_hold_sx + 1;
if(mouse_release(mb_left))
editor_hold_ind = -1;
}
if(editor_timer > -1) {
var _tim = editor_timer_sx + (_m[0] - editor_timer_mx) / 32;
_sprk[editor_timer][6] = clamp(round(_tim), -3, 3);
if(mouse_release(mb_left))
editor_timer = -1;
}
editor_rect_hover = lerp_float(editor_rect_hover, _rect_hover, 4);
if(editor_rect_hover > 0) {
editor_rect[0] = lerp_float(editor_rect[0], editor_rect_to[0], 5);
editor_rect[1] = lerp_float(editor_rect[1], editor_rect_to[1], 5);
var _sels = editor_rect_hover * (cell_s / 2 - 4);
draw_sprite_stretched_ext(s_mk_sparkle_select, 0, editor_rect[0] - _sels, editor_rect[1] - _sels, _sels * 2, _sels * 2, #6d6d84, 1);
}
return _h;
});
input_display_list = [ new Inspector_Sprite(s_MKFX),
["Sparkle", false], 0, 2, 3,
sparkleEditor
];
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
temp_surface = [ noone, noone ];
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
var _size = _data[0];
var _sprk = _data[1];
var _frme = _data[2];
var _spd = _data[3];
var _loop = _data[4];
if(array_empty(_sprk)) return _outSurf;
var _c = floor(_size / 2);
_outSurf = surface_verify(_outSurf, _size, _size);
temp_surface[0] = surface_verify(temp_surface[0], _size, _size);
temp_surface[1] = surface_verify(temp_surface[1], _size, _size);
var _s0 = temp_surface[0];
var _s1 = temp_surface[1];
var _fr = round((CURRENT_FRAME - _frme + 1) * _spd);
if(!array_empty(_loop)) {
var _ind = CURRENT_FRAME % array_length(_loop);
_fr = _loop[_ind];
}
surface_set_target(_s0);
DRAW_CLEAR
draw_set_color(c_white);
for( var i = 0, n = array_length(_sprk); i < n; i++ ) {
var _sk = _sprk[i];
var dr = _sk[MKSPARK.dir];
var sy = _sk[MKSPARK.y];
var sx = _sk[MKSPARK.x];
var sp = _sk[MKSPARK.speed];
var ff = _sk[MKSPARK.time] + _fr;
var lng = _sk[MKSPARK.length] + _sk[MKSPARK.lendel] - ff;
if(ff < 0 || lng < 0) continue;
if(dr == MKSPARK_DIRR.main) {
var _lx = _c + sx - 1 + sp * ff;
var _ly = _c + sy;
if(lng == 0) draw_point(_lx, _ly);
else draw_line(_lx, _ly, _lx + lng, _ly);
} else if(dr == MKSPARK_DIRR.diag) {
var _l0 = _c - 1 + sp * ff;
var _l1 = _l0 + lng;
if(lng == 0) draw_point(_l0, _l0);
else draw_line(_l0, _l0, _l1, _l1);
}
}
BLEND_NORMAL
surface_reset_target();
surface_set_target(_s1);
DRAW_CLEAR
draw_surface_ext(_s0, 0, 0, 1, 1, 0, c_white, 1);
draw_surface_ext(_s0, 0, _size, 1, -1, 0, c_white, 1);
surface_reset_target();
surface_set_target(_outSurf);
DRAW_CLEAR
draw_surface_ext(_s1, 0, 0, 1, 1, 0, c_white, 1);
draw_surface_ext(_s1, 0, _size, 1, 1, 90, c_white, 1);
draw_surface_ext(_s1, _size, _size, 1, 1, 180, c_white, 1);
draw_surface_ext(_s1, _size, 0, 1, 1, 270, c_white, 1);
surface_reset_target();
return _outSurf;
} #endregion
}

View File

@ -73,19 +73,23 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
var k = ds_map_find_first(project.tunnels_in_map);
repeat(amo) {
var _n = project.nodeMap[? k];
if(_n.active && is_instanceof(_n, Node_Tunnel_In))
_n.resetMap();
k = ds_map_find_next(project.tunnels_in_map, k);
k = ds_map_find_next(project.tunnels_in_map, k);
if(!is_instanceof(_n, Node_Tunnel_In)) continue;
if(!_n.active) continue;
_n.resetMap();
}
var k = ds_map_find_first(project.tunnels_in_map);
repeat(amo) {
var _n = project.nodeMap[? k];
if(_n.active && is_instanceof(_n, Node_Tunnel_In))
_n.checkDuplicate();
k = ds_map_find_next(project.tunnels_in_map, k);
k = ds_map_find_next(project.tunnels_in_map, k);
if(!is_instanceof(_n, Node_Tunnel_In)) continue;
if(!_n.active) continue;
_n.checkDuplicate();
}
if(index == 0) { RENDER_ALL_REORDER }

View File

@ -820,13 +820,13 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
case VALUE_TYPE.color :
switch(display_type) {
case VALUE_DISPLAY._default :
editWidget = new buttonColor(function(color) /*=>*/ {return setValueInspector(color)});
editWidget = new buttonColor(function(_color) /*=>*/ {return setValueInspector(_color)});
graph_h = ui(16);
extract_node = "Node_Color";
break;
case VALUE_DISPLAY.palette :
editWidget = new buttonPalette(function(color) /*=>*/ {return setValueInspector(color)});
editWidget = new buttonPalette(function(_color) /*=>*/ {return setValueInspector(_color)});
extract_node = "Node_Palette";
break;
}
@ -1799,12 +1799,19 @@ function NodeValue(_name, _node, _connect, _type, _value, _tooltip = "") constru
/////============= DRAW =============
static setColor = function(_color) {
color = _color;
updateColor();
return self;
}
static updateColor = function(val = undefined) {
INLINE
if(color == -1) {
draw_bg = is_array(val)? value_color_bg_array(draw_junction_index) : value_color_bg(draw_junction_index);
draw_fg = value_color(draw_junction_index);
} else {
draw_bg = is_array(val)? merge_color(color, colorMultiply(color, CDEF.main_dkgrey), 0.5) : value_color_bg(draw_junction_index);
draw_fg = color;

View File

@ -755,15 +755,8 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
if(__junction_hovering == noone) return;
__junction_hovering.setColor(color);
for(var i = 0; i < array_length(nodes_selecting); i++) {
var _node = nodes_selecting[i];
for( var j = 0, m = array_length(_node.inputs); j < m; j++ ) {
var _input = _node.inputs[j];
if(_input.value_from == noone) continue;
_input.setColor(color);
}
}
if(__junction_hovering.value_from != noone)
__junction_hovering.value_from.setColor(color);
}
#endregion

View File

@ -92,6 +92,8 @@ function surfaceBox(_onModify, def_path = "") : widget() constructor {
else if(is_instanceof(_surface, dynaSurf)) _surface = array_safe_get_fast(_surface.surfaces, 0, noone);
else if(is_instanceof(_surface, Atlas)) _surface = _surface.getSurface();
ui_rect(sx0, sy0, sx1, sy1, COLORS.widget_surface_frame);
if(surface_exists(_surface)) {
var sfw = surface_get_width(_surface);
var sfh = surface_get_height(_surface);
@ -115,13 +117,11 @@ function surfaceBox(_onModify, def_path = "") : widget() constructor {
var _th = 14;
var _nx = sx1 - _tw;
var _ny = sy1 - _th;
draw_sprite_stretched_ext(THEME.ui_panel, 0, _nx, _ny, _tw, _th, COLORS.panel_bg_clear_inner, 0.85);
draw_text_add(sx1 - ui(3), sy1 + ui(1), _txt);
}
ui_rect(sx0, sy0, sx1, sy1, COLORS.widget_surface_frame);
if(_type == VALUE_TYPE.surface)
draw_sprite_ui_uniform(THEME.scroll_box_arrow, 0, _x + _w - min(_h / 2, ui(20)), _y + _h / 2, min(1, _h / 64), COLORS._main_icon, 0.5 + 0.5 * interactable);
}

View File

@ -363,7 +363,7 @@ function Theme() constructor {
button_hide_left = s_button_hide_left;
button_hide_middle = s_button_hide_middle;
button_hide_right = s_button_hide_right;
button_hide = s_button_hide;
button_hide = s_button_hide_fill;
button_left = s_button_left;
button_lime = s_button_lime;
button_middle = s_button_middle;

View File

@ -4,6 +4,7 @@
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform int type;
uniform vec2 dimension;
uniform vec2 center;
@ -91,24 +92,23 @@ void main() {
str = mix(strength.x, strength.y, (_vMap.r + _vMap.g + _vMap.b) / 3.);
}
vec2 texel = 1.0 / dimension;
vec2 coords = (v_vTexcoord - center / dimension) * 2.0;
float coordDot = dot(coords, coords);
gl_FragColor = vec4(0.);
vec2 tx = 1.0 / dimension;
vec2 coords = (v_vTexcoord - center * tx) * 2.0;
vec2 precompute = str * coordDot * coords;
vec2 uvR = v_vTexcoord - texel.xy * precompute;
vec2 uvB = v_vTexcoord + texel.xy * precompute;
vec4 color;
vec2 pcp = vec2(0.), uvR, uvB;
pcp = dot(coords, coords) * coords;
// else if(type == 1) pcp = vec2(pow(coords.x, 3.), pow(coords.y, 3.));
pcp *= str * tx;
uvR = v_vTexcoord - pcp;
uvB = v_vTexcoord + pcp;
vec4 cr = texture2Dintp(gm_BaseTexture, uvR);
vec4 cb = texture2Dintp(gm_BaseTexture, uvB);
vec4 cv = texture2Dintp(gm_BaseTexture, v_vTexcoord);
color.r = cr.r;
color.g = cv.g;
color.b = cb.b;
color.a = cv.a + cr.a + cb.a;
gl_FragColor = color;
gl_FragColor = vec4(cr.r, cv.g, cb.b, cv.a + cr.a + cb.a);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

View File

@ -12,17 +12,17 @@
"edgeFiltering":false,
"For3D":false,
"frames":[
{"$GMSpriteFrame":"","%Name":"26d32c15-d13e-46ac-971b-eb3335fbc16c","name":"26d32c15-d13e-46ac-971b-eb3335fbc16c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"f0677d84-d452-4528-bcff-2496461938fa","name":"f0677d84-d452-4528-bcff-2496461938fa","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"b2bfab5f-51b4-4a6a-87a2-5e708e13d3ed","name":"b2bfab5f-51b4-4a6a-87a2-5e708e13d3ed","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"efd3d233-575e-4f71-879f-1a9f779899ea","name":"efd3d233-575e-4f71-879f-1a9f779899ea","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"47e6a915-735c-48e0-a9e9-c8db53310a4d","name":"47e6a915-735c-48e0-a9e9-c8db53310a4d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"e447126c-0327-4177-b6ff-d2caeb46819f","name":"e447126c-0327-4177-b6ff-d2caeb46819f","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"d9dc2156-318e-4203-b383-e325061ee627","name":"d9dc2156-318e-4203-b383-e325061ee627","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"2c91ac40-b3c6-45da-bf36-ce7482f843c6","name":"2c91ac40-b3c6-45da-bf36-ce7482f843c6","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
],
"gridX":0,
"gridY":0,
"height":16,
"HTile":false,
"layers":[
{"$GMImageLayer":"","%Name":"c283ec6b-b4d1-4e43-8897-068be4b430dc","blendMode":0,"displayName":"default","isLocked":false,"name":"c283ec6b-b4d1-4e43-8897-068be4b430dc","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
{"$GMImageLayer":"","%Name":"87036108-5537-43e3-bfaa-f0effdbd8f9b","blendMode":0,"displayName":"default","isLocked":false,"name":"87036108-5537-43e3-bfaa-f0effdbd8f9b","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
],
"name":"s_button_hide_fill",
"nineSlice":{
@ -91,17 +91,17 @@
"tracks":[
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"26d32c15-d13e-46ac-971b-eb3335fbc16c","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"f3016ab4-2456-468b-abfe-4e1e85585876","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"47e6a915-735c-48e0-a9e9-c8db53310a4d","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"46a222ef-5868-4a0d-8640-c34b4927b740","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"f0677d84-d452-4528-bcff-2496461938fa","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"b5ffa254-a838-4774-b3f2-c5fd3a5a841d","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"e447126c-0327-4177-b6ff-d2caeb46819f","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"f545818a-a617-40d7-a0be-91d4ebabfdd6","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"b2bfab5f-51b4-4a6a-87a2-5e708e13d3ed","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"d9c241dd-a2f5-463c-8d70-eba7a9d500ae","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"d9dc2156-318e-4203-b383-e325061ee627","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"1aec5164-e1e3-497c-b6f2-6aed4de411b3","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"efd3d233-575e-4f71-879f-1a9f779899ea","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"a4d17f03-f6a5-4c3c-8299-1a4f8e833bdc","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"2c91ac40-b3c6-45da-bf36-ce7482f843c6","path":"sprites/s_button_hide_fill/s_button_hide_fill.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"38e0c708-ec66-4f64-b05c-4c44c3412f4a","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange":null,

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

View File

@ -0,0 +1,102 @@
{
"$GMSprite":"",
"%Name":"s_button_hide_fill1036",
"bboxMode":0,
"bbox_bottom":15,
"bbox_left":0,
"bbox_right":15,
"bbox_top":0,
"collisionKind":1,
"collisionTolerance":0,
"DynamicTexturePage":false,
"edgeFiltering":false,
"For3D":false,
"frames":[
{"$GMSpriteFrame":"","%Name":"0ef1a201-f57f-4f98-98b7-b19a9a608adc","name":"0ef1a201-f57f-4f98-98b7-b19a9a608adc","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"5688387c-9024-482f-9971-dc16f8ce5fd3","name":"5688387c-9024-482f-9971-dc16f8ce5fd3","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"ac0c1c09-fbcc-4af4-b14a-6ddf0696067a","name":"ac0c1c09-fbcc-4af4-b14a-6ddf0696067a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
{"$GMSpriteFrame":"","%Name":"f76e4112-fdd6-4676-9437-710933bfbe79","name":"f76e4112-fdd6-4676-9437-710933bfbe79","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
],
"gridX":0,
"gridY":0,
"height":16,
"HTile":false,
"layers":[
{"$GMImageLayer":"","%Name":"4492851e-5d39-4b4b-91a5-93e0fb081b8a","blendMode":0,"displayName":"default","isLocked":false,"name":"4492851e-5d39-4b4b-91a5-93e0fb081b8a","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
],
"name":"s_button_hide_fill1036",
"nineSlice":null,
"origin":4,
"parent":{
"name":"PixelComposer",
"path":"PixelComposer.yyp",
},
"preMultiplyAlpha":false,
"resourceType":"GMSprite",
"resourceVersion":"2.0",
"sequence":{
"$GMSequence":"",
"%Name":"s_button_hide_fill1036",
"autoRecord":true,
"backdropHeight":768,
"backdropImageOpacity":0.5,
"backdropImagePath":"",
"backdropWidth":1366,
"backdropXOffset":0.0,
"backdropYOffset":0.0,
"events":{
"$KeyframeStore<MessageEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MessageEventKeyframe>",
"resourceVersion":"2.0",
},
"eventStubScript":null,
"eventToFunction":{},
"length":4.0,
"lockOrigin":false,
"moments":{
"$KeyframeStore<MomentsEventKeyframe>":"",
"Keyframes":[],
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
"resourceVersion":"2.0",
},
"name":"s_button_hide_fill1036",
"playback":1,
"playbackSpeed":30.0,
"playbackSpeedType":0,
"resourceType":"GMSequence",
"resourceVersion":"2.0",
"showBackdrop":true,
"showBackdropImage":false,
"timeUnits":1,
"tracks":[
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"0ef1a201-f57f-4f98-98b7-b19a9a608adc","path":"sprites/s_button_hide_fill1036/s_button_hide_fill1036.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"c32726ca-ac72-4885-9850-648c728fb23c","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"5688387c-9024-482f-9971-dc16f8ce5fd3","path":"sprites/s_button_hide_fill1036/s_button_hide_fill1036.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"55271735-c898-4dee-99e4-3385d6594418","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"ac0c1c09-fbcc-4af4-b14a-6ddf0696067a","path":"sprites/s_button_hide_fill1036/s_button_hide_fill1036.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"33eecd76-2385-48c1-86b5-02f0abdc75c3","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"f76e4112-fdd6-4676-9437-710933bfbe79","path":"sprites/s_button_hide_fill1036/s_button_hide_fill1036.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
},"Disabled":false,"id":"34d4cc92-766a-4258-bdef-063340b21a42","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange":null,
"volume":1.0,
"xorigin":8,
"yorigin":8,
},
"swatchColours":null,
"swfPrecision":0.5,
"textureGroupId":{
"name":"Default",
"path":"texturegroups/Default",
},
"type":0,
"VTile":false,
"width":16,
}