mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-01-23 11:28:06 +01:00
Frame selections
This commit is contained in:
parent
e8418a809c
commit
37d6676dbc
15 changed files with 253 additions and 19 deletions
|
@ -240,6 +240,7 @@
|
|||
{"name":"button","order":34,"path":"folders/widgets/button.yy",},
|
||||
{"name":"rotator","order":35,"path":"folders/widgets/rotator.yy",},
|
||||
{"name":"text","order":36,"path":"folders/widgets/text.yy",},
|
||||
{"name":"PC effects","order":24,"path":"folders/nodes/data/PC effects.yy",},
|
||||
],
|
||||
"ResourceOrderSettings": [
|
||||
{"name":"s_node_corner","order":16,"path":"sprites/s_node_corner/s_node_corner.yy",},
|
||||
|
@ -1116,6 +1117,7 @@
|
|||
{"name":"sh_pb_shade_half","order":5,"path":"shaders/sh_pb_shade_half/sh_pb_shade_half.yy",},
|
||||
{"name":"node_polar","order":4,"path":"scripts/node_polar/node_polar.yy",},
|
||||
{"name":"s_node_twirl","order":41,"path":"sprites/s_node_twirl/s_node_twirl.yy",},
|
||||
{"name":"s_node_perlin_extra","order":31,"path":"sprites/s_node_perlin_extra/s_node_perlin_extra.yy",},
|
||||
{"name":"sh_2d_light","order":28,"path":"shaders/sh_2d_light/sh_2d_light.yy",},
|
||||
{"name":"node_image_animated","order":2,"path":"scripts/node_image_animated/node_image_animated.yy",},
|
||||
{"name":"s_node_transform_array","order":17,"path":"sprites/s_node_transform_array/s_node_transform_array.yy",},
|
||||
|
|
|
@ -275,6 +275,7 @@
|
|||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"button","folderPath":"folders/widgets/button.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"rotator","folderPath":"folders/widgets/rotator.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"text","folderPath":"folders/widgets/text.yy",},
|
||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"PC effects","folderPath":"folders/nodes/data/PC effects.yy",},
|
||||
],
|
||||
"IncludedFiles": [
|
||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"ApolloHelp.html","ConfigValues":{"Itch":{"CopyToMask":"0",},},"CopyToMask":-1,"filePath":"datafiles",},
|
||||
|
@ -1799,6 +1800,7 @@
|
|||
{"id":{"name":"sh_pb_shade_half","path":"shaders/sh_pb_shade_half/sh_pb_shade_half.yy",},},
|
||||
{"id":{"name":"node_polar","path":"scripts/node_polar/node_polar.yy",},},
|
||||
{"id":{"name":"s_node_twirl","path":"sprites/s_node_twirl/s_node_twirl.yy",},},
|
||||
{"id":{"name":"s_node_perlin_extra","path":"sprites/s_node_perlin_extra/s_node_perlin_extra.yy",},},
|
||||
{"id":{"name":"sh_2d_light","path":"shaders/sh_2d_light/sh_2d_light.yy",},},
|
||||
{"id":{"name":"instance_variable_set","path":"scripts/instance_variable_set/instance_variable_set.yy",},},
|
||||
{"id":{"name":"node_image_animated","path":"scripts/node_image_animated/node_image_animated.yy",},},
|
||||
|
@ -1878,6 +1880,7 @@
|
|||
{"id":{"name":"_f_p0b","path":"fonts/_f_p0b/_f_p0b.yy",},},
|
||||
{"id":{"name":"s_node_armature_pose","path":"sprites/s_node_armature_pose/s_node_armature_pose.yy",},},
|
||||
{"id":{"name":"sh_fd_visualize_pressure_glsl","path":"shaders/sh_fd_visualize_pressure_glsl/sh_fd_visualize_pressure_glsl.yy",},},
|
||||
{"id":{"name":"node_pc_balls","path":"scripts/node_pc_balls/node_pc_balls.yy",},},
|
||||
{"id":{"name":"s_node_rigidSim_force","path":"sprites/s_node_rigidSim_force/s_node_rigidSim_force.yy",},},
|
||||
{"id":{"name":"fd_rectangle_set_acceleration","path":"scripts/fd_rectangle_set_acceleration/fd_rectangle_set_acceleration.yy",},},
|
||||
{"id":{"name":"s_node_vec2","path":"sprites/s_node_vec2/s_node_vec2.yy",},},
|
||||
|
|
|
@ -265,12 +265,10 @@ event_inherited();
|
|||
var name = "";
|
||||
|
||||
if(i == -1) {
|
||||
//draw_set_text(f_p0b, fa_left, fa_center, COLORS._main_text_accent);
|
||||
name = "All";
|
||||
} else {
|
||||
var cat = category[| i];
|
||||
name = cat.name;
|
||||
//draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||
|
||||
if(array_length(cat.filter)) {
|
||||
if(!array_exists(cat.filter, context)) {
|
||||
|
@ -282,9 +280,12 @@ event_inherited();
|
|||
}
|
||||
}
|
||||
|
||||
BLEND_OVERRIDE;
|
||||
var _hov = false;
|
||||
BLEND_OVERRIDE
|
||||
if(sHOVER && catagory_pane.hover && point_in_rectangle(_m[0], _m[1], 0, _y + hh, category_width - ui(32), _y + hh + hg - 1)) {
|
||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _y + hh, category_width - ui(32), hg, CDEF.main_white, 1);
|
||||
_hov = true;
|
||||
|
||||
if(i != ADD_NODE_PAGE && mouse_click(mb_left, sFOCUS)) {
|
||||
setPage(i);
|
||||
content_pane.scroll_y = 0;
|
||||
|
@ -292,13 +293,29 @@ event_inherited();
|
|||
content_pane.scroll_y_to = 0;
|
||||
}
|
||||
}
|
||||
BLEND_NORMAL;
|
||||
BLEND_NORMAL
|
||||
|
||||
if(i == ADD_NODE_PAGE) draw_set_text(f_p0b, fa_left, fa_center, COLORS._main_text_accent);
|
||||
else draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text_inner);
|
||||
|
||||
var _is_extra = name == "Extra";
|
||||
name = __txt(name);
|
||||
draw_text(ui(8), _y + hh + hg / 2, name);
|
||||
|
||||
var _tx = ui(8);
|
||||
var _ty = _y + hh + hg / 2;
|
||||
draw_text(_tx, _ty, name);
|
||||
|
||||
if(_is_extra) {
|
||||
var _cx = _tx + string_width(name) + ui(4);
|
||||
var _cy = _ty - string_height(name) / 2 + ui(6);
|
||||
|
||||
gpu_set_colorwriteenable(1, 1, 1, 0);
|
||||
draw_sprite_ext(s_patreon_supporter, 0, _cx, _cy, 1, 1, 0, _hov? COLORS._main_icon_dark : COLORS.panel_bg_clear, 1);
|
||||
gpu_set_colorwriteenable(1, 1, 1, 1);
|
||||
|
||||
draw_sprite_ext(s_patreon_supporter, 1, _cx, _cy, 1, 1, 0, i == ADD_NODE_PAGE? COLORS._main_text_accent : COLORS._main_text_inner, 1);
|
||||
}
|
||||
|
||||
hh += hg;
|
||||
}
|
||||
|
||||
|
|
|
@ -1166,7 +1166,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
|
|||
|
||||
static groupCheck = function(_x, _y, _s, _mx, _my) {}
|
||||
|
||||
static drawNodeBG = function(_x, _y, _mx, _my, _s, display_parameter = noone) {}
|
||||
static drawNodeBG = function(_x, _y, _mx, _my, _s, display_parameter = noone) { return false; }
|
||||
|
||||
static drawNode = function(_x, _y, _mx, _my, _s, display_parameter = noone) { #region
|
||||
if(draw_graph_culled) return;
|
||||
|
|
|
@ -118,7 +118,8 @@ function Node_Frame(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
|||
size_dragging_my = mouse_my;
|
||||
}
|
||||
}
|
||||
return noone;
|
||||
|
||||
return point_in_rectangle(_mx, _my, xx, yy, x1, y1);
|
||||
} #endregion
|
||||
|
||||
static pointIn = function(_x, _y, _mx, _my, _s) { #region
|
||||
|
|
97
scripts/node_pc_balls/node_pc_balls.gml
Normal file
97
scripts/node_pc_balls/node_pc_balls.gml
Normal file
|
@ -0,0 +1,97 @@
|
|||
function Node_PC_Balls(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Pixel Cloud";
|
||||
|
||||
shader = sh_pixel_cloud;
|
||||
uniform_sed = shader_get_uniform(shader, "seed");
|
||||
uniform_str = shader_get_uniform(shader, "strength");
|
||||
uniform_dis = shader_get_uniform(shader, "dist");
|
||||
|
||||
uniform_map_use = shader_get_uniform(shader, "useMap");
|
||||
uniform_map = shader_get_sampler_index(shader, "strengthMap");
|
||||
|
||||
uniform_grad_blend = shader_get_uniform(shader, "gradient_blend");
|
||||
uniform_grad = shader_get_uniform(shader, "gradient_color");
|
||||
uniform_grad_time = shader_get_uniform(shader, "gradient_time");
|
||||
uniform_grad_key = shader_get_uniform(shader, "gradient_keys");
|
||||
|
||||
uniform_alpha = shader_get_uniform(shader, "alpha_curve");
|
||||
uniform_alamo = shader_get_uniform(shader, "curve_amount");
|
||||
uniform_rnd = shader_get_uniform(shader, "randomAmount");
|
||||
|
||||
inputs[| 0] = nodeValue("Surface in", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
|
||||
inputs[| 1] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom(100000));
|
||||
|
||||
inputs[| 2] = nodeValue("Strength", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1)
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ 0, 2, 0.01] });
|
||||
|
||||
inputs[| 3] = nodeValue("Strength map", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0);
|
||||
|
||||
inputs[| 4] = nodeValue("Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.gradient, new gradientObject(c_white) );
|
||||
|
||||
inputs[| 5] = nodeValue("Distance", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1);
|
||||
|
||||
inputs[| 6] = nodeValue("Alpha over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11);
|
||||
|
||||
inputs[| 7] = nodeValue("Random blending", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.1)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
inputs[| 8] = nodeValue("Active", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||
active_index = 8;
|
||||
|
||||
input_display_list = [ 8,
|
||||
["Input", true], 0, 1,
|
||||
["Movement", false], 5, 2, 3,
|
||||
["Color", true], 4, 6, 7
|
||||
]
|
||||
|
||||
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
|
||||
|
||||
attribute_surface_depth();
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _sed = _data[1];
|
||||
var _str = _data[2];
|
||||
var _map = _data[3];
|
||||
var _gra = _data[4];
|
||||
var _dis = _data[5];
|
||||
var _alp = _data[6];
|
||||
var _rnd = _data[7];
|
||||
|
||||
var _grad = _gra.toArray();
|
||||
var _grad_color = _grad[0];
|
||||
var _grad_time = _grad[1];
|
||||
|
||||
surface_set_target(_outSurf);
|
||||
DRAW_CLEAR
|
||||
BLEND_OVERRIDE;
|
||||
|
||||
shader_set(shader);
|
||||
shader_set_uniform_f(uniform_sed, _sed);
|
||||
shader_set_uniform_f(uniform_str, _str);
|
||||
shader_set_uniform_f(uniform_dis, _dis);
|
||||
if(is_surface(_map)) {
|
||||
shader_set_uniform_i(uniform_map_use, 1);
|
||||
texture_set_stage(uniform_map, surface_get_texture(_map));
|
||||
} else {
|
||||
shader_set_uniform_i(uniform_map_use, 0);
|
||||
}
|
||||
|
||||
shader_set_uniform_i(uniform_grad_blend, _gra.type);
|
||||
shader_set_uniform_f_array_safe(uniform_grad, _grad_color);
|
||||
shader_set_uniform_f_array_safe(uniform_grad_time, _grad_time);
|
||||
shader_set_uniform_i(uniform_grad_key, array_length(_gra.keys));
|
||||
|
||||
shader_set_uniform_f_array_safe(uniform_alpha, _alp);
|
||||
shader_set_uniform_i(uniform_alamo, array_length(_alp));
|
||||
shader_set_uniform_f(uniform_rnd, _rnd);
|
||||
|
||||
draw_surface_safe(_data[0], 0, 0);
|
||||
shader_reset();
|
||||
|
||||
BLEND_NORMAL;
|
||||
surface_reset_target();
|
||||
|
||||
return _outSurf;
|
||||
}
|
||||
}
|
11
scripts/node_pc_balls/node_pc_balls.yy
Normal file
11
scripts/node_pc_balls/node_pc_balls.yy
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"resourceType": "GMScript",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_pc_balls",
|
||||
"isCompatibility": false,
|
||||
"isDnD": false,
|
||||
"parent": {
|
||||
"name": "PC effects",
|
||||
"path": "folders/nodes/data/PC effects.yy",
|
||||
},
|
||||
}
|
|
@ -40,9 +40,13 @@ function Node_Perlin_Extra(_x, _y, _group = noone) : Node_Shader_Generator(_x, _
|
|||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Absolute worley", "Fluid", "Noisy perlin", "Camo" ]);
|
||||
addShaderProp(SHADER_UNIFORM.integer, "type");
|
||||
|
||||
inputs[| 11] = nodeValue("Parameter A", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
addShaderProp(SHADER_UNIFORM.float, "param");
|
||||
|
||||
input_display_list = [
|
||||
["Output", true], 0, 5,
|
||||
["Noise", false], 10, 1, 2, 3, 4,
|
||||
["Noise", false], 10, 1, 2, 3, 4, 11,
|
||||
["Render", false], 6, 7, 8, 9,
|
||||
];
|
||||
|
||||
|
|
|
@ -46,6 +46,8 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
static patreonExtra = function() {
|
||||
INLINE
|
||||
is_patreon_extra = true;
|
||||
|
||||
ds_list_add(global.SUPPORTER_NODES, self);
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -206,6 +208,8 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
global.RECENT_NODES = file_exists(recPath)? json_load_struct(recPath) : [];
|
||||
if(!is_array(global.RECENT_NODES)) global.RECENT_NODES = [];
|
||||
|
||||
global.SUPPORTER_NODES = ds_list_create();
|
||||
|
||||
var group = ds_list_create(); #region
|
||||
addNodeCatagory("Group", group, ["Node_Group"]);
|
||||
ds_list_add(group, "Groups");
|
||||
|
@ -549,7 +553,7 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
addNodeObject(generator, "Simplex Noise", s_node_noise_simplex, "Node_Noise_Simplex", [1, Node_Noise_Simplex], ["perlin"], "Generate simplex noise, similiar to perlin noise with better fidelity but non-tilable.").setVersion(1080);
|
||||
addNodeObject(generator, "Cellular Noise", s_node_noise_cell, "Node_Cellular", [1, Node_Cellular], ["voronoi", "worley"], "Generate voronoi pattern.");
|
||||
addNodeObject(generator, "Anisotropic Noise", s_node_noise_aniso, "Node_Noise_Aniso", [1, Node_Noise_Aniso],, "Generate anisotropic noise.");
|
||||
/**/ addNodeObject(generator, "Extra Perlins", s_node_noise_aniso, "Node_Perlin_Extra", [1, Node_Perlin_Extra], ["noise"], "Random perlin noise made with different algorithms.").patreonExtra();
|
||||
addNodeObject(generator, "Extra Perlins", s_node_perlin_extra, "Node_Perlin_Extra", [1, Node_Perlin_Extra], ["noise"], "Random perlin noise made with different algorithms.").patreonExtra();
|
||||
|
||||
ds_list_add(generator, "Patterns");
|
||||
addNodeObject(generator, "Stripe", s_node_stripe, "Node_Stripe", [1, Node_Stripe],, "Generate stripe pattern.");
|
||||
|
@ -814,6 +818,8 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor { #regio
|
|||
addNodeCatagory("Custom", customs);
|
||||
__initNodeCustom(customs);
|
||||
|
||||
if(IS_PATREON) addNodeCatagory("Extra", global.SUPPORTER_NODES);
|
||||
|
||||
//var vct = ds_list_create();
|
||||
//addNodeCatagory("VCT", vct);
|
||||
// addNodeObject(vct, "Biterator", s_node_print, "Node_Biterator", [1, Node_Biterator]);
|
||||
|
|
|
@ -314,10 +314,21 @@ function Panel_Collection() : PanelContent() constructor {
|
|||
|
||||
folderPane = new scrollPane(group_w - ui(8), content_h, function(_y, _m) { #region
|
||||
draw_clear_alpha(COLORS.panel_bg_clear, 1);
|
||||
//draw_sprite_stretched(THEME.ui_panel_bg, 1, ui(8), 0, folderPane.surface_w - ui(8), folderPane.surface_h);
|
||||
var hh = ui(8);
|
||||
_y += ui(8);
|
||||
|
||||
if(pHOVER && folderPane.hover && point_in_rectangle(_m[0], _m[1], ui(32), _y - ui(2), group_w - ui(32), _y + ui(24))) {
|
||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, ui(32), _y - ui(2), group_w - ui(64), ui(24), CDEF.main_white, 1);
|
||||
if(mouse_press(mb_left, pFOCUS))
|
||||
setContext(root);
|
||||
}
|
||||
|
||||
draw_set_alpha(0.25 + (context == root) * 0.5);
|
||||
draw_set_text(f_p2, fa_center, fa_top, context == root? COLORS._main_text_accent : COLORS._main_text_inner);
|
||||
draw_text(group_w / 2, _y, __txt("uncategorized"));
|
||||
draw_set_alpha(1);
|
||||
_y += ui(24);
|
||||
|
||||
for(var i = 0; i < ds_list_size(root.subDir); i++) {
|
||||
var hg = root.subDir[| i].draw(self, ui(8 + in_dialog * 8), _y, _m, folderPane.w - ui(20), pHOVER && folderPane.hover, pFOCUS, root);
|
||||
hh += hg;
|
||||
|
|
|
@ -73,6 +73,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
selection_block = 0;
|
||||
nodes_selecting = [];
|
||||
nodes_select_drag = 0;
|
||||
nodes_select_frame = 0;
|
||||
nodes_select_mx = 0;
|
||||
nodes_select_my = 0;
|
||||
|
||||
|
@ -724,6 +725,8 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
var log = false;
|
||||
var t = current_time;
|
||||
|
||||
var frame_hovering = noone;
|
||||
|
||||
for(var i = 0; i < ds_list_size(nodes_list); i++) {
|
||||
nodes_list[| i].cullCheck(gr_x, gr_y, graph_s, -32, -32, w + 32, h + 64);
|
||||
nodes_list[| i].preDraw(gr_x, gr_y, graph_s, gr_x, gr_y);
|
||||
|
@ -731,8 +734,10 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
printIf(log, "Predraw time: " + string(current_time - t)); t = current_time;
|
||||
|
||||
#region draw frame
|
||||
for(var i = 0; i < ds_list_size(nodes_list); i++)
|
||||
nodes_list[| i].drawNodeBG(gr_x, gr_y, mx, my, graph_s, display_parameter);
|
||||
for(var i = 0; i < ds_list_size(nodes_list); i++) {
|
||||
if(nodes_list[| i].drawNodeBG(gr_x, gr_y, mx, my, graph_s, display_parameter))
|
||||
frame_hovering = nodes_list[| i];
|
||||
}
|
||||
#endregion
|
||||
printIf(log, "Frame draw time: " + string(current_time - t)); t = current_time;
|
||||
|
||||
|
@ -1064,7 +1069,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
|
||||
for(var i = 0; i < ds_list_size(nodes_list); i++) {
|
||||
var _node = nodes_list[| i];
|
||||
if(is_instanceof(_node, Node_Frame)) continue;
|
||||
if(is_instanceof(_node, Node_Frame) && !nodes_select_frame) continue;
|
||||
var _x = (_node.x + graph_x) * graph_s;
|
||||
var _y = (_node.y + graph_y) * graph_s;
|
||||
var _w = _node.w * graph_s;
|
||||
|
@ -1106,6 +1111,8 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
|
|||
nodes_junction_dy = junction_hovering.draw_line_shift_y;
|
||||
} else if(array_empty(nodes_selecting) && !value_focus && !drag_locking) {
|
||||
nodes_select_drag = 1;
|
||||
nodes_select_frame = frame_hovering == noone;
|
||||
|
||||
nodes_select_mx = mx;
|
||||
nodes_select_my = my;
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ uniform vec2 u_resolution;
|
|||
uniform vec2 scale;
|
||||
uniform int iteration;
|
||||
uniform float seed;
|
||||
uniform float param;
|
||||
uniform int tile;
|
||||
|
||||
uniform int colored;
|
||||
|
@ -88,7 +89,7 @@ float perlin(in vec2 st) { #region
|
|||
if(type == 3) {
|
||||
m += _n * amp;
|
||||
if(mod(i, 3.) == 2.) {
|
||||
n += smoothstep(0.4, 0.6, m) * amp;
|
||||
n += smoothstep(0.5 - param, 0.5 + param, m) * amp;
|
||||
m = 0.;
|
||||
|
||||
sc /= 1.5;
|
||||
|
@ -111,12 +112,12 @@ float perlin(in vec2 st) { #region
|
|||
} else if(type == 1) {
|
||||
sc *= 2.;
|
||||
amp *= .5;
|
||||
pos *= 1. + _n;
|
||||
pos *= 1. + _n + param;
|
||||
} else if(type == 2) {
|
||||
sc *= 2.;
|
||||
amp *= .5;
|
||||
pos += random2(vec2(n), seed) / sc;
|
||||
pos *= 2.;
|
||||
pos *= (2. + param);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 4.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.5 KiB |
74
sprites/s_node_perlin_extra/s_node_perlin_extra.yy
Normal file
74
sprites/s_node_perlin_extra/s_node_perlin_extra.yy
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"resourceType": "GMSprite",
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_node_perlin_extra",
|
||||
"bbox_bottom": 63,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 63,
|
||||
"bbox_top": 0,
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 1,
|
||||
"collisionTolerance": 0,
|
||||
"DynamicTexturePage": false,
|
||||
"edgeFiltering": false,
|
||||
"For3D": false,
|
||||
"frames": [
|
||||
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"5ae9f0ed-a137-4815-82ce-948069e175e0",},
|
||||
],
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"height": 64,
|
||||
"HTile": false,
|
||||
"layers": [
|
||||
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"13a61b1b-f8ef-4199-a2cb-e3a78caa9d2a","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"origin": 4,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/icons/generator.yy",
|
||||
},
|
||||
"preMultiplyAlpha": false,
|
||||
"sequence": {
|
||||
"resourceType": "GMSequence",
|
||||
"resourceVersion": "1.4",
|
||||
"name": "s_node_perlin_extra",
|
||||
"autoRecord": true,
|
||||
"backdropHeight": 768,
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropImagePath": "",
|
||||
"backdropWidth": 1366,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"eventStubScript": null,
|
||||
"eventToFunction": {},
|
||||
"length": 1.0,
|
||||
"lockOrigin": false,
|
||||
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"timeUnits": 1,
|
||||
"tracks": [
|
||||
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
|
||||
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"5ae9f0ed-a137-4815-82ce-948069e175e0","path":"sprites/s_node_perlin_extra/s_node_perlin_extra.yy",},},},"Disabled":false,"id":"f209861b-34aa-4a7b-8f3f-e4d4990f027e","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
|
||||
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"volume": 1.0,
|
||||
"xorigin": 32,
|
||||
"yorigin": 32,
|
||||
},
|
||||
"swatchColours": null,
|
||||
"swfPrecision": 2.525,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"type": 0,
|
||||
"VTile": false,
|
||||
"width": 64,
|
||||
}
|
Loading…
Reference in a new issue