wavetable node
|
@ -33,6 +33,7 @@
|
|||
{"name":"d3d_modifier","order":6,"path":"folders/nodes/data/3D/d3d_modifier.yy",},
|
||||
{"name":"d3d_particle","order":7,"path":"folders/nodes/data/3D/d3d_particle.yy",},
|
||||
{"name":"animation","order":13,"path":"folders/nodes/data/animation.yy",},
|
||||
{"name":"value","order":7,"path":"folders/nodes/data/animation/value.yy",},
|
||||
{"name":"canvas","order":30,"path":"folders/nodes/data/canvas.yy",},
|
||||
{"name":"actions","order":8,"path":"folders/nodes/data/canvas/actions.yy",},
|
||||
{"name":"shader","order":9,"path":"folders/nodes/data/canvas/shader.yy",},
|
||||
|
@ -159,7 +160,8 @@
|
|||
{"name":"Flag","order":3,"path":"folders/shader/MK effects/Flag.yy",},
|
||||
{"name":"Tile","order":4,"path":"folders/shader/MK effects/Tile.yy",},
|
||||
{"name":"ray march","order":1,"path":"folders/shader/ray march.yy",},
|
||||
{"name":"histogram","order":4,"path":"folders/shader/UI/histogram.yy",},
|
||||
{"name":"histogram","order":3,"path":"folders/shader/UI/histogram.yy",},
|
||||
{"name":"node","order":5,"path":"folders/shader/UI/node.yy",},
|
||||
{"name":"palette mixer","order":2,"path":"folders/shader/UI/palette mixer.yy",},
|
||||
],
|
||||
"ResourceOrderSettings":[
|
||||
|
@ -1072,6 +1074,7 @@
|
|||
{"name":"node_warp","order":2,"path":"scripts/node_warp/node_warp.yy",},
|
||||
{"name":"node_wav_file_read","order":15,"path":"scripts/node_wav_file_read/node_wav_file_read.yy",},
|
||||
{"name":"node_wav_file_write","order":16,"path":"scripts/node_wav_file_write/node_wav_file_write.yy",},
|
||||
{"name":"node_wave_table","order":6,"path":"scripts/node_wave_table/node_wave_table.yy",},
|
||||
{"name":"node_wavelet_noise","order":13,"path":"scripts/node_wavelet_noise/node_wavelet_noise.yy",},
|
||||
{"name":"node_websocket_sender","order":1,"path":"scripts/node_websocket_sender/node_websocket_sender.yy",},
|
||||
{"name":"node_widget_test","order":16,"path":"scripts/node_widget_test/node_widget_test.yy",},
|
||||
|
@ -1504,6 +1507,7 @@
|
|||
{"name":"sh_trail_filler_pass2","order":28,"path":"shaders/sh_trail_filler_pass2/sh_trail_filler_pass2.yy",},
|
||||
{"name":"sh_trail_filler","order":27,"path":"shaders/sh_trail_filler/sh_trail_filler.yy",},
|
||||
{"name":"sh_twirl","order":3,"path":"shaders/sh_twirl/sh_twirl.yy",},
|
||||
{"name":"sh_ui_shape_circle","order":4,"path":"shaders/sh_ui_shape_circle/sh_ui_shape_circle.yy",},
|
||||
{"name":"sh_ui_slider","order":1,"path":"shaders/sh_ui_slider/sh_ui_slider.yy",},
|
||||
{"name":"sh_vertex_depth_pass","order":2,"path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},
|
||||
{"name":"sh_vertex_normal_pass","order":3,"path":"shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy",},
|
||||
|
@ -1674,6 +1678,7 @@
|
|||
{"name":"s_node_dot_product","order":3,"path":"sprites/s_node_dot_product/s_node_dot_product.yy",},
|
||||
{"name":"s_node_draw_atlas","order":2,"path":"sprites/s_node_draw_atlas/s_node_draw_atlas.yy",},
|
||||
{"name":"s_node_draw_stack","order":4,"path":"sprites/s_node_draw_stack/s_node_draw_stack.yy",},
|
||||
{"name":"s_node_ease","order":10,"path":"sprites/s_node_ease/s_node_ease.yy",},
|
||||
{"name":"s_node_edge_detect","order":20,"path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},
|
||||
{"name":"s_node_equation","order":4,"path":"sprites/s_node_equation/s_node_equation.yy",},
|
||||
{"name":"s_node_erode","order":21,"path":"sprites/s_node_erode/s_node_erode.yy",},
|
||||
|
@ -1703,6 +1708,7 @@
|
|||
{"name":"s_node_fluidSim_wall","order":12,"path":"sprites/s_node_fluidSim_wall/s_node_fluidSim_wall.yy",},
|
||||
{"name":"s_node_fold_noise","order":43,"path":"sprites/s_node_fold_noise/s_node_fold_noise.yy",},
|
||||
{"name":"s_node_frame","order":1,"path":"sprites/s_node_frame/s_node_frame.yy",},
|
||||
{"name":"s_node_fx_smoothstep","order":9,"path":"sprites/s_node_fx_smoothstep/s_node_fx_smoothstep.yy",},
|
||||
{"name":"s_node_FXAA","order":22,"path":"sprites/s_node_FXAA/s_node_FXAA.yy",},
|
||||
{"name":"s_node_gabor","order":32,"path":"sprites/s_node_gabor/s_node_gabor.yy",},
|
||||
{"name":"s_node_gamma_map","order":23,"path":"sprites/s_node_gamma_map/s_node_gamma_map.yy",},
|
||||
|
@ -2017,6 +2023,7 @@
|
|||
{"name":"s_node_warp","order":9,"path":"sprites/s_node_warp/s_node_warp.yy",},
|
||||
{"name":"s_node_wav_file_read","order":16,"path":"sprites/s_node_wav_file_read/s_node_wav_file_read.yy",},
|
||||
{"name":"s_node_wav_file_write","order":29,"path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},
|
||||
{"name":"s_node_wave","order":8,"path":"sprites/s_node_wave/s_node_wave.yy",},
|
||||
{"name":"s_node_wavelet","order":34,"path":"sprites/s_node_wavelet/s_node_wavelet.yy",},
|
||||
{"name":"s_node_websocket_receive","order":19,"path":"sprites/s_node_websocket_receive/s_node_websocket_receive.yy",},
|
||||
{"name":"s_node_websocket_send","order":21,"path":"sprites/s_node_websocket_send/s_node_websocket_send.yy",},
|
||||
|
|
|
@ -129,6 +129,7 @@
|
|||
{"$GMFolder":"","%Name":"d3d_modifier","folderPath":"folders/nodes/data/3D/d3d_modifier.yy","name":"d3d_modifier","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"d3d_particle","folderPath":"folders/nodes/data/3D/d3d_particle.yy","name":"d3d_particle","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"animation","folderPath":"folders/nodes/data/animation.yy","name":"animation","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"value","folderPath":"folders/nodes/data/animation/value.yy","name":"value","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"canvas","folderPath":"folders/nodes/data/canvas.yy","name":"canvas","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"actions","folderPath":"folders/nodes/data/canvas/actions.yy","name":"actions","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"shader","folderPath":"folders/nodes/data/canvas/shader.yy","name":"shader","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
|
@ -298,6 +299,7 @@
|
|||
{"$GMFolder":"","%Name":"transition","folderPath":"folders/shader/transition.yy","name":"transition","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"UI","folderPath":"folders/shader/UI.yy","name":"UI","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"histogram","folderPath":"folders/shader/UI/histogram.yy","name":"histogram","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"node","folderPath":"folders/shader/UI/node.yy","name":"node","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"palette mixer","folderPath":"folders/shader/UI/palette mixer.yy","name":"palette mixer","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"sprites","folderPath":"folders/sprites.yy","name":"sprites","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"bs","folderPath":"folders/sprites/bs.yy","name":"bs","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
|
@ -312,7 +314,6 @@
|
|||
{"$GMFolder":"","%Name":"widget","folderPath":"folders/VCT/widget.yy","name":"widget","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"widgets","folderPath":"folders/widgets.yy","name":"widgets","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"button","folderPath":"folders/widgets/button.yy","name":"button","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"node","folderPath":"folders/widgets/node.yy","name":"node","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"rotator","folderPath":"folders/widgets/rotator.yy","name":"rotator","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"sliders","folderPath":"folders/widgets/sliders.yy","name":"sliders","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"text","folderPath":"folders/widgets/text.yy","name":"text","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
|
@ -1530,6 +1531,7 @@
|
|||
{"id":{"name":"node_warp","path":"scripts/node_warp/node_warp.yy",},},
|
||||
{"id":{"name":"node_wav_file_read","path":"scripts/node_wav_file_read/node_wav_file_read.yy",},},
|
||||
{"id":{"name":"node_wav_file_write","path":"scripts/node_wav_file_write/node_wav_file_write.yy",},},
|
||||
{"id":{"name":"node_wave_table","path":"scripts/node_wave_table/node_wave_table.yy",},},
|
||||
{"id":{"name":"node_wavelet_noise","path":"scripts/node_wavelet_noise/node_wavelet_noise.yy",},},
|
||||
{"id":{"name":"node_websocket_receiver","path":"scripts/node_websocket_receiver/node_websocket_receiver.yy",},},
|
||||
{"id":{"name":"node_websocket_sender","path":"scripts/node_websocket_sender/node_websocket_sender.yy",},},
|
||||
|
@ -2044,6 +2046,7 @@
|
|||
{"id":{"name":"sh_trans_node_prev_drop","path":"shaders/sh_trans_node_prev_drop/sh_trans_node_prev_drop.yy",},},
|
||||
{"id":{"name":"sh_twirl","path":"shaders/sh_twirl/sh_twirl.yy",},},
|
||||
{"id":{"name":"sh_ui_rotator","path":"shaders/sh_ui_rotator/sh_ui_rotator.yy",},},
|
||||
{"id":{"name":"sh_ui_shape_circle","path":"shaders/sh_ui_shape_circle/sh_ui_shape_circle.yy",},},
|
||||
{"id":{"name":"sh_ui_slider","path":"shaders/sh_ui_slider/sh_ui_slider.yy",},},
|
||||
{"id":{"name":"sh_vector_diverge","path":"shaders/sh_vector_diverge/sh_vector_diverge.yy",},},
|
||||
{"id":{"name":"sh_vertex_depth_pass","path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},},
|
||||
|
@ -2239,6 +2242,7 @@
|
|||
{"id":{"name":"s_node_draw_atlas","path":"sprites/s_node_draw_atlas/s_node_draw_atlas.yy",},},
|
||||
{"id":{"name":"s_node_draw_stack","path":"sprites/s_node_draw_stack/s_node_draw_stack.yy",},},
|
||||
{"id":{"name":"s_node_dynasurf","path":"sprites/s_node_dynasurf/s_node_dynasurf.yy",},},
|
||||
{"id":{"name":"s_node_ease","path":"sprites/s_node_ease/s_node_ease.yy",},},
|
||||
{"id":{"name":"s_node_edge_detect","path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},},
|
||||
{"id":{"name":"s_node_equation","path":"sprites/s_node_equation/s_node_equation.yy",},},
|
||||
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},},
|
||||
|
@ -2271,6 +2275,7 @@
|
|||
{"id":{"name":"s_node_fluidSim_wall","path":"sprites/s_node_fluidSim_wall/s_node_fluidSim_wall.yy",},},
|
||||
{"id":{"name":"s_node_fold_noise","path":"sprites/s_node_fold_noise/s_node_fold_noise.yy",},},
|
||||
{"id":{"name":"s_node_frame","path":"sprites/s_node_frame/s_node_frame.yy",},},
|
||||
{"id":{"name":"s_node_fx_smoothstep","path":"sprites/s_node_fx_smoothstep/s_node_fx_smoothstep.yy",},},
|
||||
{"id":{"name":"s_node_FXAA","path":"sprites/s_node_FXAA/s_node_FXAA.yy",},},
|
||||
{"id":{"name":"s_node_gabor","path":"sprites/s_node_gabor/s_node_gabor.yy",},},
|
||||
{"id":{"name":"s_node_gamma_map","path":"sprites/s_node_gamma_map/s_node_gamma_map.yy",},},
|
||||
|
@ -2595,6 +2600,7 @@
|
|||
{"id":{"name":"s_node_warp","path":"sprites/s_node_warp/s_node_warp.yy",},},
|
||||
{"id":{"name":"s_node_wav_file_read","path":"sprites/s_node_wav_file_read/s_node_wav_file_read.yy",},},
|
||||
{"id":{"name":"s_node_wav_file_write","path":"sprites/s_node_wav_file_write/s_node_wav_file_write.yy",},},
|
||||
{"id":{"name":"s_node_wave","path":"sprites/s_node_wave/s_node_wave.yy",},},
|
||||
{"id":{"name":"s_node_wavelet","path":"sprites/s_node_wavelet/s_node_wavelet.yy",},},
|
||||
{"id":{"name":"s_node_websocket_receive","path":"sprites/s_node_websocket_receive/s_node_websocket_receive.yy",},},
|
||||
{"id":{"name":"s_node_websocket_send","path":"sprites/s_node_websocket_send/s_node_websocket_send.yy",},},
|
||||
|
|
|
@ -241,6 +241,11 @@ function drawPaletteGrid(_pal, _x, _y, _w, _gs = 24, params = {}) { #region
|
|||
var _hov = noone;
|
||||
var _hcc = noone;
|
||||
|
||||
var hvx = 0;
|
||||
var hvy = 0;
|
||||
var hvw = 0;
|
||||
var hvh = 0;
|
||||
|
||||
for(var i = 0; i < amo; i++) {
|
||||
var _cc = safe_mod(i, col);
|
||||
var _rr = floor(i / col);
|
||||
|
@ -256,7 +261,7 @@ function drawPaletteGrid(_pal, _x, _y, _w, _gs = 24, params = {}) { #region
|
|||
else if(i == amo - 1) _i = 3;
|
||||
} else {
|
||||
if(i == 0) _i = 6;
|
||||
else if(_cc == col - 1 && i + col > amo) {
|
||||
else if(_cc == col - 1 && i + col >= amo) {
|
||||
if(_rr == 0) _i = 3;
|
||||
else _i = 9;
|
||||
}
|
||||
|
@ -267,10 +272,15 @@ function drawPaletteGrid(_pal, _x, _y, _w, _gs = 24, params = {}) { #region
|
|||
}
|
||||
}
|
||||
|
||||
draw_sprite_stretched_ext(THEME.palette_mask, _i, _x0, _y0 + 1, _cc == col - 1? _gw : ceil(_gw), _gs, _pal[i], 1);
|
||||
draw_sprite_stretched_ext(THEME.palette_mask, _i, _x0, _y0, _cc == col - 1? _gw : ceil(_gw), _gs, _pal[i], 1);
|
||||
if(point_in_rectangle(_mx, _my, _x0, _y0, _x0 + _gw, _y0 + _gs)) {
|
||||
_hov = i;
|
||||
_hcc = _pal[i];
|
||||
|
||||
hvx = _x0;
|
||||
hvy = _y0;
|
||||
hvw = _gw;
|
||||
hvh = _gs;
|
||||
}
|
||||
|
||||
var _same = (c_color & 0x00FFFFFF) == (_pal[i] & 0x00FFFFFF);
|
||||
|
@ -282,12 +292,13 @@ function drawPaletteGrid(_pal, _x, _y, _w, _gs = 24, params = {}) { #region
|
|||
|
||||
if(cx != -1) {
|
||||
var _pd = ui(5);
|
||||
draw_sprite_stretched_ext(THEME.palette_selecting, 0, cx - _pd, cy + 1 - _pd, _gw + _pd * 2, _gs + _pd * 2);
|
||||
draw_sprite_stretched_ext(THEME.palette_selecting, 0, cx - _pd, cy - _pd, _gw + _pd * 2, _gs + _pd * 2);
|
||||
}
|
||||
|
||||
return {
|
||||
height: _h,
|
||||
hoverIndex: _hov,
|
||||
hoverColor: _hcc,
|
||||
hoverBBOX: [ hvx, hvy, hvw, hvh ],
|
||||
};
|
||||
} #endregion
|
|
@ -294,7 +294,7 @@ function __initNodes() {
|
|||
var fav = ds_list_create();
|
||||
NODE_ADD_CAT("Favourites", fav);
|
||||
|
||||
var group = ds_list_create(); #region
|
||||
var group = ds_list_create(); #region //group
|
||||
NODE_ADD_CAT("Group", group, ["Node_Group"], COLORS.node_blend_collection);
|
||||
ds_list_add(group, "Groups");
|
||||
addNodeObject(group, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent();
|
||||
|
@ -302,7 +302,7 @@ function __initNodes() {
|
|||
addNodeObject(group, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var iter = ds_list_create(); #region
|
||||
var iter = ds_list_create(); #region //for
|
||||
NODE_ADD_CAT("Loop", iter, ["Node_Iterate"], COLORS.node_blend_loop);
|
||||
ds_list_add(iter, "Groups");
|
||||
addNodeObject(iter, "Loop Input", s_node_loop_input, "Node_Iterator_Input", [1, Node_Iterator_Input]).hideRecent();
|
||||
|
@ -316,14 +316,14 @@ function __initNodes() {
|
|||
addNodeObject(iter, "Loop amount", s_node_iterator_amount, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var iter_il = ds_list_create(); #region
|
||||
var iter_il = ds_list_create(); #region //for inline
|
||||
NODE_ADD_CAT("Loop", iter_il, ["Node_Iterate_Inline"], COLORS.node_blend_loop);
|
||||
ds_list_add(iter_il, "Loops");
|
||||
addNodeObject(iter_il, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent();
|
||||
addNodeObject(iter_il, "Loop amount", s_node_iterator_amount, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var itere = ds_list_create(); #region
|
||||
var itere = ds_list_create(); #region //for each
|
||||
NODE_ADD_CAT("Loop", itere, ["Node_Iterate_Each"], COLORS.node_blend_loop);
|
||||
ds_list_add(itere, "Groups");
|
||||
addNodeObject(itere, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent();
|
||||
|
@ -335,14 +335,14 @@ function __initNodes() {
|
|||
addNodeObject(itere, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var itere_il = ds_list_create(); #region
|
||||
var itere_il = ds_list_create(); #region //for each inline
|
||||
NODE_ADD_CAT("Loop", itere_il, ["Node_Iterate_Each_Inline"], COLORS.node_blend_loop);
|
||||
ds_list_add(itere_il, "Loops");
|
||||
addNodeObject(itere_il, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent();
|
||||
addNodeObject(itere_il, "Array Length", s_node_iterator_length, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var filter = ds_list_create(); #region
|
||||
var filter = ds_list_create(); #region //filter
|
||||
NODE_ADD_CAT("Filter", filter, ["Node_Iterate_Filter"], COLORS.node_blend_loop);
|
||||
ds_list_add(filter, "Groups");
|
||||
addNodeObject(filter, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent();
|
||||
|
@ -354,14 +354,14 @@ function __initNodes() {
|
|||
addNodeObject(filter, "Array Length", s_node_iterator_length, "Node_Iterator_Each_Length", [1, Node_Iterator_Each_Length]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var filter_il = ds_list_create(); #region
|
||||
var filter_il = ds_list_create(); #region //filter inline
|
||||
NODE_ADD_CAT("Filter", filter_il, ["Node_Iterate_Filter_Inline"], COLORS.node_blend_loop);
|
||||
ds_list_add(filter_il, "Loops");
|
||||
addNodeObject(filter_il, "Index", s_node_iterator_index, "Node_Iterator_Index", [1, Node_Iterator_Index]).hideRecent();
|
||||
addNodeObject(filter_il, "Array Length", s_node_iterator_length, "Node_Iterator_Length", [1, Node_Iterator_Length]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var feed = ds_list_create(); #region
|
||||
var feed = ds_list_create(); #region //feedback
|
||||
NODE_ADD_CAT("Feedback", feed, ["Node_Feedback"], COLORS.node_blend_feedback);
|
||||
ds_list_add(feed, "Groups");
|
||||
addNodeObject(feed, "Input", s_node_feedback_input, "Node_Feedback_Input", [1, Node_Feedback_Input]).hideRecent();
|
||||
|
@ -369,7 +369,7 @@ function __initNodes() {
|
|||
addNodeObject(feed, "Thumbnail", s_node_group_thumbnail, "Node_Group_Thumbnail", [1, Node_Group_Thumbnail]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var vfx = ds_list_create(); #region
|
||||
var vfx = ds_list_create(); #region //vfx
|
||||
NODE_ADD_CAT("VFX", vfx, ["Node_VFX_Group", "Node_VFX_Group_Inline"], COLORS.node_blend_vfx);
|
||||
ds_list_add(vfx, "Groups");
|
||||
addNodeObject(vfx, "Input", s_node_vfx_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent().hideGlobal();
|
||||
|
@ -399,7 +399,7 @@ function __initNodes() {
|
|||
addNodeObject(vfx, "VFX Override", s_node_vfx_override, "Node_VFX_Override", [1, Node_VFX_Override],, "Replace particle variable with a new one.").hideRecent().setVersion(1120);
|
||||
#endregion
|
||||
|
||||
var rigidSim = ds_list_create(); #region
|
||||
var rigidSim = ds_list_create(); #region //rigidSim
|
||||
NODE_ADD_CAT("RigidSim", rigidSim, ["Node_Rigid_Group", "Node_Rigid_Group_Inline"], COLORS.node_blend_simulation);
|
||||
ds_list_add(rigidSim, "Group");
|
||||
addNodeObject(rigidSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent().hideGlobal();
|
||||
|
@ -420,7 +420,7 @@ function __initNodes() {
|
|||
addNodeObject(rigidSim, "Rigidbody Override", s_node_rigid_override, "Node_Rigid_Override", [1, Node_Rigid_Override],, "Replace rigidbody object variable with a new one.").hideRecent().setVersion(1120);
|
||||
#endregion
|
||||
|
||||
var smokeSim = ds_list_create(); #region
|
||||
var smokeSim = ds_list_create(); #region //smokeSim
|
||||
NODE_ADD_CAT("SmokeSim", smokeSim, ["Node_Smoke_Group", "Node_Smoke_Group_Inline"], COLORS.node_blend_smoke);
|
||||
ds_list_add(smokeSim, "Group");
|
||||
addNodeObject(smokeSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent().hideGlobal();
|
||||
|
@ -442,7 +442,7 @@ function __initNodes() {
|
|||
addNodeObject(smokeSim, "Turbulence", s_node_smokeSim_turbulence, "Node_Smoke_Turbulence", [1, Node_Smoke_Turbulence],, "Apply random velocity map to the smoke.").hideRecent().setVersion(1120);
|
||||
#endregion
|
||||
|
||||
var flipSim = ds_list_create(); #region
|
||||
var flipSim = ds_list_create(); #region //flipSim
|
||||
NODE_ADD_CAT("FLIP Fluid", flipSim, ["Node_FLIP_Group_Inline"], COLORS.node_blend_fluid);
|
||||
ds_list_add(flipSim, "Domain");
|
||||
addNodeObject(flipSim, "Domain", s_node_fluidSim_domain, "Node_FLIP_Domain", [1, Node_FLIP_Domain]).hideRecent().setVersion(11620);
|
||||
|
@ -464,7 +464,7 @@ function __initNodes() {
|
|||
addNodeObject(flipSim, "FLIP to VFX", s_node_fluidSim_to_VFX, "Node_FLIP_to_VFX", [1, Node_FLIP_to_VFX]).hideRecent().setVersion(11680);
|
||||
#endregion
|
||||
|
||||
var strandSim = ds_list_create(); #region
|
||||
var strandSim = ds_list_create(); #region //strandSim
|
||||
NODE_ADD_CAT("StrandSim", strandSim, ["Node_Strand_Group", "Node_Strand_Group_Inline"], COLORS.node_blend_strand);
|
||||
ds_list_add(strandSim, "Group");
|
||||
addNodeObject(strandSim, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent().hideGlobal();
|
||||
|
@ -486,7 +486,7 @@ function __initNodes() {
|
|||
|
||||
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
|
||||
|
||||
var input = ds_list_create(); #region
|
||||
var input = ds_list_create(); #region //input
|
||||
addNodeCatagory("IO", input);
|
||||
ds_list_add(input, "Images");
|
||||
addNodeObject(input, "Canvas", s_node_canvas, "Node_Canvas", [1, Node_Canvas], ["draw"], "Draw on surface using brush, eraser, etc.");
|
||||
|
@ -521,7 +521,7 @@ function __initNodes() {
|
|||
addNodeObject(input, "MIDI In", s_node_midi, "Node_MIDI_In", [1, Node_MIDI_In],, "Receive MIDI message.").setVersion(11630);
|
||||
#endregion
|
||||
|
||||
var transform = ds_list_create(); #region
|
||||
var transform = ds_list_create(); #region //transform
|
||||
addNodeCatagory("Transform", transform);
|
||||
ds_list_add(transform, "Transformations");
|
||||
addNodeObject(transform, "Transform", s_node_transform, "Node_Transform", [1, Node_Transform], ["move", "rotate", "scale"], "Move, rotate, and scale image.");
|
||||
|
@ -547,7 +547,7 @@ function __initNodes() {
|
|||
addNodeObject(transform, "Tile Random", s_node_padding, "Node_Tile_Random", [1, Node_Tile_Random]);
|
||||
#endregion
|
||||
|
||||
var filter = ds_list_create(); #region
|
||||
var filter = ds_list_create(); #region //filter
|
||||
addNodeCatagory("Filter", filter);
|
||||
//ds_list_add(filter, "Seasonal");
|
||||
//addNodeObject(filter, "Lovify", s_node_lovify, "Node_Lovify", [1, Node_Lovify],, "Add love to your image.").setIcon(s_lovify_icon);
|
||||
|
@ -639,7 +639,7 @@ function __initNodes() {
|
|||
addNodeObject(filter, "De-Stray", s_node_destray, "Node_De_Stray", [1, Node_De_Stray], ["destray"], "Attempt to remove orphan pixel.");
|
||||
#endregion
|
||||
|
||||
var d3d = ds_list_create(); #region
|
||||
var d3d = ds_list_create(); #region //d3d
|
||||
addNodeCatagory("3D", d3d);
|
||||
ds_list_add(d3d, "2D Operations");
|
||||
addNodeObject(d3d, "Normal", s_node_normal, "Node_Normal", [1, Node_Normal],, "Create normal map using greyscale value as height.");
|
||||
|
@ -683,7 +683,7 @@ function __initNodes() {
|
|||
addNodeObject(d3d, "Point Affector", s_node_3d_point_affector, "Node_3D_Point_Affector", [1, Node_3D_Point_Affector],, "Generate array of 3D points interpolating between two values based on the distance.").setVersion(11570);
|
||||
#endregion
|
||||
|
||||
var generator = ds_list_create(); #region
|
||||
var generator = ds_list_create(); #region //generator
|
||||
addNodeCatagory("Generate", generator);
|
||||
ds_list_add(generator, "Colors");
|
||||
addNodeObject(generator, "Solid", s_node_solid, "Node_Solid", [1, Node_Solid],, "Create image of a single color.");
|
||||
|
@ -769,7 +769,7 @@ function __initNodes() {
|
|||
//addNodeObject(generator, "MK Sparkle", s_node_mk_sparkle, "Node_MK_Sparkle", [1, Node_MK_Sparkle]).patreonExtra();
|
||||
#endregion
|
||||
|
||||
var compose = ds_list_create(); #region
|
||||
var compose = ds_list_create(); #region //compose
|
||||
addNodeCatagory("Compose", compose);
|
||||
ds_list_add(compose, "Composes");
|
||||
addNodeObject(compose, "Blend", s_node_blend, "Node_Blend", [1, Node_Blend],, "Combine 2 images using different blend modes.");
|
||||
|
@ -793,7 +793,7 @@ function __initNodes() {
|
|||
}
|
||||
#endregion
|
||||
|
||||
var values = ds_list_create(); #region
|
||||
var values = ds_list_create(); #region //values
|
||||
addNodeCatagory("Values", values);
|
||||
ds_list_add(values, "Raw data");
|
||||
addNodeObject(values, "Number", s_node_number, "Node_Number", [1, Node_Number]);
|
||||
|
@ -918,7 +918,7 @@ function __initNodes() {
|
|||
addNodeObject(values, "Buffer from Surface", s_node_surface_to_buffer, "Node_Surface_To_Buffer", [1, Node_Surface_To_Buffer], ["surface to buffer"], "Create buffer from surface.").setVersion(1146);
|
||||
#endregion
|
||||
|
||||
var color = ds_list_create(); #region
|
||||
var color = ds_list_create(); #region //color
|
||||
addNodeCatagory("Color", color);
|
||||
ds_list_add(color, "Colors");
|
||||
addNodeObject(color, "Color", s_node_color_out, "Node_Color", [1, Node_Color],, "Create color value.");
|
||||
|
@ -943,15 +943,18 @@ function __initNodes() {
|
|||
addNodeObject(color, "Gradient Data", s_node_gradient_data, "Node_Gradient_Extract", [1, Node_Gradient_Extract],, "Get palatte and array of key positions from gradient.").setVersion(1135);
|
||||
#endregion
|
||||
|
||||
var animation = ds_list_create(); #region
|
||||
var animation = ds_list_create(); #region //animation
|
||||
addNodeCatagory("Animation", animation);
|
||||
ds_list_add(animation, "Animations");
|
||||
addNodeObject(animation, "Frame Index", s_node_counter, "Node_Counter", [1, Node_Counter], ["current frame", "counter"], "Output current frame as frame index, or animation progress (0 - 1).");
|
||||
addNodeObject(animation, "Wiggler", s_node_wiggler, "Node_Wiggler", [1, Node_Wiggler],, "Create smooth random value.");
|
||||
addNodeObject(animation, "Evaluate Curve", s_node_curve_eval, "Node_Anim_Curve", [1, Node_Anim_Curve],, "Evaluate value from an animation curve.");
|
||||
addNodeObject(animation, "Rate Remap", s_node_rate_remap, "Node_Rate_Remap", [1, Node_Rate_Remap],, "Remap animation to a new framerate.").setVersion(1147);
|
||||
addNodeObject(animation, "Delay", s_node_delay, "Node_Delay", [1, Node_Delay]).setVersion(11640);
|
||||
addNodeObject(animation, "Stagger", s_node_stagger, "Node_Stagger", [1, Node_Stagger]).setVersion(11640);
|
||||
|
||||
ds_list_add(animation, "Value");
|
||||
addNodeObject(animation, "Wave Table", s_node_wave, "Node_Wave_Table", [1, Node_Wave_Table],, "Create value changing overtime in wave pattern.");
|
||||
addNodeObject(animation, "Wiggler", s_node_wiggler, "Node_Wiggler", [1, Node_Wiggler],, "Create random value smoothly changing over time.");
|
||||
|
||||
ds_list_add(animation, "Audio");
|
||||
addNodeObject(animation, "WAV File In", s_node_wav_file_read, "Node_WAV_File_Read", [0, Node_create_WAV_File_Read],, "Load wav audio file.").setVersion(1144);
|
||||
|
@ -962,7 +965,7 @@ function __initNodes() {
|
|||
addNodeObject(animation, "Audio Volume", s_node_audio_volume, "Node_Audio_Loudness", [1, Node_Audio_Loudness],, "Calculate volume of an audio bit array.").setVersion(11540);
|
||||
#endregion
|
||||
|
||||
var node = ds_list_create(); #region
|
||||
var node = ds_list_create(); #region //node
|
||||
addNodeCatagory("Misc", node);
|
||||
ds_list_add(node, "Control");
|
||||
addNodeObject(node, "Condition", s_node_condition, "Node_Condition", [1, Node_Condition],, "Given a condition, output one value if true, another value is false.");
|
||||
|
@ -1032,14 +1035,14 @@ function __initNodes() {
|
|||
|
||||
//////////////////////////////////////////////////////////// PIXEL BUILDER ////////////////////////////////////////////////////////////
|
||||
|
||||
var pb_group = ds_list_create(); #region
|
||||
var pb_group = ds_list_create(); #region //pb_group
|
||||
addNodePBCatagory("Group", pb_group);
|
||||
ds_list_add(pb_group, "Groups");
|
||||
addNodeObject(pb_group, "Input", s_node_group_input, "Node_Group_Input", [1, Node_Group_Input]).hideRecent();
|
||||
addNodeObject(pb_group, "Output", s_node_group_output, "Node_Group_Output", [1, Node_Group_Output]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var pb_draw = ds_list_create(); #region
|
||||
var pb_draw = ds_list_create(); #region //pb_draw
|
||||
addNodePBCatagory("Draw", pb_draw);
|
||||
ds_list_add(pb_draw, "Fill");
|
||||
addNodeObject(pb_draw, "Fill", s_node_pb_draw_fill, "Node_PB_Draw_Fill", [1, Node_PB_Draw_Fill]).hideRecent();
|
||||
|
@ -1056,7 +1059,7 @@ function __initNodes() {
|
|||
addNodeObject(pb_draw, "Blob", s_node_pb_draw_blob, "Node_PB_Draw_Blob", [1, Node_PB_Draw_Blob]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var pb_box = ds_list_create(); #region
|
||||
var pb_box = ds_list_create(); #region //pb_box
|
||||
addNodePBCatagory("Box", pb_box);
|
||||
ds_list_add(pb_box, "Layer");
|
||||
addNodeObject(pb_box, "Layer", s_node_pb_layer, "Node_PB_Layer", [1, Node_PB_Layer]).hideRecent();
|
||||
|
@ -1071,7 +1074,7 @@ function __initNodes() {
|
|||
addNodeObject(pb_box, "Contract", s_node_pb_box_contract, "Node_PB_Box_Contract", [1, Node_PB_Box_Contract]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var pb_fx = ds_list_create(); #region
|
||||
var pb_fx = ds_list_create(); #region //pb_fx
|
||||
addNodePBCatagory("Effects", pb_fx);
|
||||
ds_list_add(pb_fx, "Effect");
|
||||
addNodeObject(pb_fx, "Outline", s_node_pb_fx_outline, "Node_PB_Fx_Outline", [1, Node_PB_Fx_Outline]).hideRecent();
|
||||
|
@ -1093,7 +1096,7 @@ function __initNodes() {
|
|||
addNodeObject(pb_fx, "Intersect", s_node_pb_fx_interesct, "Node_PB_Fx_Intersect", [1, Node_PB_Fx_Intersect]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var pb_arr = ds_list_create(); #region
|
||||
var pb_arr = ds_list_create(); #region //pb_arr
|
||||
addNodePBCatagory("Array", pb_arr);
|
||||
addNodeObject(pb_arr, "Array", s_node_array, "Node_Array", [1, Node_Array]).hideRecent();
|
||||
addNodeObject(pb_arr, "Array Get", s_node_array_get, "Node_Array_Get", [1, Node_Array_Get], ["get array"]).hideRecent();
|
||||
|
@ -1104,13 +1107,13 @@ function __initNodes() {
|
|||
|
||||
/////////////////////////////////////////////////////////////// PCX NODE ///////////////////////////////////////////////////////////////
|
||||
|
||||
var pcx_var = ds_list_create(); #region
|
||||
var pcx_var = ds_list_create(); #region //pcx_var
|
||||
addNodePCXCatagory("Variable", pcx_var);
|
||||
addNodeObject(pcx_var, "Variable", s_node_array, "Node_PCX_var", [1, Node_PCX_var]).hideRecent();
|
||||
addNodeObject(pcx_var, "Fn Variable", s_node_array, "Node_PCX_fn_var", [1, Node_PCX_fn_var]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var pcx_fn = ds_list_create(); #region
|
||||
var pcx_fn = ds_list_create(); #region //pcx_fn
|
||||
addNodePCXCatagory("Functions", pcx_fn);
|
||||
addNodeObject(pcx_fn, "Equation", s_node_array, "Node_PCX_Equation", [1, Node_PCX_Equation]).hideRecent();
|
||||
|
||||
|
@ -1127,14 +1130,14 @@ function __initNodes() {
|
|||
addNodeObject(pcx_fn, "Array Set", s_node_array, "Node_PCX_Array_Set", [1, Node_PCX_Array_Set]).hideRecent();
|
||||
#endregion
|
||||
|
||||
var pcx_flow = ds_list_create(); #region
|
||||
var pcx_flow = ds_list_create(); #region //pcx_flow
|
||||
addNodePCXCatagory("Flow Control", pcx_flow);
|
||||
addNodeObject(pcx_flow, "Condition", s_node_array, "Node_PCX_Condition", [1, Node_PCX_Condition]).hideRecent();
|
||||
#endregion
|
||||
|
||||
//////////////////////////////////////////////////////////////// HIDDEN ////////////////////////////////////////////////////////////////
|
||||
|
||||
var hid = ds_list_create(); #region
|
||||
var hid = ds_list_create(); #region //hid
|
||||
addNodeCatagory("Hidden", hid, ["Hidden"]);
|
||||
addNodeObject(hid, "Input", s_node_loop_input, "Node_Iterator_Each_Input", [1, Node_Iterator_Each_Input]).hideRecent();
|
||||
addNodeObject(hid, "Output", s_node_loop_output, "Node_Iterator_Each_Output", [1, Node_Iterator_Each_Output]).hideRecent();
|
||||
|
|
143
scripts/node_wave_table/node_wave_table.gml
Normal file
|
@ -0,0 +1,143 @@
|
|||
function Node_Wave_Table(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Wave Table";
|
||||
update_on_frame = true;
|
||||
setDimension(96, 96);
|
||||
|
||||
inputs[| 0] = nodeValue("Range", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 1 ])
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
inputs[| 1] = nodeValue("Frequency", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 2 )
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 8, 0.01] });
|
||||
|
||||
inputs[| 2] = nodeValue("Display", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Number", "Graph" ]);
|
||||
|
||||
inputs[| 3] = nodeValue("Pattern", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 )
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 3, 0.01] });
|
||||
|
||||
outputs[| 0] = nodeValue("Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0);
|
||||
|
||||
input_display_list = [
|
||||
["Display", true], 2,
|
||||
["Wave", false], 3, 0, 1,
|
||||
];
|
||||
|
||||
graph_display = array_create(64, 0);
|
||||
|
||||
pattern = 0;
|
||||
frequency = 0;
|
||||
range_min = 0;
|
||||
range_max = 0;
|
||||
disp_text = 0;
|
||||
|
||||
function getPattern(_patt, _time) {
|
||||
switch(_patt % 3) {
|
||||
case 0 : return sin(_time * pi * 2);
|
||||
case 1 : return frac(_time) < 0.5? 1 : -1;
|
||||
case 2 : return frac(_time + 0.5) * 2 - 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
function __getWave(_time = 0) {
|
||||
var _p0 = floor(pattern);
|
||||
var _p1 = floor(pattern) + 1;
|
||||
var _fr = frac(pattern);
|
||||
|
||||
var _v0 = getPattern(_p0, _time * frequency) * .5 + .5;
|
||||
var _v1 = getPattern(_p1, _time * frequency) * .5 + .5;
|
||||
var _lrp = lerp(_v0, _v1, _fr);
|
||||
|
||||
return lerp(range_min, range_max, _lrp);
|
||||
}
|
||||
|
||||
static onValueUpdate = function(index = 0) {
|
||||
var ran = getSingleValue(0);
|
||||
range_min = array_safe_get_fast(ran, 0);
|
||||
range_max = array_safe_get_fast(ran, 1);
|
||||
|
||||
frequency = getSingleValue(1);
|
||||
pattern = getSingleValue(3);
|
||||
|
||||
for( var i = 0; i < 64; i++ )
|
||||
graph_display[i] = __getWave(i / 64);
|
||||
}
|
||||
|
||||
run_in(1, function() { onValueUpdate(); });
|
||||
|
||||
static processData = function(_output, _data, _output_index, _array_index = 0) { #region
|
||||
var ran = _data[0];
|
||||
range_min = array_safe_get_fast(ran, 0);
|
||||
range_max = array_safe_get_fast(ran, 1);
|
||||
|
||||
frequency = _data[1];
|
||||
pattern = _data[3];
|
||||
|
||||
var val = __getWave(CURRENT_FRAME / TOTAL_FRAMES);
|
||||
if(_output_index == 0) disp_text = val;
|
||||
|
||||
return val;
|
||||
} #endregion
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
|
||||
var ran = array_safe_get_fast(current_data, 0);
|
||||
var disp = array_safe_get_fast(current_data, 2);
|
||||
var time = CURRENT_FRAME;
|
||||
var total_time = TOTAL_FRAMES;
|
||||
|
||||
if(!is_array(ran)) return;
|
||||
|
||||
switch(disp) {
|
||||
case 0 :
|
||||
draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text);
|
||||
draw_text_bbox(bbox, disp_text);
|
||||
break;
|
||||
|
||||
case 1 :
|
||||
var _min = ran[0];
|
||||
var _max = ran[1];
|
||||
var val = (_min + _max) / 2;
|
||||
var _ran = _max - _min;
|
||||
|
||||
var x0 = xx + 8 * _s;
|
||||
var x1 = xx + (w - 8) * _s;
|
||||
var y0 = yy + 20 * draw_name + 8 * _s;
|
||||
var y1 = yy + (h - 8) * _s;
|
||||
var ww = x1 - x0;
|
||||
var hh = y1 - y0;
|
||||
|
||||
var yc = (y0 + y1) / 2;
|
||||
draw_set_color(COLORS.node_wiggler_frame);
|
||||
draw_set_alpha(0.5);
|
||||
draw_line(x0, yc, x1, yc);
|
||||
draw_set_alpha(1);
|
||||
|
||||
draw_set_text(f_sdf, fa_right, fa_bottom, COLORS._main_text_sub);
|
||||
draw_text_transformed(x1 - 2 * _s, y1, disp_text, 0.3 * _s, 0.3 * _s, 0);
|
||||
|
||||
var lw = ww / (64 - 1);
|
||||
var ox, oy;
|
||||
draw_set_color(c_white);
|
||||
for( var i = 0; i < 64; i++ ) {
|
||||
var _x = x0 + i * lw;
|
||||
var _y = yc - (graph_display[i] - val) / _ran * hh;
|
||||
if(i) draw_line(ox, oy, _x, _y);
|
||||
|
||||
ox = _x;
|
||||
oy = _y;
|
||||
}
|
||||
draw_set_color(COLORS._main_accent);
|
||||
var _fx = x0 + (time / total_time * ww);
|
||||
draw_line(_fx, y0, _fx, y1);
|
||||
|
||||
draw_set_color(COLORS.node_wiggler_frame);
|
||||
draw_rectangle(x0, y0, x1, y1, true);
|
||||
break;
|
||||
}
|
||||
} #endregion
|
||||
|
||||
static doApplyDeserialize = function() { onValueUpdate(); }
|
||||
}
|
13
scripts/node_wave_table/node_wave_table.yy
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"$GMScript":"",
|
||||
"%Name":"node_wave_table",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_wave_table",
|
||||
"parent":{
|
||||
"name":"animation",
|
||||
"path":"folders/nodes/data/animation.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
}
|
|
@ -13,37 +13,87 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
.setDisplay(VALUE_DISPLAY._default, { side_button : button(function() { inputs[| 2].setValue(seed_random(6)); }).setIcon(THEME.icon_random, 0, COLORS._main_icon) });
|
||||
|
||||
inputs[| 3] = nodeValue("Display", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1 )
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Number", "Graph" ])
|
||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Number", "Graph" ]);
|
||||
|
||||
inputs[| 4] = nodeValue("Clip", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0b11 )
|
||||
.setDisplay(VALUE_DISPLAY.toggle, { data : [ "Start", "End" ] });
|
||||
|
||||
outputs[| 0] = nodeValue("Output", self, JUNCTION_CONNECT.output, VALUE_TYPE.float, 0);
|
||||
|
||||
input_display_list = [
|
||||
["Display", true], 3,
|
||||
["Wiggle", false], 2, 0, 1,
|
||||
["Display", true], 3,
|
||||
["Wiggle", false], 2, 0, 1, 4,
|
||||
];
|
||||
|
||||
random_value = array_create(64, 0);
|
||||
graph_display = array_create(64, 0);
|
||||
|
||||
static onValueUpdate = function(index = 0) { #region
|
||||
var ran = getSingleValue(0);
|
||||
var fre = getSingleValue(1);
|
||||
var sed = getSingleValue(2);
|
||||
range_min = 0;
|
||||
range_max = 0;
|
||||
disp_text = 0;
|
||||
wiggle_seed = 0;
|
||||
wiggle_freq = 1;
|
||||
|
||||
clip_start = true;
|
||||
clip_end = true;
|
||||
|
||||
function __getWiggle(_time = 0) { #region
|
||||
|
||||
var _ed = TOTAL_FRAMES;
|
||||
var sdMin = floor(_time / wiggle_freq) * wiggle_freq;
|
||||
var sdMax = min(_ed, sdMin + wiggle_freq);
|
||||
|
||||
var _x0 = (clip_start && sdMin <= 0)? 0.5 : random1D(PROJECT.seed + wiggle_seed + sdMin);
|
||||
var _x1 = (clip_end && sdMax >= _ed)? 0.5 : random1D(PROJECT.seed + wiggle_seed + sdMax);
|
||||
|
||||
var t = (_time - sdMin) / (sdMax - sdMin);
|
||||
t = -(cos(pi * t) - 1) / 2;
|
||||
|
||||
var _lrp = lerp(_x0, _x1, t);
|
||||
return lerp(range_min, range_max, _lrp);
|
||||
} #endregion
|
||||
|
||||
static onValueUpdate = function(index = 0) {
|
||||
var ran = getSingleValue(0);
|
||||
range_min = array_safe_get_fast(ran, 0);
|
||||
range_max = array_safe_get_fast(ran, 1);
|
||||
|
||||
var fre = getSingleValue(1);
|
||||
wiggle_freq = fre == 0? 1 : max(1, TOTAL_FRAMES / fre);
|
||||
wiggle_seed = getSingleValue(2);
|
||||
|
||||
var clp = getSingleValue(4);
|
||||
clip_start = bool(clp & 0b01);
|
||||
clip_end = bool(clp & 0b10);
|
||||
|
||||
var step = TOTAL_FRAMES / 64;
|
||||
for( var i = 0; i < 64; i++ )
|
||||
random_value[i] = getWiggle(array_safe_get_fast(ran, 0), array_safe_get_fast(ran, 1), TOTAL_FRAMES / fre, step * i, sed, 0, TOTAL_FRAMES);
|
||||
} run_in(1, function() { onValueUpdate(); }); #endregion
|
||||
graph_display[i] = __getWiggle(step * i);
|
||||
}
|
||||
|
||||
run_in(1, function() { onValueUpdate(); });
|
||||
|
||||
static processData = function(_output, _data, _output_index, _array_index = 0) { #region
|
||||
var ran = _data[0];
|
||||
var fre = _data[1];
|
||||
var sed = _data[2];
|
||||
var time = CURRENT_FRAME;
|
||||
var ran = _data[0];
|
||||
range_min = array_safe_get_fast(ran, 0);
|
||||
range_max = array_safe_get_fast(ran, 1);
|
||||
|
||||
return getWiggle(array_safe_get_fast(ran, 0), array_safe_get_fast(ran, 1), TOTAL_FRAMES / fre, time, sed, 0, TOTAL_FRAMES);
|
||||
var fre = _data[1];
|
||||
wiggle_freq = fre == 0? 1 : max(1, TOTAL_FRAMES / fre);
|
||||
wiggle_seed = _data[2];
|
||||
|
||||
var clp = _data[4];
|
||||
clip_start = bool(clp & 0b01);
|
||||
clip_end = bool(clp & 0b10);
|
||||
|
||||
var val = __getWiggle(CURRENT_FRAME);
|
||||
if(_output_index == 0) disp_text = val;
|
||||
|
||||
return val;
|
||||
} #endregion
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { #region
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
|
||||
var ran = array_safe_get_fast(current_data, 0);
|
||||
var fre = array_safe_get_fast(current_data, 1);
|
||||
var sed = array_safe_get_fast(current_data, 2);
|
||||
|
@ -56,9 +106,7 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
switch(disp) {
|
||||
case 0 :
|
||||
draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text);
|
||||
var str = getWiggle(ran[0], ran[1], TOTAL_FRAMES / fre, time, sed, 0, TOTAL_FRAMES);
|
||||
var ss = string_scale(str, (w - 16) * _s, (h - 16) * _s - 20 * draw_name);
|
||||
draw_text_transformed(xx + w / 2 * _s, yy + 10 + h / 2 * _s, str, ss, ss, 0);
|
||||
draw_text_bbox(bbox, disp_text);
|
||||
break;
|
||||
|
||||
case 1 :
|
||||
|
@ -80,12 +128,15 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
draw_line(x0, yc, x1, yc);
|
||||
draw_set_alpha(1);
|
||||
|
||||
draw_set_text(f_sdf, fa_right, fa_bottom, COLORS._main_text_sub);
|
||||
draw_text_transformed(x1 - 2 * _s, y1, disp_text, 0.3 * _s, 0.3 * _s, 0);
|
||||
|
||||
var lw = ww / (64 - 1);
|
||||
var ox, oy;
|
||||
draw_set_color(c_white);
|
||||
for( var i = 0; i < 64; i++ ) {
|
||||
var _x = x0 + i * lw;
|
||||
var _y = yc - (random_value[i] - val) / _ran * hh;
|
||||
var _y = yc - (graph_display[i] - val) / _ran * hh;
|
||||
if(i) draw_line(ox, oy, _x, _y);
|
||||
|
||||
ox = _x;
|
||||
|
@ -97,6 +148,7 @@ function Node_Wiggler(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
|
|||
|
||||
draw_set_color(COLORS.node_wiggler_frame);
|
||||
draw_rectangle(x0, y0, x1, y1, true);
|
||||
|
||||
break;
|
||||
}
|
||||
} #endregion
|
||||
|
|
|
@ -12,6 +12,7 @@ function Panel_Palette() : PanelContent() constructor {
|
|||
drag_from_self = false;
|
||||
|
||||
__save_palette_data = [];
|
||||
view_label = true;
|
||||
|
||||
menu_refresh = menuItem(__txt("Refresh"), function() { __initPalette(); });
|
||||
menu_add = menuItem(__txt("Add"), function(_dat) {
|
||||
|
@ -37,6 +38,7 @@ function Panel_Palette() : PanelContent() constructor {
|
|||
}).setIsShelf();
|
||||
|
||||
menu_stretch = menuItem(__txt("Stretch"), function() { PREFERENCES.palette_stretch = !PREFERENCES.palette_stretch; }, noone, noone, function() /*=>*/ {return PREFERENCES.palette_stretch});
|
||||
menu_mini = menuItem(__txt("Label"), function() { view_label = !view_label; }, noone, noone, function() /*=>*/ {return view_label});
|
||||
|
||||
function onResize() {
|
||||
sp_palettes.resize(w - ui(padding + padding), h - ui(padding + padding));
|
||||
|
@ -55,7 +57,7 @@ function Panel_Palette() : PanelContent() constructor {
|
|||
if(mouse_wheel_down()) grid_size_to = clamp(grid_size_to - ui(4), ui(8), ui(32));
|
||||
if(mouse_wheel_up()) grid_size_to = clamp(grid_size_to + ui(4), ui(8), ui(32));
|
||||
}
|
||||
grid_size = lerp_float(grid_size, grid_size_to, 3);
|
||||
grid_size = lerp_float(grid_size, grid_size_to, 10);
|
||||
|
||||
if(DRAGGING && DRAGGING.type == "Palette" && !drag_from_self) {
|
||||
var _add_h = ui(28);
|
||||
|
@ -100,8 +102,9 @@ function Panel_Palette() : PanelContent() constructor {
|
|||
if(mouse_release(mb_left)) drag_from_self = false;
|
||||
|
||||
var right_clicked = false;
|
||||
var pd = lerp(ui(4), ui(10), (grid_size - ui(8)) / (ui(32) - ui(8)));
|
||||
var pd = view_label? lerp(ui(4), ui(10), (grid_size - ui(8)) / (ui(32) - ui(8))) : ui(3);
|
||||
var param = { color: cur, stretch : PREFERENCES.palette_stretch, mx : _m[0], my : _m[1] };
|
||||
var _font = grid_size > ui(12)? f_p2 : f_p3;
|
||||
|
||||
for(var i = 0; i < array_length(PALETTES); i++) {
|
||||
var preset = PALETTES[i];
|
||||
|
@ -109,19 +112,28 @@ function Panel_Palette() : PanelContent() constructor {
|
|||
var col = floor((ww - pd * 2) / _gs);
|
||||
var row = ceil(pre_amo / col);
|
||||
|
||||
_height = ui(21) + row * _gs + pd;
|
||||
|
||||
var _th = line_get_height(_font);
|
||||
var _phh = row * _gs;
|
||||
var _height = view_label? _th + _phh + pd : _phh + pd * 2;
|
||||
var _paly = view_label? yy + _th : yy + pd;
|
||||
var _palh = _gs;
|
||||
var isHover = pHOVER && point_in_rectangle(_m[0], _m[1], 0, max(0, yy), ww, min(sp_palettes.h, yy + _height));
|
||||
|
||||
draw_sprite_stretched(THEME.ui_panel_bg, 3, 0, yy, ww, _height);
|
||||
if(isHover)
|
||||
draw_sprite_stretched_ext(THEME.node_active, 1, 0, yy, ww, _height, COLORS._main_accent, 1);
|
||||
if(isHover) draw_sprite_stretched_ext(THEME.node_active, 1, 0, yy, ww, _height, COLORS._main_accent, 1);
|
||||
|
||||
draw_set_text(f_p2, fa_left, fa_top, COLORS._main_text_sub);
|
||||
draw_text(pd, yy + ui(2), preset.name);
|
||||
var _palRes = drawPaletteGrid(preset.palette, pd, yy + ui(20), ww - pd * 2, _gs, param);
|
||||
var _palRes = drawPaletteGrid(preset.palette, pd, _paly, ww - pd * 2, _palh, param);
|
||||
if(view_label) {
|
||||
draw_set_text(_font, fa_left, fa_top, COLORS._main_text_sub);
|
||||
draw_text_add(pd, yy + ui(2), preset.name);
|
||||
}
|
||||
|
||||
if(isHover) {
|
||||
if(_palRes.hoverIndex > noone) {
|
||||
var _box = _palRes.hoverBBOX;
|
||||
draw_sprite_stretched_add(THEME.menu_button_mask, 1, _box[0] + 1, _box[1] + 1, _box[2] - 2, _box[3] - 2, c_white, 0.3);
|
||||
}
|
||||
|
||||
if(mouse_press(mb_left, pFOCUS)) {
|
||||
if(_palRes.hoverIndex > noone) {
|
||||
CURRENT_COLOR = _palRes.hoverColor;
|
||||
|
@ -159,6 +171,7 @@ function Panel_Palette() : PanelContent() constructor {
|
|||
}),
|
||||
-1,
|
||||
menu_stretch,
|
||||
menu_mini,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -173,6 +186,7 @@ function Panel_Palette() : PanelContent() constructor {
|
|||
menu_refresh,
|
||||
-1,
|
||||
menu_stretch,
|
||||
menu_mini,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"name":"sh_node_arc",
|
||||
"parent":{
|
||||
"name":"node",
|
||||
"path":"folders/widgets/node.yy",
|
||||
"path":"folders/shader/UI/node.yy",
|
||||
},
|
||||
"resourceType":"GMShader",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
|
@ -2,14 +2,18 @@ varying vec2 v_vTexcoord;
|
|||
varying vec4 v_vColour;
|
||||
|
||||
uniform vec4 color;
|
||||
uniform float thickness;
|
||||
uniform float antialias;
|
||||
|
||||
void main() {
|
||||
float dist = abs(length(v_vTexcoord - .5) * 2. - 0.9);
|
||||
|
||||
float a;
|
||||
vec4 c = vec4(0.);
|
||||
vec4 c = vec4(0.);
|
||||
float th = thickness == 0.? 0.05 : thickness;
|
||||
float aa = antialias == 0.? 0.05 : antialias;
|
||||
|
||||
a = smoothstep(.1, .05, dist);
|
||||
a = smoothstep(th + antialias, th, dist);
|
||||
c = mix(c, color, a);
|
||||
|
||||
gl_FragColor = c;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"name":"sh_node_circle",
|
||||
"parent":{
|
||||
"name":"node",
|
||||
"path":"folders/widgets/node.yy",
|
||||
"path":"folders/shader/UI/node.yy",
|
||||
},
|
||||
"resourceType":"GMShader",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"name":"sh_node_widget_rotator",
|
||||
"parent":{
|
||||
"name":"node",
|
||||
"path":"folders/widgets/node.yy",
|
||||
"path":"folders/shader/UI/node.yy",
|
||||
},
|
||||
"resourceType":"GMShader",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"name":"sh_node_widget_scalar",
|
||||
"parent":{
|
||||
"name":"node",
|
||||
"path":"folders/widgets/node.yy",
|
||||
"path":"folders/shader/UI/node.yy",
|
||||
},
|
||||
"resourceType":"GMShader",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"name":"sh_node_widget_scalar_cross",
|
||||
"parent":{
|
||||
"name":"node",
|
||||
"path":"folders/widgets/node.yy",
|
||||
"path":"folders/shader/UI/node.yy",
|
||||
},
|
||||
"resourceType":"GMShader",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"name":"sh_node_widget_scalar_line",
|
||||
"parent":{
|
||||
"name":"node",
|
||||
"path":"folders/widgets/node.yy",
|
||||
"path":"folders/shader/UI/node.yy",
|
||||
},
|
||||
"resourceType":"GMShader",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
6
shaders/sh_ui_shape_circle/sh_ui_shape_circle.fsh
Normal file
|
@ -0,0 +1,6 @@
|
|||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
void main() {
|
||||
gl_FragColor = v_vColour * texture2D( gm_BaseTexture, v_vTexcoord );
|
||||
}
|
19
shaders/sh_ui_shape_circle/sh_ui_shape_circle.vsh
Normal file
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// Simple passthrough vertex shader
|
||||
//
|
||||
attribute vec3 in_Position; // (x,y,z)
|
||||
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
|
||||
attribute vec4 in_Colour; // (r,g,b,a)
|
||||
attribute vec2 in_TextureCoord; // (u,v)
|
||||
|
||||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
|
||||
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
|
||||
|
||||
v_vColour = in_Colour;
|
||||
v_vTexcoord = in_TextureCoord;
|
||||
}
|
12
shaders/sh_ui_shape_circle/sh_ui_shape_circle.yy
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"$GMShader":"",
|
||||
"%Name":"sh_ui_shape_circle",
|
||||
"name":"sh_ui_shape_circle",
|
||||
"parent":{
|
||||
"name":"UI",
|
||||
"path":"folders/shader/UI.yy",
|
||||
},
|
||||
"resourceType":"GMShader",
|
||||
"resourceVersion":"2.0",
|
||||
"type":1,
|
||||
}
|
BIN
sprites/s_node_ease/186b66e3-2b5b-4a8c-bddb-bd0261923363.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.6 KiB |
90
sprites/s_node_ease/s_node_ease.yy
Normal file
|
@ -0,0 +1,90 @@
|
|||
{
|
||||
"$GMSprite":"",
|
||||
"%Name":"s_node_ease",
|
||||
"bboxMode":0,
|
||||
"bbox_bottom":58,
|
||||
"bbox_left":3,
|
||||
"bbox_right":60,
|
||||
"bbox_top":4,
|
||||
"collisionKind":1,
|
||||
"collisionTolerance":0,
|
||||
"DynamicTexturePage":false,
|
||||
"edgeFiltering":false,
|
||||
"For3D":false,
|
||||
"frames":[
|
||||
{"$GMSpriteFrame":"","%Name":"186b66e3-2b5b-4a8c-bddb-bd0261923363","name":"186b66e3-2b5b-4a8c-bddb-bd0261923363","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
],
|
||||
"gridX":0,
|
||||
"gridY":0,
|
||||
"height":64,
|
||||
"HTile":false,
|
||||
"layers":[
|
||||
{"$GMImageLayer":"","%Name":"f01e5163-05f8-41f6-bf85-d41ecd2b9927","blendMode":0,"displayName":"default","isLocked":false,"name":"f01e5163-05f8-41f6-bf85-d41ecd2b9927","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||
],
|
||||
"name":"s_node_ease",
|
||||
"nineSlice":null,
|
||||
"origin":4,
|
||||
"parent":{
|
||||
"name":"animation",
|
||||
"path":"folders/nodes/icons/animation.yy",
|
||||
},
|
||||
"preMultiplyAlpha":false,
|
||||
"resourceType":"GMSprite",
|
||||
"resourceVersion":"2.0",
|
||||
"sequence":{
|
||||
"$GMSequence":"",
|
||||
"%Name":"s_node_ease",
|
||||
"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":1.0,
|
||||
"lockOrigin":false,
|
||||
"moments":{
|
||||
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||
"Keyframes":[],
|
||||
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||
"resourceVersion":"2.0",
|
||||
},
|
||||
"name":"s_node_ease",
|
||||
"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":"186b66e3-2b5b-4a8c-bddb-bd0261923363","path":"sprites/s_node_ease/s_node_ease.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"efd6696f-4d2d-4c5e-9bef-c51f4832858e","IsCreationKey":false,"Key":0.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":32,
|
||||
"yorigin":32,
|
||||
},
|
||||
"swatchColours":null,
|
||||
"swfPrecision":0.5,
|
||||
"textureGroupId":{
|
||||
"name":"Default",
|
||||
"path":"texturegroups/Default",
|
||||
},
|
||||
"type":0,
|
||||
"VTile":false,
|
||||
"width":64,
|
||||
}
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
90
sprites/s_node_fx_smoothstep/s_node_fx_smoothstep.yy
Normal file
|
@ -0,0 +1,90 @@
|
|||
{
|
||||
"$GMSprite":"",
|
||||
"%Name":"s_node_fx_smoothstep",
|
||||
"bboxMode":0,
|
||||
"bbox_bottom":60,
|
||||
"bbox_left":3,
|
||||
"bbox_right":60,
|
||||
"bbox_top":3,
|
||||
"collisionKind":1,
|
||||
"collisionTolerance":0,
|
||||
"DynamicTexturePage":false,
|
||||
"edgeFiltering":false,
|
||||
"For3D":false,
|
||||
"frames":[
|
||||
{"$GMSpriteFrame":"","%Name":"c1919cb9-1886-4ba5-8668-38d7a0601851","name":"c1919cb9-1886-4ba5-8668-38d7a0601851","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
],
|
||||
"gridX":0,
|
||||
"gridY":0,
|
||||
"height":64,
|
||||
"HTile":false,
|
||||
"layers":[
|
||||
{"$GMImageLayer":"","%Name":"0caed235-1eeb-40c7-a07f-8f547b5687cc","blendMode":0,"displayName":"default","isLocked":false,"name":"0caed235-1eeb-40c7-a07f-8f547b5687cc","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||
],
|
||||
"name":"s_node_fx_smoothstep",
|
||||
"nineSlice":null,
|
||||
"origin":4,
|
||||
"parent":{
|
||||
"name":"animation",
|
||||
"path":"folders/nodes/icons/animation.yy",
|
||||
},
|
||||
"preMultiplyAlpha":false,
|
||||
"resourceType":"GMSprite",
|
||||
"resourceVersion":"2.0",
|
||||
"sequence":{
|
||||
"$GMSequence":"",
|
||||
"%Name":"s_node_fx_smoothstep",
|
||||
"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":1.0,
|
||||
"lockOrigin":false,
|
||||
"moments":{
|
||||
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||
"Keyframes":[],
|
||||
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||
"resourceVersion":"2.0",
|
||||
},
|
||||
"name":"s_node_fx_smoothstep",
|
||||
"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":"c1919cb9-1886-4ba5-8668-38d7a0601851","path":"sprites/s_node_fx_smoothstep/s_node_fx_smoothstep.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"19ca05e9-199f-423f-98fd-acdcda2ca7fb","IsCreationKey":false,"Key":0.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":32,
|
||||
"yorigin":32,
|
||||
},
|
||||
"swatchColours":null,
|
||||
"swfPrecision":0.5,
|
||||
"textureGroupId":{
|
||||
"name":"Default",
|
||||
"path":"texturegroups/Default",
|
||||
},
|
||||
"type":0,
|
||||
"VTile":false,
|
||||
"width":64,
|
||||
}
|
BIN
sprites/s_node_wave/590c15bd-eff6-46fb-887d-6158004741b8.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
90
sprites/s_node_wave/s_node_wave.yy
Normal file
|
@ -0,0 +1,90 @@
|
|||
{
|
||||
"$GMSprite":"",
|
||||
"%Name":"s_node_wave",
|
||||
"bboxMode":0,
|
||||
"bbox_bottom":60,
|
||||
"bbox_left":3,
|
||||
"bbox_right":60,
|
||||
"bbox_top":1,
|
||||
"collisionKind":1,
|
||||
"collisionTolerance":0,
|
||||
"DynamicTexturePage":false,
|
||||
"edgeFiltering":false,
|
||||
"For3D":false,
|
||||
"frames":[
|
||||
{"$GMSpriteFrame":"","%Name":"590c15bd-eff6-46fb-887d-6158004741b8","name":"590c15bd-eff6-46fb-887d-6158004741b8","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
],
|
||||
"gridX":0,
|
||||
"gridY":0,
|
||||
"height":64,
|
||||
"HTile":false,
|
||||
"layers":[
|
||||
{"$GMImageLayer":"","%Name":"5fd93566-21dc-4646-9b9e-3305a97c1a22","blendMode":0,"displayName":"default","isLocked":false,"name":"5fd93566-21dc-4646-9b9e-3305a97c1a22","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||
],
|
||||
"name":"s_node_wave",
|
||||
"nineSlice":null,
|
||||
"origin":4,
|
||||
"parent":{
|
||||
"name":"animation",
|
||||
"path":"folders/nodes/icons/animation.yy",
|
||||
},
|
||||
"preMultiplyAlpha":false,
|
||||
"resourceType":"GMSprite",
|
||||
"resourceVersion":"2.0",
|
||||
"sequence":{
|
||||
"$GMSequence":"",
|
||||
"%Name":"s_node_wave",
|
||||
"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":1.0,
|
||||
"lockOrigin":false,
|
||||
"moments":{
|
||||
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||
"Keyframes":[],
|
||||
"resourceType":"KeyframeStore<MomentsEventKeyframe>",
|
||||
"resourceVersion":"2.0",
|
||||
},
|
||||
"name":"s_node_wave",
|
||||
"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":"590c15bd-eff6-46fb-887d-6158004741b8","path":"sprites/s_node_wave/s_node_wave.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"34f9b1d4-13f4-4257-a2bb-458f9a298931","IsCreationKey":false,"Key":0.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":32,
|
||||
"yorigin":32,
|
||||
},
|
||||
"swatchColours":null,
|
||||
"swfPrecision":0.5,
|
||||
"textureGroupId":{
|
||||
"name":"Default",
|
||||
"path":"texturegroups/Default",
|
||||
},
|
||||
"type":0,
|
||||
"VTile":false,
|
||||
"width":64,
|
||||
}
|
BIN
sprites/s_node_wiggler/18579d31-c42b-485e-9354-5cc19bf97aec.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 862 B |
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 862 B |
|
@ -2,24 +2,24 @@
|
|||
"$GMSprite":"",
|
||||
"%Name":"s_node_wiggler",
|
||||
"bboxMode":0,
|
||||
"bbox_bottom":60,
|
||||
"bbox_left":0,
|
||||
"bbox_right":63,
|
||||
"bbox_top":3,
|
||||
"bbox_bottom":56,
|
||||
"bbox_left":3,
|
||||
"bbox_right":60,
|
||||
"bbox_top":6,
|
||||
"collisionKind":1,
|
||||
"collisionTolerance":0,
|
||||
"DynamicTexturePage":false,
|
||||
"edgeFiltering":false,
|
||||
"For3D":false,
|
||||
"frames":[
|
||||
{"$GMSpriteFrame":"","%Name":"7e8c22ae-b343-412c-b6d8-5052c75cc3fe","name":"7e8c22ae-b343-412c-b6d8-5052c75cc3fe","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
{"$GMSpriteFrame":"","%Name":"18579d31-c42b-485e-9354-5cc19bf97aec","name":"18579d31-c42b-485e-9354-5cc19bf97aec","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
],
|
||||
"gridX":0,
|
||||
"gridY":0,
|
||||
"height":64,
|
||||
"HTile":false,
|
||||
"layers":[
|
||||
{"$GMImageLayer":"","%Name":"4707f513-c44f-49a8-9007-58f929f75602","blendMode":0,"displayName":"default","isLocked":false,"name":"4707f513-c44f-49a8-9007-58f929f75602","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||
{"$GMImageLayer":"","%Name":"c125e173-123a-4dff-8e5e-c4b1765266bd","blendMode":0,"displayName":"default","isLocked":false,"name":"c125e173-123a-4dff-8e5e-c4b1765266bd","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||
],
|
||||
"name":"s_node_wiggler",
|
||||
"nineSlice":null,
|
||||
|
@ -69,14 +69,11 @@
|
|||
"tracks":[
|
||||
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"7e8c22ae-b343-412c-b6d8-5052c75cc3fe","path":"sprites/s_node_wiggler/s_node_wiggler.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"d0c9d110-4447-4301-aada-37d8621e688b","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"18579d31-c42b-485e-9354-5cc19bf97aec","path":"sprites/s_node_wiggler/s_node_wiggler.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"6fdb9218-dea0-4edc-8010-86a2571b0635","IsCreationKey":false,"Key":0.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":{
|
||||
"x":0.0,
|
||||
"y":0.0,
|
||||
},
|
||||
"visibleRange":null,
|
||||
"volume":1.0,
|
||||
"xorigin":32,
|
||||
"yorigin":32,
|
||||
|
|