This commit is contained in:
Tanasart 2023-07-17 19:58:33 +02:00
parent 30628f1386
commit a4335715b7
110 changed files with 1227 additions and 181 deletions

View file

@ -152,6 +152,7 @@
{"name":"shadow caster","order":46,"path":"folders/shader/filter/shadow caster.yy",},
{"name":"flood fill","order":47,"path":"folders/shader/flood fill.yy",},
{"name":"generator","order":19,"path":"folders/shader/generator.yy",},
{"name":"random shape","order":29,"path":"folders/shader/generator/random shape.yy",},
{"name":"mask","order":45,"path":"folders/shader/mask.yy",},
{"name":"misc","order":50,"path":"folders/shader/misc.yy",},
{"name":"morph","order":54,"path":"folders/shader/morph.yy",},
@ -356,6 +357,7 @@
{"name":"checkboxGroup","order":28,"path":"scripts/checkboxGroup/checkboxGroup.yy",},
{"name":"node_FXAA","order":8,"path":"scripts/node_FXAA/node_FXAA.yy",},
{"name":"s_node_pixel_find","order":13,"path":"sprites/s_node_pixel_find/s_node_pixel_find.yy",},
{"name":"s_biterator_canvas_cover","order":16,"path":"sprites/s_biterator_canvas_cover/s_biterator_canvas_cover.yy",},
{"name":"sh_noise_grid_tri","order":25,"path":"shaders/sh_noise_grid_tri/sh_noise_grid_tri.yy",},
{"name":"globals","order":2,"path":"scripts/globals/globals.yy",},
{"name":"s_node_noise_perlin","order":11,"path":"sprites/s_node_noise_perlin/s_node_noise_perlin.yy",},
@ -402,6 +404,7 @@
{"name":"sh_channel_G_grey","order":8,"path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},
{"name":"node_3d_depth","order":32,"path":"scripts/node_3d_depth/node_3d_depth.yy",},
{"name":"s_node_vec4","order":9,"path":"sprites/s_node_vec4/s_node_vec4.yy",},
{"name":"vct_knob","order":2,"path":"scripts/vct_knob/vct_knob.yy",},
{"name":"node_to_number","order":13,"path":"scripts/node_to_number/node_to_number.yy",},
{"name":"buttonGroup","order":5,"path":"scripts/buttonGroup/buttonGroup.yy",},
{"name":"s_node_image_sheet","order":7,"path":"sprites/s_node_image_sheet/s_node_image_sheet.yy",},
@ -514,6 +517,7 @@
{"name":"s_node_to_number","order":16,"path":"sprites/s_node_to_number/s_node_to_number.yy",},
{"name":"node_string_regex_replace","order":9,"path":"scripts/node_string_regex_replace/node_string_regex_replace.yy",},
{"name":"s_node_particle","order":12,"path":"sprites/s_node_particle/s_node_particle.yy",},
{"name":"node_random_shape","order":33,"path":"scripts/node_random_shape/node_random_shape.yy",},
{"name":"s_node_random","order":3,"path":"sprites/s_node_random/s_node_random.yy",},
{"name":"sh_3d_extrude_filler","order":8,"path":"shaders/sh_3d_extrude_filler/sh_3d_extrude_filler.yy",},
{"name":"s_window_exit","order":2,"path":"sprites/s_window_exit/s_window_exit.yy",},
@ -547,6 +551,7 @@
{"name":"s_node_path_array","order":11,"path":"sprites/s_node_path_array/s_node_path_array.yy",},
{"name":"node_display_image","order":4,"path":"scripts/node_display_image/node_display_image.yy",},
{"name":"node_rigid_global","order":5,"path":"scripts/node_rigid_global/node_rigid_global.yy",},
{"name":"sh_rsh_erode","order":2,"path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",},
{"name":"node_chromatic_aberration","order":4,"path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},
{"name":"draw_line_elbow_diag","order":18,"path":"scripts/draw_line_elbow_diag/draw_line_elbow_diag.yy",},
{"name":"node_pin","order":2,"path":"scripts/node_pin/node_pin.yy",},
@ -556,6 +561,7 @@
{"name":"libxprocess","order":4,"path":"extensions/libxprocess/libxprocess.yy",},
{"name":"fd_rectangle_get_pressure_height","order":16,"path":"scripts/fd_rectangle_get_pressure_height/fd_rectangle_get_pressure_height.yy",},
{"name":"hyperbolic_function","order":16,"path":"scripts/hyperbolic_function/hyperbolic_function.yy",},
{"name":"sh_rsh_rotate","order":1,"path":"shaders/sh_rsh_rotate/sh_rsh_rotate.yy",},
{"name":"node_VFX_effect_destroy","order":12,"path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},
{"name":"node_cache","order":9,"path":"scripts/node_cache/node_cache.yy",},
{"name":"sh_bw","order":5,"path":"shaders/sh_bw/sh_bw.yy",},
@ -677,6 +683,7 @@
{"name":"sh_channel_R_grey","order":7,"path":"shaders/sh_channel_R_grey/sh_channel_R_grey.yy",},
{"name":"sh_blend_subtract","order":5,"path":"shaders/sh_blend_subtract/sh_blend_subtract.yy",},
{"name":"BBMOD_Vec4","order":6,"path":"scripts/BBMOD_Vec4/BBMOD_Vec4.yy",},
{"name":"s_biterator_color_slot","order":17,"path":"sprites/s_biterator_color_slot/s_biterator_color_slot.yy",},
{"name":"node_surface_from_color","order":1,"path":"scripts/node_surface_from_color/node_surface_from_color.yy",},
{"name":"panel_animation","order":1,"path":"scripts/panel_animation/panel_animation.yy",},
{"name":"node_surface_replace","order":27,"path":"scripts/node_surface_replace/node_surface_replace.yy",},
@ -965,6 +972,7 @@
{"name":"s_node_sampler","order":11,"path":"sprites/s_node_sampler/s_node_sampler.yy",},
{"name":"__background_get_element","order":1,"path":"scripts/__background_get_element/__background_get_element.yy",},
{"name":"node_FFT","order":12,"path":"scripts/node_FFT/node_FFT.yy",},
{"name":"s_node_random_shape","order":28,"path":"sprites/s_node_random_shape/s_node_random_shape.yy",},
{"name":"window_functions","order":2,"path":"scripts/window_functions/window_functions.yy",},
{"name":"s_node_armature_create","order":16,"path":"sprites/s_node_armature_create/s_node_armature_create.yy",},
{"name":"node_mesh_create_path","order":1,"path":"scripts/node_mesh_create_path/node_mesh_create_path.yy",},
@ -1006,6 +1014,7 @@
{"name":"node_erode","order":9,"path":"scripts/node_erode/node_erode.yy",},
{"name":"node_wrap_mesh","order":6,"path":"scripts/node_wrap_mesh/node_wrap_mesh.yy",},
{"name":"sh_alpha_hash","order":43,"path":"shaders/sh_alpha_hash/sh_alpha_hash.yy",},
{"name":"vct_slider","order":1,"path":"scripts/vct_slider/vct_slider.yy",},
{"name":"panel_node_align","order":3,"path":"scripts/panel_node_align/panel_node_align.yy",},
{"name":"sh_blur_alpha","order":1,"path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},
{"name":"value_snap","order":10,"path":"scripts/value_snap/value_snap.yy",},
@ -1149,6 +1158,7 @@
{"name":"s_node_color_from_hsv","order":4,"path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},
{"name":"fd_rectangle_get_material_type","order":14,"path":"scripts/fd_rectangle_get_material_type/fd_rectangle_get_material_type.yy",},
{"name":"node_area","order":14,"path":"scripts/node_area/node_area.yy",},
{"name":"vct_toggle","order":3,"path":"scripts/vct_toggle/vct_toggle.yy",},
{"name":"s_node_posterize","order":33,"path":"sprites/s_node_posterize/s_node_posterize.yy",},
{"name":"s_node_struct_get","order":1,"path":"sprites/s_node_struct_get/s_node_struct_get.yy",},
{"name":"s_node_vfx_vortex","order":4,"path":"sprites/s_node_vfx_vortex/s_node_vfx_vortex.yy",},
@ -1296,7 +1306,7 @@
{"name":"node_noise_fbm","order":3,"path":"scripts/node_noise_fbm/node_noise_fbm.yy",},
{"name":"sh_channel_V","order":6,"path":"shaders/sh_channel_V/sh_channel_V.yy",},
{"name":"__shapes","order":3,"path":"scripts/__shapes/__shapes.yy",},
{"name":"panel_VCT","order":1,"path":"scripts/panel_VCT/panel_VCT.yy",},
{"name":"VCT","order":1,"path":"scripts/VCT/VCT.yy",},
{"name":"node_alpha_to_grey","order":3,"path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},
{"name":"shell_helper","order":20,"path":"scripts/shell_helper/shell_helper.yy",},
{"name":"node_strand_collision","order":8,"path":"scripts/node_strand_collision/node_strand_collision.yy",},

View file

@ -185,6 +185,7 @@
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shadow caster","folderPath":"folders/shader/filter/shadow caster.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"flood fill","folderPath":"folders/shader/flood fill.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/shader/generator.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"random shape","folderPath":"folders/shader/generator/random shape.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"mask","folderPath":"folders/shader/mask.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"misc","folderPath":"folders/shader/misc.yy",},
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"morph","folderPath":"folders/shader/morph.yy",},
@ -442,7 +443,7 @@
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_new_badge.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_pin_active.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_pin.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_state_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_state.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_trigger.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_checkbox.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node/widget",},
@ -876,6 +877,7 @@
{"id":{"name":"checkboxGroup","path":"scripts/checkboxGroup/checkboxGroup.yy",},},
{"id":{"name":"node_FXAA","path":"scripts/node_FXAA/node_FXAA.yy",},},
{"id":{"name":"s_node_pixel_find","path":"sprites/s_node_pixel_find/s_node_pixel_find.yy",},},
{"id":{"name":"s_biterator_canvas_cover","path":"sprites/s_biterator_canvas_cover/s_biterator_canvas_cover.yy",},},
{"id":{"name":"sh_noise_grid_tri","path":"shaders/sh_noise_grid_tri/sh_noise_grid_tri.yy",},},
{"id":{"name":"globals","path":"scripts/globals/globals.yy",},},
{"id":{"name":"s_node_noise_perlin","path":"sprites/s_node_noise_perlin/s_node_noise_perlin.yy",},},
@ -932,6 +934,7 @@
{"id":{"name":"sh_channel_G_grey","path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},},
{"id":{"name":"node_3d_depth","path":"scripts/node_3d_depth/node_3d_depth.yy",},},
{"id":{"name":"s_node_vec4","path":"sprites/s_node_vec4/s_node_vec4.yy",},},
{"id":{"name":"vct_knob","path":"scripts/vct_knob/vct_knob.yy",},},
{"id":{"name":"node_to_number","path":"scripts/node_to_number/node_to_number.yy",},},
{"id":{"name":"buttonGroup","path":"scripts/buttonGroup/buttonGroup.yy",},},
{"id":{"name":"s_node_image_sheet","path":"sprites/s_node_image_sheet/s_node_image_sheet.yy",},},
@ -984,6 +987,7 @@
{"id":{"name":"animation_controller","path":"scripts/animation_controller/animation_controller.yy",},},
{"id":{"name":"s_node_shadow","path":"sprites/s_node_shadow/s_node_shadow.yy",},},
{"id":{"name":"s_node_grid_hex_noise","path":"sprites/s_node_grid_hex_noise/s_node_grid_hex_noise.yy",},},
{"id":{"name":"sh_rsh_corner","path":"shaders/sh_rsh_corner/sh_rsh_corner.yy",},},
{"id":{"name":"s_node_logic_opr","path":"sprites/s_node_logic_opr/s_node_logic_opr.yy",},},
{"id":{"name":"sh_zigzag","path":"shaders/sh_zigzag/sh_zigzag.yy",},},
{"id":{"name":"node_blur_bokeh","path":"scripts/node_blur_bokeh/node_blur_bokeh.yy",},},
@ -1058,6 +1062,7 @@
{"id":{"name":"s_node_to_number","path":"sprites/s_node_to_number/s_node_to_number.yy",},},
{"id":{"name":"node_string_regex_replace","path":"scripts/node_string_regex_replace/node_string_regex_replace.yy",},},
{"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},},
{"id":{"name":"node_random_shape","path":"scripts/node_random_shape/node_random_shape.yy",},},
{"id":{"name":"sh_flood_fill_thres","path":"shaders/sh_flood_fill_thres/sh_flood_fill_thres.yy",},},
{"id":{"name":"s_node_random","path":"sprites/s_node_random/s_node_random.yy",},},
{"id":{"name":"sh_3d_extrude_filler","path":"shaders/sh_3d_extrude_filler/sh_3d_extrude_filler.yy",},},
@ -1098,6 +1103,7 @@
{"id":{"name":"s_node_path_array","path":"sprites/s_node_path_array/s_node_path_array.yy",},},
{"id":{"name":"node_display_image","path":"scripts/node_display_image/node_display_image.yy",},},
{"id":{"name":"node_rigid_global","path":"scripts/node_rigid_global/node_rigid_global.yy",},},
{"id":{"name":"sh_rsh_erode","path":"shaders/sh_rsh_erode/sh_rsh_erode.yy",},},
{"id":{"name":"node_chromatic_aberration","path":"scripts/node_chromatic_aberration/node_chromatic_aberration.yy",},},
{"id":{"name":"draw_line_elbow_diag","path":"scripts/draw_line_elbow_diag/draw_line_elbow_diag.yy",},},
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},},
@ -1108,6 +1114,7 @@
{"id":{"name":"fd_rectangle_get_pressure_height","path":"scripts/fd_rectangle_get_pressure_height/fd_rectangle_get_pressure_height.yy",},},
{"id":{"name":"hyperbolic_function","path":"scripts/hyperbolic_function/hyperbolic_function.yy",},},
{"id":{"name":"s_node_fluidSim_repulse","path":"sprites/s_node_fluidSim_repulse/s_node_fluidSim_repulse.yy",},},
{"id":{"name":"sh_rsh_rotate","path":"shaders/sh_rsh_rotate/sh_rsh_rotate.yy",},},
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},},
{"id":{"name":"node_cache","path":"scripts/node_cache/node_cache.yy",},},
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},},
@ -1247,6 +1254,7 @@
{"id":{"name":"sh_channel_R_grey","path":"shaders/sh_channel_R_grey/sh_channel_R_grey.yy",},},
{"id":{"name":"sh_blend_subtract","path":"shaders/sh_blend_subtract/sh_blend_subtract.yy",},},
{"id":{"name":"BBMOD_Vec4","path":"scripts/BBMOD_Vec4/BBMOD_Vec4.yy",},},
{"id":{"name":"s_biterator_color_slot","path":"sprites/s_biterator_color_slot/s_biterator_color_slot.yy",},},
{"id":{"name":"o_dialog_file_name","path":"objects/o_dialog_file_name/o_dialog_file_name.yy",},},
{"id":{"name":"node_audio_window","path":"scripts/node_audio_window/node_audio_window.yy",},},
{"id":{"name":"node_surface_from_color","path":"scripts/node_surface_from_color/node_surface_from_color.yy",},},
@ -1566,6 +1574,7 @@
{"id":{"name":"__background_get_element","path":"scripts/__background_get_element/__background_get_element.yy",},},
{"id":{"name":"node_animate_curve","path":"scripts/node_animate_curve/node_animate_curve.yy",},},
{"id":{"name":"node_FFT","path":"scripts/node_FFT/node_FFT.yy",},},
{"id":{"name":"s_node_random_shape","path":"sprites/s_node_random_shape/s_node_random_shape.yy",},},
{"id":{"name":"window_functions","path":"scripts/window_functions/window_functions.yy",},},
{"id":{"name":"s_node_armature_create","path":"sprites/s_node_armature_create/s_node_armature_create.yy",},},
{"id":{"name":"node_mesh_create_path","path":"scripts/node_mesh_create_path/node_mesh_create_path.yy",},},
@ -1615,6 +1624,7 @@
{"id":{"name":"node_surface_to_buffer","path":"scripts/node_surface_to_buffer/node_surface_to_buffer.yy",},},
{"id":{"name":"node_curve","path":"scripts/node_curve/node_curve.yy",},},
{"id":{"name":"sh_alpha_hash","path":"shaders/sh_alpha_hash/sh_alpha_hash.yy",},},
{"id":{"name":"vct_slider","path":"scripts/vct_slider/vct_slider.yy",},},
{"id":{"name":"panel_node_align","path":"scripts/panel_node_align/panel_node_align.yy",},},
{"id":{"name":"sh_blur_alpha","path":"shaders/sh_blur_alpha/sh_blur_alpha.yy",},},
{"id":{"name":"node_render_sprite_sheet","path":"scripts/node_render_sprite_sheet/node_render_sprite_sheet.yy",},},
@ -1785,6 +1795,7 @@
{"id":{"name":"s_node_color_from_hsv","path":"sprites/s_node_color_from_hsv/s_node_color_from_hsv.yy",},},
{"id":{"name":"fd_rectangle_get_material_type","path":"scripts/fd_rectangle_get_material_type/fd_rectangle_get_material_type.yy",},},
{"id":{"name":"node_area","path":"scripts/node_area/node_area.yy",},},
{"id":{"name":"vct_toggle","path":"scripts/vct_toggle/vct_toggle.yy",},},
{"id":{"name":"s_node_vfx_accel","path":"sprites/s_node_vfx_accel/s_node_vfx_accel.yy",},},
{"id":{"name":"s_node_posterize","path":"sprites/s_node_posterize/s_node_posterize.yy",},},
{"id":{"name":"s_node_struct_get","path":"sprites/s_node_struct_get/s_node_struct_get.yy",},},
@ -1955,7 +1966,7 @@
{"id":{"name":"node_noise_fbm","path":"scripts/node_noise_fbm/node_noise_fbm.yy",},},
{"id":{"name":"sh_channel_V","path":"shaders/sh_channel_V/sh_channel_V.yy",},},
{"id":{"name":"__shapes","path":"scripts/__shapes/__shapes.yy",},},
{"id":{"name":"panel_VCT","path":"scripts/panel_VCT/panel_VCT.yy",},},
{"id":{"name":"VCT","path":"scripts/VCT/VCT.yy",},},
{"id":{"name":"node_alpha_to_grey","path":"scripts/node_alpha_to_grey/node_alpha_to_grey.yy",},},
{"id":{"name":"shell_helper","path":"scripts/shell_helper/shell_helper.yy",},},
{"id":{"name":"node_strand_collision","path":"scripts/node_strand_collision/node_strand_collision.yy",},},

Binary file not shown.

View file

@ -129,8 +129,7 @@ event_inherited();
return;
}
if(array_exists(global.RECENT_NODES, _node.node))
array_remove(global.RECENT_NODES, _node.node);
array_remove(global.RECENT_NODES, _node.node);
array_insert(global.RECENT_NODES, 0, _node.node);
if(array_length(global.RECENT_NODES) > 20)
array_pop(global.RECENT_NODES);

View file

@ -10,5 +10,5 @@ if(keyboard_check(vk_backspace))
else
KEYBOARD_STRING += keyboard_lastchar;
if(WIDGET_CURRENT && is_instanceof(WIDGET_CURRENT, textInput))
WIDGET_CURRENT.onKey(KEYBOARD_PRESSED);
//if(WIDGET_CURRENT && is_instanceof(WIDGET_CURRENT, textInput))
// WIDGET_CURRENT.onKey(KEYBOARD_PRESSED);

View file

@ -104,10 +104,13 @@ _HOVERING_ELEMENT = noone;
DOUBLE_CLICK = false;
if(mouse_press(mb_left)) {
if(dc_check > 0) {
DOUBLE_CLICK = true;
if(point_distance(mouse_mx, mouse_my, DOUBLE_CLICK_POS[0], DOUBLE_CLICK_POS[1]) < 8)
DOUBLE_CLICK = true;
dc_check = 0;
} else
} else {
dc_check = PREF_MAP[? "double_click_delay"];
DOUBLE_CLICK_POS = [ mouse_mx, mouse_my ];
}
}
dc_check -= DELTA_TIME;

View file

@ -41,12 +41,13 @@ function PanelVCT(vct) : PanelContent() constructor {
}
function VCT_var(type, val) {
var v = new __VCT_var(type, val);
var v = new __VCT_var(self, type, val);
array_append(vars, v);
return v;
}
function __VCT_var(type, val) constructor {
function __VCT_var(vct, type, val) constructor {
self.vct = vct;
self.type = type;
self.val = val;
def_val = val;
@ -61,6 +62,14 @@ function __VCT_var(type, val) constructor {
return self;
}
static set = function(val) { if(val == undefined) return; self.val = val; }
static update = function() { vct.node.triggerRender(); }
static setDirect = function(val) { if(val == undefined) return; self.val = val; }
static set = function(val, _update = true) {
if(val == undefined) return;
self.val = val;
if(_update) update();
}
static get = function() { return val; }
}

View file

@ -1,7 +1,7 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "panel_VCT",
"name": "VCT",
"isCompatibility": false,
"isDnD": false,
"parent": {

View file

@ -11,6 +11,7 @@
#macro BLEND_ALPHA_MULP gpu_set_blendmode_ext_sepalpha(bm_src_alpha, bm_inv_src_alpha, bm_one, bm_one)
#macro BLEND_MULTIPLY gpu_set_blendmode_ext(bm_dest_colour, bm_zero)
#macro BLEND_SUBTRACT gpu_set_blendmode(bm_subtract)
#macro DRAW_CLEAR draw_clear_alpha(0, 0)
#endregion

View file

@ -127,7 +127,7 @@ function areaBox(_onModify, _unit = noone) : widget() constructor {
y = _y;
w = 0;
h = ui(204);
mode = _extra_data[0];
mode = _extra_data.area_type;
if(buttonInstant(THEME.button_hide, _x - ui(48), _y + ui(64 - 48), ui(96), ui(96), _m, adjust_shape && active, adjust_shape && hover,
"", THEME.inspector_area, array_safe_get(_data, 4), c_white) == 2) {
@ -213,7 +213,7 @@ function areaBox(_onModify, _unit = noone) : widget() constructor {
break;
}
_extra_data[0] = (mode + 1) % 3;
_extra_data.area_type = (mode + 1) % 3;
}
}

View file

@ -42,6 +42,7 @@
function get_asset(key) {
if(!ds_map_exists(global.ASSET_MAP, key)) return noone;
if(ds_map_exists(global.ASSET_CACHE, key)) {
var s = global.ASSET_CACHE[? key];
var valid = true;

View file

@ -8,20 +8,186 @@ function Biterator(node) : VCT(node) constructor {
dimension = VCT_var(VALUE_TYPE.integer, 0);
shape = VCT_var(VALUE_TYPE.integer, 0);
pos_x = VCT_var(VALUE_TYPE.integer, 0);
pos_y = VCT_var(VALUE_TYPE.integer, 0);
sca_x = VCT_var(VALUE_TYPE.integer, 0);
sca_y = VCT_var(VALUE_TYPE.integer, 0);
shape_par[0] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.slider, [- 8, 8, 1]);
shape_par[1] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.slider, [- 8, 8, 1]);
shape_par[2] = VCT_var(VALUE_TYPE.integer, 2).setDisplay(VALUE_DISPLAY.slider, [ 0, 4, 1]);
shape_par[3] = VCT_var(VALUE_TYPE.integer, 2).setDisplay(VALUE_DISPLAY.slider, [ 0, 4, 1]);
shape_par[4] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.slider, [ -4, 4, 1]);
shape_par[5] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.slider, [ -4, 4, 1]);
shape_par[5] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.slider, [ -4, 4, 1]);
for( var i = 0; i < 3; i++ )
color[i] = VCT_var(VALUE_TYPE.color, c_white);
shape_knob[0] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.rotation, [0, 7, 1]);
shape_knob[1] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.rotation, [0, 6, 1]);
shape_knob[2] = VCT_var(VALUE_TYPE.integer, 0).setDisplay(VALUE_DISPLAY.rotation, [0, 6, 1]);
for( var i = 0; i < 2; i++ )
color_knob[i] = VCT_var(VALUE_TYPE.float, 0).setDisplay(VALUE_DISPLAY.rotation, [-1, 1, 0.01]);
for( var i = 0; i < 4; i++ )
kernel_toggle[i] = VCT_var(VALUE_TYPE.boolean, 0);
for( var i = 0; i < 8; i++ )
kernel_value[i] = VCT_var(VALUE_TYPE.integer, 1).setDisplay(VALUE_DISPLAY.slider, [1, 4, 1]);
function process() {
var _dimension = dimension.get();
var _dim = _dimension == 0? 8 : 16;
var surf = surface_create(_dim, _dim);
var shap = surface_create(_dim, _dim);
var _shape = shape.get();
var _posx = shape_par[0].get();
var _posy = shape_par[1].get();
var _scax = shape_par[2].get();
var _scay = shape_par[3].get();
var _shrx = shape_par[4].get();
var _shry = shape_par[5].get();
var _cx = _dim / 2 + _posx - 1;
var _cy = _dim / 2 - _posy - 1;
surface_set_target(shap);
DRAW_CLEAR
draw_set_color(c_white);
switch(_shape) {
case 0 :
var _x0 = _cx - _scax + 1;
var _y0 = _cy - _scay + 1;
var _x1 = _cx + _scax;
var _y1 = _cy + _scay;
var r = shape_knob[1].get();
draw_rectangle(_x0, _y0, _x1, _y1, false);
BLEND_SUBTRACT
switch(r) {
case 6 :
case 5 :
case 4 :
draw_point(_x0 + 1, _y0 + 1);
draw_point(_x1 - 1, _y0 + 1);
draw_point(_x0 + 1, _y1 - 1);
draw_point(_x1 - 1, _y1 - 1);
case 3 :
draw_point(_x0 + 2, _y0 + 0);
draw_point(_x0 + 0, _y0 + 2);
draw_point(_x1 - 2, _y0 + 0);
draw_point(_x1 - 0, _y0 + 2);
draw_point(_x0 + 2, _y1 - 0);
draw_point(_x0 + 0, _y1 - 2);
draw_point(_x1 - 2, _y1 - 0);
draw_point(_x1 - 0, _y1 - 2);
case 2 :
draw_point(_x0 + 1, _y0 + 0);
draw_point(_x0 + 0, _y0 + 1);
draw_point(_x1 - 1, _y0 + 0);
draw_point(_x1 + 0, _y0 + 1);
draw_point(_x0 + 1, _y1 + 0);
draw_point(_x0 + 0, _y1 - 1);
draw_point(_x1 - 1, _y1 + 0);
draw_point(_x1 + 0, _y1 - 1);
case 1 :
draw_point(_x0, _y0);
draw_point(_x1, _y0);
draw_point(_x0, _y1);
draw_point(_x1, _y1);
break;
}
BLEND_NORMAL
break;
case 1 :
draw_ellipse(_cx - _scax, _cy - _scay, _cx + _scax, _cy + _scay, false);
break;
case 2 :
var rt = shape_knob[1].get();
var rb = shape_knob[2].get();
var _x0 = _cx - _scax + 1;
var _y0 = _cy - _scay + 1;
var _x1 = _cx + _scax;
var _y1 = _cy + _scay;
draw_rectangle(_x0, _y0, _x1, _y1, false);
BLEND_SUBTRACT
switch(rt) {
case 6 :
draw_point(_x0 + 0, _y0 + 3);
draw_point(_x1 + 0, _y0 + 3);
case 5 :
draw_point(_x0 + 1, _y0 + 1);
draw_point(_x1 - 1, _y0 + 1);
case 4 :
draw_point(_x0 + 2, _y0 + 0);
draw_point(_x1 - 2, _y0 + 0);
case 3 :
draw_point(_x0 + 0, _y0 + 2);
draw_point(_x1 + 0, _y0 + 2);
case 2 :
draw_point(_x0 + 1, _y0 + 0);
draw_point(_x0 + 0, _y0 + 1);
draw_point(_x1 - 1, _y0 + 0);
draw_point(_x1 + 0, _y0 + 1);
case 1 :
draw_point(_x0, _y0);
draw_point(_x1, _y0);
}
switch(rb) {
case 6 :
case 5 :
case 4 :
case 3 :
draw_point(_x0 + 1, _y1 - 0);
draw_point(_x1 - 1, _y1 - 0);
case 2 :
draw_point(_x0 + 0, _y1 - 1);
draw_point(_x1 + 0, _y1 - 1);
case 1 :
draw_point(_x0, _y1);
draw_point(_x1, _y1);
}
BLEND_NORMAL
break;
case 3 :
var angle = shape_knob[0].get() / 8 * 180;
draw_line_width(_cx - lengthdir_x(_dim * 2, angle), _cy - lengthdir_y(_dim * 2, angle),
_cx + lengthdir_x(_dim * 2, angle), _cy + lengthdir_y(_dim * 2, angle), _scax * 2);
break;
case 4 :
for( var i = 0; i < _dim; i++ )
for( var j = 0; j < _dim; j++ ) {
if((i + j) % 2) draw_point(i, j);
}
break;
}
surface_reset_target();
surface_set_target(surf);
DRAW_CLEAR
if(_shape == 3) {
var ang = shape_knob[0].get() / 8 * 360;
var p = point_rotate(0, 0, _dim / 2, _dim / 2, ang);
draw_surface_ext(shap, p[0], p[1], 1, 1, ang, c_white, 1);
} else
draw_surface(shap, 0, 0);
surface_reset_target();
surface_free(shap);
return surf;
}
}
@ -33,18 +199,33 @@ function Biterator_Panel(vct) : PanelVCT(vct) constructor {
page = 0;
slider_shape = array_create(6, 0);
slider_kernel= array_create(8, 0);
knob_shape = array_create(3, 0);
knob_color = array_create(2, 0);
function drawContent(panel) {
sprite_scale = 2;
draw_clear(c_white);
draw_sprite_ext(s_biterator_bg, 0, 0, 0, 2, 2, 0, c_white, 1);
BLEND_ADD
draw_sprite_ext(s_biterator_bg, 1, 0, 0, 2, 2, 0, c_white, 0.5);
BLEND_NORMAL
draw_sprite_ext(s_biterator_tab_content, page, 129 * 2, 115 * 2, 2, 2, 0, c_white, 1);
draw_sprite_ext(s_biterator_canvas, vct.dimension.get(), 105 * 2, 21 * 2, 2, 2, 0, c_white, 1);
draw_sprite_ext(s_biterator_canvas, 0, 105 * 2, 21 * 2, 2, 2, 0, c_white, 1);
var s = vct.process();
draw_surface_stretched(s, (105 + 2) * 2, (21 + 3) * 2, 80 * 2, 80 * 2);
draw_sprite_ext(s_biterator_canvas_cover, vct.dimension.get(), 105 * 2, 21 * 2, 2, 2, 0, c_white, 1);
for( var i = 0; i < 5; i++ ) {
var bx = 13 * 2 + 32 * i;
var by = 12 * 2;
if(vct_button(bx, by, [ vct.shape.get() == i? s_biterator_b_shape_press : s_biterator_b_shape_idle, s_biterator_b_shape_press ], i))
if(vct_button(bx, by, false, [ vct.shape.get() == i? s_biterator_b_shape_press : s_biterator_b_shape_idle, s_biterator_b_shape_press ], i))
vct.shape.set(i);
}
@ -53,71 +234,49 @@ function Biterator_Panel(vct) : PanelVCT(vct) constructor {
var ky = 50 * 2;
draw_sprite_ext(s_biterator_b_grey_long, 0, kx, ky, 2, 2, 0, c_white, 1);
if(vct_button(kx, ky, s_biterator_b_grey_long,, s_biterator_dim_label, vct.dimension.get()))
if(vct_button(kx, ky, false, s_biterator_b_grey_long,, s_biterator_dim_label, vct.dimension.get()))
vct.dimension.set(!vct.dimension.get());
var kx = 210 * 2;
var ky = 74 * 2;
if(vct_button(kx, ky, s_biterator_b_grey_short,, s_biterator_b_labels, 0))
if(vct_button(kx, ky, false, s_biterator_b_grey_short,, s_biterator_b_labels, 0))
vct.reset();
var kx = 237 * 2;
var ky = 74 * 2;
if(vct_button(kx, ky, s_biterator_b_grey_short,, s_biterator_b_labels, 1))
if(vct_button(kx, ky, false, s_biterator_b_grey_short,, s_biterator_b_labels, 1))
vct.reset();
var kx = 264 * 2;
var ky = 74 * 2;
if(vct_button(kx, ky, s_biterator_b_grey_short,, s_biterator_b_labels, 2))
if(vct_button(kx, ky, false, s_biterator_b_grey_short,, s_biterator_b_labels, 2))
vct.reset();
#endregion
#region shape
var kx = 33 * 2;
var ky = 41 * 2;
draw_sprite_ext(s_biterator_knob, 0, kx, ky, 2, 2, 0, c_white, 1);
var kx = 51 * 2;
var ky = 41 * 2;
draw_sprite_ext(s_biterator_knob, 0, kx, ky, 2, 2, 0, c_white, 1);
var kx = 69 * 2;
var ky = 41 * 2;
draw_sprite_ext(s_biterator_knob, 0, kx, ky, 2, 2, 0, c_white, 1);
for( var i = 0; i < 3; i++ ) {
var kx = (33 + 18 * i) * 2;
var ky = 41 * 2;
knob_shape[i] = vct_knob(knob_shape[i], s_biterator_knob, kx, ky, vct.shape_knob[i]);
}
var kx = 20 * 2;
var ky = 63 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
var kx = 33 * 2;
var ky = 63 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
var kx = 46 * 2;
var ky = 63 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
var kx = 59 * 2;
var ky = 63 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
var kx = 72 * 2;
var ky = 63 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
var kx = 85 * 2;
var ky = 63 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
for( var i = 0; i < 6; i++ ) {
var sx = (20 + 13 * i) * 2;
var sy = 94 * 2;
var ex = sx;
var ey = 57 * 2;
slider_shape[i] = vct_slider(slider_shape[i], s_biterator_slider, sx, sy, ex, ey, vct.shape_par[i]);
}
#endregion
#region color
var kx = 40 * 2;
var ky = 208 * 2;
draw_sprite_ext(s_biterator_knob, 0, kx, ky, 2, 2, 0, c_white, 1);
//var col = vct.color[0].get();
var kx = 65 * 2;
var ky = 208 * 2;
draw_sprite_ext(s_biterator_knob, 0, kx, ky, 2, 2, 0, c_white, 1);
for( var i = 0; i < 2; i++ ) {
var kx = (40 + 25 * i) * 2;
var ky = 208 * 2;
knob_color[i] = vct_knob(knob_color[i], s_biterator_knob, kx, ky, vct.color_knob[i]);
}
#endregion
#region pages
@ -126,7 +285,7 @@ function Biterator_Panel(vct) : PanelVCT(vct) constructor {
var ky = (115 + 27 * i) * 2;
var ss = i == page? s_biterator_tab_active : s_biterator_tab_inactive;
if(vct_button(kx, ky, [ss, s_biterator_tab_active], i))
if(vct_button(kx, ky, true, [ss, s_biterator_tab_active], i))
page = i;
}
@ -136,15 +295,17 @@ function Biterator_Panel(vct) : PanelVCT(vct) constructor {
for( var i = 0; i < 4; i++ ) {
var kx = (141 + 39 * i) * 2;
var ky = 122 * 2;
draw_sprite_ext(s_biterator_toggler, 0, kx, ky, 2, 2, 0, c_white, 1);
vct_toggle(s_biterator_toggler, kx, ky, vct.kernel_toggle[i]);
var kx = (145 + 39 * i) * 2;
var ky = 184 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
var sx = (145 + 39 * i) * 2;
var sy = 215 * 2;
var ex = sx;
var ey = 178 * 2;
slider_kernel[i * 2 + 0] = vct_slider(slider_kernel[i * 2 + 0], s_biterator_slider, sx, sy, ex, ey, vct.kernel_value[i * 2 + 0]);
var kx = (162 + 39 * i) * 2;
var ky = 184 * 2;
draw_sprite_ext(s_biterator_slider, 0, kx, ky, 2, 2, 0, c_white, 1);
var sx = (162 + 39 * i) * 2;
var ex = sx;
slider_kernel[i * 2 + 1] = vct_slider(slider_kernel[i * 2 + 1], s_biterator_slider, sx, sy, ex, ey, vct.kernel_value[i * 2 + 1]);
}
#endregion
}

View file

@ -132,8 +132,11 @@ function DirectoryObject(name, path) constructor {
var icon_path = path + "/" + file;
var amo = 1;
var p = string_pos("strip", icon_path);
if(p) amo = toNumber(string_copy(icon_path, p, string_length(icon_path) - p + 1));
if(p) {
var _amo = string_copy(icon_path, p, string_length(icon_path) - p + 1);
_amo = string_digits(_amo);
amo = toNumber(_amo);
}
f.spr_path = [icon_path, amo, false];
} else {
var icon_path = path + "/" + filename_change_ext(file, ".png");

View file

@ -52,8 +52,8 @@
gml_pragma("global", "__init()");
function __init() {
PROJECTS = [];
PROJECT = new Project();
PROJECTS = [ PROJECT ];
}
globalvar PROJECT_VARIABLES;
@ -79,7 +79,7 @@
VERSION = 1147;
SAVE_VERSION = 1448;
VERSION_STRING = "1.14.6n7";
VERSION_STRING = "1.14.6n9";
BUILD_NUMBER = 114600;
globalvar APPEND_MAP;
@ -96,9 +96,10 @@
#region inputs
globalvar FOCUS, FOCUS_STR, HOVER, HOVERING_ELEMENT, _HOVERING_ELEMENT;
globalvar DOUBLE_CLICK;
globalvar DOUBLE_CLICK, DOUBLE_CLICK_POS;
globalvar DIALOG_CLICK;
DOUBLE_CLICK_POS = [ 0, 0 ];
DOUBLE_CLICK = false;
FOCUS = noone;
FOCUS_STR = "";

View file

@ -12,7 +12,7 @@ function Node_VCT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
input_display_list = [ 0,
["Output", false],
["Automations", false],
];
input_display_len = array_length(input_display_list);
@ -35,7 +35,7 @@ function Node_VCT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
static process_data = function(_outSurf, _data, _output_index, _array_index) {
for( var i = 1; i < array_length(_data); i++ )
vct[$ inputs[| i].extra_data.key].set(_data[i]);
vct[$ inputs[| i].extra_data.key].setDirect(_data[i]);
return vct.process();
}

View file

@ -159,8 +159,8 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
draw_sprite_stretched_ext(THEME.ui_panel_active, 0, _x, ty, _w, _hh, COLORS._main_accent, 1);
hovering = _bone;
}
anchor_selecting = [_bone, 2];
anchor_selecting = [ _bone, 2 ];
}
ty += _hh;
@ -168,9 +168,9 @@ function Node_Armature_Bind(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
draw_set_color(COLORS.node_composite_separator);
draw_line(_x + 16, ty, _x + _w - 16, ty);
}
ds_stack_destroy(_bst);
if(layer_dragging != noone && hovering && mouse_release(mb_left)) {
var _lind = input_fix_len + layer_dragging * data_length;
inputs[| _lind].extra_data.bone_id = hovering.ID;

View file

@ -21,8 +21,8 @@ function Node_Cache(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
static step = function() {
if(cache_loading) {
cached_output[cache_loading_progress] = surface_array_deserialize(cache_content, cache_loading_progress);
cache_result[cache_loading_progress] = true;
cached_output[cache_loading_progress] = __surface_array_deserialize(cache_content[cache_loading_progress]);
cache_result[cache_loading_progress] = true;
cache_loading_progress++;
if(cache_loading_progress == PROJECT.animator.frames_total) {
@ -46,12 +46,12 @@ function Node_Cache(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
}
static doSerialize = function(_map) {
_map[? "cache"] = surface_array_serialize(cached_output);
_map.cache = surface_array_serialize(cached_output);
}
static postDeserialize = function() {
if(!struct_has(load_map, "cache")) return;
cache_content = load_map.cache;
cache_content = json_try_parse(load_map.cache);
cache_loading_progress = 0;
cache_loading = true;
}

View file

@ -28,11 +28,11 @@ function Node_Cache_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constru
static step = function() {
if(cache_loading) {
cached_output[cache_loading_progress] = surface_array_deserialize(cache_content, cache_loading_progress);
cache_result[cache_loading_progress] = true;
cached_output[cache_loading_progress] = __surface_array_deserialize(cache_content[cache_loading_progress]);
cache_result[cache_loading_progress] = true;
cache_loading_progress++;
if(cache_loading_progress == PROJECT.animator.frames_total) {
if(cache_loading_progress == array_length(cache_content) || !is_struct(cache_content[cache_loading_progress])) {
cache_loading = false;
update();
}
@ -41,13 +41,16 @@ function Node_Cache_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constru
static update = function() {
var ss = [];
var str = inputs[| 1].getValue();
var lst = inputs[| 2].getValue();
var str = inputs[| 1].getValue() - 1;
var lst = inputs[| 2].getValue() - 1;
var stp = inputs[| 3].getValue();
if(str == -1) str = 0;
if(lst == -1) lst = PROJECT.animator.frames_total;
if(PROJECT.animator.current_frame < str) return;
if(PROJECT.animator.current_frame > lst) return;
if(lst > str && stp > 0)
for( var i = str; i <= lst; i += stp ) {
if(cacheExist(i))
@ -68,12 +71,12 @@ function Node_Cache_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constru
}
static doSerialize = function(_map) {
_map[? "cache"] = surface_array_serialize(cached_output);
_map.cache = surface_array_serialize(cached_output);
}
static postDeserialize = function() {
if(!struct_has(load_map, "cache")) return;
cache_content = load_map.cache;
cache_content = json_try_parse(load_map.cache);
cache_loading_progress = 0;
cache_loading = true;
}

View file

@ -61,15 +61,15 @@ function upgroupNode(collection, record = true) {
function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
nodes = ds_list_create();
ungroupable = true;
auto_render_time = false;
ungroupable = true;
auto_render_time = false;
combine_render_time = true;
reset_all_child = false;
isInstancer = false;
instanceBase = noone;
isInstancer = false;
instanceBase = noone;
custom_input_index = 0;
custom_input_index = 0;
custom_output_index = 0;
metadata = new MetaDataManager();
@ -78,6 +78,8 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
attributes.w = 128;
attributes.h = 128;
tool_node = noone;
array_push(attributeEditors, ["Edit separator", function() { return attributes.separator; },
button(function() {
var dia = dialogCall(o_dialog_group_input_order);
@ -385,6 +387,15 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
ds_priority_destroy(ar);
}
static getTool = function() {
for(var i = 0; i < ds_list_size(nodes); i++) {
var _node = nodes[| i];
if(_node.isTool) return _node.getTool();
}
return self;
}
static onClone = function(_newNode, target = PANEL_GRAPH.getCurrentContext()) {
if(instanceBase != noone) {
_newNode.instanceBase = instanceBase;

View file

@ -125,6 +125,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
manual_updated = false;
manual_deletable = true;
isTool = false;
tool_settings = [];
tool_attribute = {};
@ -1042,6 +1043,11 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
xx -= 28 * badgeInspect;
}
if(isTool) {
draw_sprite_ext(THEME.node_state, 2, xx, yy, 1, 1, 0, c_white, 1);
xx -= 28 * 2;
}
inspecting = false;
previewing = 0;
}
@ -1069,9 +1075,9 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
if(PANEL_GRAPH.node_hover == self) PANEL_GRAPH.node_hover = noone;
if(PANEL_GRAPH.node_focus == self) PANEL_GRAPH.node_focus = noone;
if(PANEL_PREVIEW.preview_node[0] == self) PANEL_PREVIEW.preview_node[0] = noone;
if(PANEL_PREVIEW.preview_node[1] == self) PANEL_PREVIEW.preview_node[1] = noone;
if(PANEL_INSPECTOR.inspecting == self) PANEL_INSPECTOR.inspecting = noone;
PANEL_PREVIEW.removeNodePreview(self);
PANEL_ANIMATION.updatePropertyList();
for(var i = 0; i < ds_list_size(outputs); i++) {
@ -1342,6 +1348,22 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
return BBOX().fromWH(preview_x, preview_y, surface_get_width(_surf), surface_get_height(_surf));
}
static getTool = function() {
return self;
}
static setTool = function(tool) {
if(!tool) {
isTool = false;
return;
}
for( var i = 0; i < ds_list_size(group.nodes); i++ )
group.nodes[| i].isTool = false;
isTool = true;
}
static serialize = function(scale = false, preset = false) {
var _map = {};
//print(" > Serializing: " + name);
@ -1356,6 +1378,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
_map.type = instanceof(self);
_map.group = group == noone? group : group.node_id;
_map.preview = previewable;
_map.tool = isTool;
}
_map.attri = attributeSerialize();
@ -1410,6 +1433,7 @@ function Node(_x, _y, _group = PANEL_GRAPH.getCurrentContext()) : __Node_Base(_x
y = struct_try_get(load_map, "y");
renderActive = struct_try_get(load_map, "render", true);
previewable = struct_try_get(load_map, "preview", previewable);
isTool = struct_try_get(load_map, "tool");
}
if(struct_has(load_map, "attri"))

View file

@ -0,0 +1,154 @@
function Node_Random_Shape(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
name = "Random Shape";
inputs[| 0] = nodeValue("Dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2)
.setDisplay(VALUE_DISPLAY.vector);
inputs[| 1] = nodeValue("Seed", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, irandom_range(100000, 999999));
outputs[| 0] = nodeValue("Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone);
input_display_list = [
["Output", false], 0,
["Shape", false], 1
]
function surfaceContentRatio(_surf) {
var s = 0;
var _sw = surface_get_width(_surf);
var _sh = surface_get_height(_surf);
var total = _sw * _sh;
var _buff = buffer_create(_sw * _sh * 4, buffer_fixed, 4);
buffer_get_surface(_buff, _surf, 0);
buffer_seek(_buff, buffer_seek_start, 0);
repeat(total) {
var b = buffer_read(_buff, buffer_u32);
if(b) s++;
}
buffer_delete(_buff);
return s / total;
}
function generateShape(_dim) {
var _shap = surface_create(_dim[0], _dim[1]);
surface_set_target(_shap);
DRAW_CLEAR
draw_set_color(c_white);
var _amou = choose(1, 1, 2, 2, 3, 3, 3);
repeat(_amou) {
var _side = min(_dim[0], _dim[1]);
var _size = irandom_range(_side * 0.25, _side * 0.75);
var _shape = surface_create(_size, _size);
surface_set_target(_shape);
DRAW_CLEAR
draw_set_color(c_white);
var _cx = _size / 2;
var _cy = _size / 2;
var _sx = _size / 2;
var _sy = _size / 2;
var _x0 = _cx - _sx;
var _y0 = _cy - _sy;
var _x1 = _cx + _sx;
var _y1 = _cy + _sy;
var _r = irandom(4) * 2;
switch(irandom(2)) {
case 0 : draw_roundrect_ext(_x0, _y0, _x1, _y1, _r, _r, false); break;
case 1 : draw_ellipse(_x0, _y0, _x1, _y1, false); break;
case 2 : draw_triangle((_x0 + _x1) / 2, _y0, _x0, _y1, _x1, _y1, false); break;
}
surface_reset_target();
var _sx = irandom_range(_dim[0] / 2 - _size / 2, _dim[0] / 2 + _size / 2);
var _sy = irandom_range(_dim[1] / 2 - _size / 2, _dim[1] / 2 + _size / 2);
draw_surface(_shape, _sx - _size / 2, _sy - _size / 2);
surface_free(_shape);
}
surface_reset_target();
var _surf = surface_create(_dim[0], _dim[1]);
surface_set_target(_surf);
DRAW_CLEAR
draw_surface_ext(_shap, 0, 0, 1, 1, 0, c_white, 1);
draw_surface_ext(_shap, _dim[0], 0, -1, 1, 0, c_white, 1);
draw_surface_ext(_shap, 0, _dim[1], 1, -1, 0, c_white, 1);
draw_surface_ext(_shap, _dim[0], _dim[1], -1, -1, 0, c_white, 1);
surface_reset_target();
surface_free(_shap);
return _surf;
}
static process_data = function(_outSurf, _data, _output_index, _array_index) {
var _dim = _data[0];
var _seed = _data[1];
random_set_seed(_seed);
var _surf = generateShape(_dim);
var _prog;
var _side = irandom(2);
if(random(1) < 0.5) {
_prog = surface_create(_dim[0], _dim[1]);
var _size = [ _dim[0] * .75, _dim[1] * 0.75 ];
var _subs = generateShape(_size);
var _sx = _dim[0] / 2;
var _sy = _dim[1] / 2;
switch(_side) {
case 0 : _sx = irandom_range(_dim[0] / 2 - _size[0] / 2, _dim[0] / 2 + _size[0] / 2); break;
case 1 : _sy = irandom_range(_dim[1] / 2 - _size[1] / 2, _dim[1] / 2 + _size[1] / 2); break;
}
surface_set_target(_prog);
DRAW_CLEAR
if(random(1) < 0.5) {
shader_set(sh_rsh_rotate);
shader_set_f("dimension", _dim[0], _dim[1]);
draw_surface(_surf, 0, 0);
shader_reset();
} else
draw_surface(_surf, 0, 0);
BLEND_SUBTRACT
draw_surface(_subs, _sx - _size[0] / 2, _sy - _size[1] / 2);
BLEND_NORMAL
surface_reset_target();
surface_free(_subs);
surface_free(_surf);
} else
_prog = _surf;
var _rat = surfaceContentRatio(_prog);
if(_rat < 0.2) {
surface_free(_prog);
_prog = generateShape(_dim);
}
var _corn = surface_create(_dim[0], _dim[1]);
surface_set_shader(_corn, sh_rsh_corner, true, BLEND.add);
shader_set_f("dimension", _dim[0], _dim[1]);
shader_set_i("type", choose(0, 0, 1, 1, 1));
draw_surface(_prog, 0, 0);
if(_side == 1) draw_surface_ext(_prog, 0, _dim[1], 1, -1, 0, c_white, 1);
if(_side == 2) draw_surface_ext(_prog, _dim[0], 0, -1, 1, 0, c_white, 1);
surface_reset_shader();
surface_free(_prog);
return _corn;
}
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "node_random_shape",
"isCompatibility": false,
"isDnD": false,
"parent": {
"name": "generator",
"path": "folders/nodes/data/generator.yy",
},
}

View file

@ -372,6 +372,7 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
addNodeObject(generator, "Draw Text", s_node_text_render, "Node_Text", [1, Node_Text],, "Draw text on an image.");
addNodeObject(generator, "Shape", s_node_shape, "Node_Shape", [1, Node_Shape],, "Draw simple shapes using signed distance field.");
addNodeObject(generator, "Polygon Shape", s_node_shape_polygon, "Node_Shape_Polygon", [1, Node_Shape_Polygon],, "Draw simple shapes using triangles.").setVersion(1130);
addNodeObject(generator, "Random Shape", s_node_random_shape, "Node_Random_Shape", [1, Node_Random_Shape]).setVersion(1147);
ds_list_add(generator, "Noises");
addNodeObject(generator, "Noise", s_node_noise, "Node_Noise", [1, Node_Noise],, "Generate white noise.");
@ -610,9 +611,9 @@ function NodeObject(_name, _spr, _node, _create, tags = []) constructor {
ds_list_add(node, "Debug");
addNodeObject(node, "Print", s_node_print, "Node_Print", [1, Node_Print], ["debug log"], "Display text to notification.").setVersion(1145);
var vct = ds_list_create();
addNodeCatagory("VCT", vct);
addNodeObject(vct, "Biterator", s_node_condition, "Node_Biterator", [1, Node_Biterator]);
//var vct = ds_list_create();
//addNodeCatagory("VCT", vct);
// addNodeObject(vct, "Biterator", s_node_condition, "Node_Biterator", [1, Node_Biterator]);
var hid = ds_list_create();
addNodeCatagory("Hidden", hid, ["Hidden"]);

View file

@ -562,6 +562,13 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
}, THEME.group, ["Graph", "Ungroup"]));
}
if(node_hover.group != noone) {
array_push(menu,
menuItem(__txt("Set as group tool"), function() {
node_hover.setTool(!node_hover.isTool);
}));
}
array_push(menu, -1);
array_push(menu,
@ -1505,8 +1512,7 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
if(buttonInstant(THEME.button_hide_fill, xx - ui(6), tbh - bh / 2, tw + ui(12), bh, [mx, my], pFOCUS, pHOVER) == 2) {
node_hover = noone;
node_focus = noone;
PANEL_PREVIEW.preview_node[0] = noone;
PANEL_PREVIEW.preview_node[1] = noone;
PANEL_PREVIEW.resetNodePreview();
setContextFrame(true, node_context[| i + 1]);
if(i == -1) {

View file

@ -39,8 +39,6 @@ function Panel_Preview() : PanelContent() constructor {
preview_surface = [ 0, 0 ];
tile_surface = surface_create(1, 1);
inspect_node = noone;
preview_x = 0;
preview_x_to = 0;
preview_x_max = 0;
@ -169,9 +167,18 @@ function Panel_Preview() : PanelContent() constructor {
preview_node[splitView? splitSelection : 0] = node;
}
function getNodePreview() { return preview_node[splitView? splitSelection : 0]; }
function getNodePreviewSurface() { return preview_surface[splitView? splitSelection : 0]; }
function getNodePreviewSequence() { return preview_sequence[splitView? splitSelection : 0]; }
function removeNodePreview(node) {
if(preview_node[0] == node) preview_node[0] = noone;
if(preview_node[1] == node) preview_node[1] = noone;
}
function resetNodePreview() {
preview_node = [ noone, noone ];
}
function getNodePreview() { return preview_node[splitView? splitSelection : 0]; }
function getNodePreviewSurface() { return preview_surface[splitView? splitSelection : 0]; }
function getNodePreviewSequence() { return preview_sequence[splitView? splitSelection : 0]; }
function getPreviewData() {
preview_surface = [ 0, 0 ];
@ -780,7 +787,7 @@ function Panel_Preview() : PanelContent() constructor {
draw_sprite_stretched(THEME.toolbar, 1, 0, 0, w, scHeight);
if(tool_current != noone) { //tool settings
var settings = PANEL_GRAPH.node_focus.tool_settings;
var settings = _node.tool_settings;
var len = array_length(settings);
for( var i = 0; i < array_length(tool_current.settings); i++ )
settings[len + i] = tool_current.settings[i];
@ -970,15 +977,14 @@ function Panel_Preview() : PanelContent() constructor {
drawNodePreview();
drawPreviewOverlay();
if(PANEL_PREVIEW == self)
inspect_node = PANEL_GRAPH.node_focus;
var inspect_node = PANEL_INSPECTOR.inspecting;
if(inspect_node)
drawNodeTools(pFOCUS, inspect_node);
if(last_focus != inspect_node) {
last_focus = inspect_node;
var tool = noone;
if(inspect_node) {
tool = inspect_node.getTool();
if(tool) drawNodeTools(pFOCUS, tool);
} else
tool_current = noone;
}
if(do_fullView) {
do_fullView = false;
@ -999,7 +1005,7 @@ function Panel_Preview() : PanelContent() constructor {
}
drawSplitView();
drawToolBar(PANEL_GRAPH.node_focus);
if(tool) drawToolBar(tool);
}
function copyCurrentFrame() {

View file

@ -21,6 +21,7 @@ function preview_overlay_area_padding(interact, active, _x, _y, _s, _mx, _my, _s
var yc = (y0 + y1) / 2;
draw_set_color(COLORS._main_accent);
draw_set_circle_precision(32);
switch(__at) {
case AREA_SHAPE.rectangle : draw_rectangle(x0, y0, x1, y1, true); break;
case AREA_SHAPE.elipse : draw_ellipse(x0, y0, x1, y1, true); break;
@ -151,6 +152,7 @@ function preview_overlay_area_two_point(interact, active, _x, _y, _s, _mx, _my,
var yc = (y0 + y1) / 2;
draw_set_color(COLORS._main_accent);
draw_set_circle_precision(32);
switch(__at) {
case AREA_SHAPE.rectangle : draw_rectangle(x0, y0, x1, y1, true); break;
case AREA_SHAPE.elipse : draw_ellipse(x0, y0, x1, y1, true); break;
@ -256,6 +258,7 @@ function preview_overlay_area_span(interact, active, _x, _y, _s, _mx, _my, _snx,
var _ah = __ah * _s;
draw_set_color(COLORS._main_accent);
draw_set_circle_precision(32);
switch(__at) {
case AREA_SHAPE.rectangle : draw_rectangle(_ax - _aw, _ay - _ah, _ax + _aw, _ay + _ah, true); break;
case AREA_SHAPE.elipse : draw_ellipse(_ax - _aw, _ay - _ah, _ax + _aw, _ay + _ah, true); break;

View file

@ -54,6 +54,13 @@
return irandom_range(array_safe_get(val, 0, 0),
array_safe_get(val, 1, 1));
} ];
global.FUNCTIONS[? "range"] = [ ["length"], function(val) {
var arr = array_create(array_safe_get(val, 0, 0));
for( var i = 0; i < array_length(arr); i++ )
arr[i] = i;
return arr;
} ];
#endregion
function functionStringClean(fx) {

View file

@ -390,8 +390,8 @@ function textArea(_input, _onModify, _extras = noone) : textInput(_input, _onMod
}
cursor_select = -1;
modified = true;
} else if(KEYBOARD_STRING != "") {
var ch = KEYBOARD_STRING;
} else if(KEYBOARD_STRING != "" && KEYBOARD_STRING != "\b" && KEYBOARD_STRING != "\r") {
var ch = KEYBOARD_STRING;
if(cursor_select == -1) {
var str_before = string_copy(_input_text, 1, cursor);
@ -426,6 +426,12 @@ function textArea(_input, _onModify, _extras = noone) : textInput(_input, _onMod
if(auto_update && keyboard_check_pressed(vk_anykey))
apply();
if(keyboard_check_pressed(vk_left)) onKey(vk_left);
if(keyboard_check_pressed(vk_right)) onKey(vk_right);
if(keyboard_check_pressed(vk_up)) onKey(vk_up);
if(keyboard_check_pressed(vk_down)) onKey(vk_down);
if(keyboard_check_pressed(vk_home)) {
if(key_mod_press(SHIFT)) {
if(cursor_select == -1)

View file

@ -199,6 +199,9 @@ function textBox(_input, _onModify, _extras = noone) : textInput(_input, _onModi
KEYBOARD_STRING = "";
keyboard_lastkey = -1;
#endregion
if(keyboard_check_pressed(vk_left)) onKey(vk_left);
if(keyboard_check_pressed(vk_right)) onKey(vk_right);
if(keyboard_check_pressed(vk_home)) {
if(key_mod_press(SHIFT)) {

View file

@ -1,4 +1,6 @@
function vct_button(bx, by, sprs, ind = 0, icon = noone, icon_ind = 0, icon_drop = [-2, 0]) {
function vct_button(bx, by, press, sprs, ind = 0, icon = noone, icon_ind = 0, icon_drop = [-2, 0]) {
var _s = sprite_scale;
var hover = false;
var useIndex = !is_array(sprs);
@ -9,10 +11,10 @@ function vct_button(bx, by, sprs, ind = 0, icon = noone, icon_ind = 0, icon_drop
var ox = sprite_get_xoffset(ss);
var oy = sprite_get_yoffset(ss);
var _x0 = bx - ox * 2;
var _y0 = by - oy * 2;
var _x1 = _x0 + bw * 2;
var _y1 = _y0 + bh * 2;
var _x0 = bx - ox * _s;
var _y0 = by - oy * _s;
var _x1 = _x0 + bw * _s;
var _y1 = _y0 + bh * _s;
var res = false;
var pes = false;
@ -23,16 +25,18 @@ function vct_button(bx, by, sprs, ind = 0, icon = noone, icon_ind = 0, icon_drop
res = true;
if(mouse_click(mb_left, pFOCUS)) {
if(press)
res = true;
pes = true;
if(useIndex) ind = 1;
else ss = sprs[1];
}
}
draw_sprite_ext(ss, ind, bx, by, 2, 2, 0, c_white, 1);
if(hover) draw_sprite_ext_add(ss, ind, bx, by, 2, 2, 0, c_white, 0.4);
draw_sprite_ext(ss, ind, bx, by, _s, _s, 0, c_white, 1);
if(hover) draw_sprite_ext_add(ss, ind, bx, by, _s, _s, 0, c_white, 0.4);
if(icon) draw_sprite_ext(icon, icon_ind, (_x0 + _x1) / 2, (_y0 + _y1) / 2 + icon_drop[pes], 2, 2, 0, c_white, 1);
if(icon) draw_sprite_ext(icon, icon_ind, (_x0 + _x1) / _s, (_y0 + _y1) / _s + icon_drop[pes], _s, _s, 0, c_white, 1);
return res;
}

View file

@ -0,0 +1,52 @@
function vct_knob(pressing, spr, sx, sy, val, angle_min = -135, angle_max = 135, inv = true) {
var _s = sprite_scale;
var _val = val.get();
var min_val = val.disp_data[0];
var max_val = val.disp_data[1];
var _step = val.disp_data[2];
var prog = clamp((_val - min_val) / (max_val - min_val), 0, 1);
var ind = prog * (sprite_get_number(spr) - 1);
var _sx = sx;
var _sy = sy;
var pres = pressing;
var bw = sprite_get_width(spr);
var bh = sprite_get_height(spr);
var ox = sprite_get_xoffset(spr);
var oy = sprite_get_yoffset(spr);
var _x0 = _sx - ox * _s;
var _y0 = _sy - oy * _s;
var _x1 = _x0 + bw * _s;
var _y1 = _y0 + bh * _s;
draw_sprite_ext(spr, ind, _sx, _sy, _s, _s, 0, c_white, 1);
if(pressing) {
var _v = point_direction(_sx, _sy, mx, my) - 90;
if(_v > 180) _v = _v - 360;
if(inv) _v *= -1;
_v = (clamp(_v, angle_min, angle_max) - angle_min) / (angle_max - angle_min);
_v = lerp(min_val, max_val, clamp(_v, 0, 1));
_v = round(_v / _step) * _step;
val.set(_v);
if(mouse_release(mb_left))
pres = false;
} else {
if(pHOVER && point_in_circle(mx, my, sx, sy, bw / 2 * _s)) {
draw_sprite_ext_add(spr, ind, _sx, _sy, _s, _s, 0, c_white, 0.4);
if(mouse_press(mb_left, pFOCUS))
pres = true;
}
}
return pres;
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "vct_knob",
"isCompatibility": false,
"isDnD": false,
"parent": {
"name": "widget",
"path": "folders/VCT/widget.yy",
},
}

View file

@ -0,0 +1,49 @@
function vct_slider(pressing, spr, sx, sy, ex, ey, val) {
var _s = sprite_scale;
var _val = val.get();
var min_val = val.disp_data[0];
var max_val = val.disp_data[1];
var _step = val.disp_data[2];
var prog = clamp((_val - min_val) / (max_val - min_val), 0, 1);
var _sx = lerp(sx, ex, prog);
var _sy = lerp(sy, ey, prog);
var pres = pressing;
var bw = sprite_get_width(spr);
var bh = sprite_get_height(spr);
var ox = sprite_get_xoffset(spr);
var oy = sprite_get_yoffset(spr);
_sx -= (bw / 2 - ox) * _s;
_sy -= (bh / 2 - oy) * _s;
var _x0 = _sx - ox * _s;
var _y0 = _sy - oy * _s;
var _x1 = _x0 + bw * _s;
var _y1 = _y0 + bh * _s;
draw_sprite_ext(spr, pressing, _sx, _sy, _s, _s, 0, c_white, 1);
if(pressing) {
var _v = dot_product(ex - sx, ey - sy, mx - sx, my - sy) / (point_distance(sx, sy, ex, ey) * point_distance(sx, sy, ex, ey));
_v = lerp(min_val, max_val, clamp(_v, 0, 1));
_v = round(_v / _step) * _step;
val.set(_v);
if(mouse_release(mb_left))
pres = false;
} else {
if(pHOVER && point_in_rectangle(mx, my, _x0, _y0, _x1, _y1)) {
draw_sprite_ext_add(spr, 0, _sx, _sy, _s, _s, 0, c_white, 0.4);
if(mouse_press(mb_left, pFOCUS))
pres = true;
}
}
return pres;
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "vct_slider",
"isCompatibility": false,
"isDnD": false,
"parent": {
"name": "widget",
"path": "folders/VCT/widget.yy",
},
}

View file

@ -0,0 +1,25 @@
function vct_toggle(spr, sx, sy, val) {
var _s = sprite_scale;
var _val = val.get();
var bw = sprite_get_width(spr);
var bh = sprite_get_height(spr);
var ox = sprite_get_xoffset(spr);
var oy = sprite_get_yoffset(spr);
var _x0 = sx - ox * _s;
var _y0 = sy - oy * _s;
var _x1 = _x0 + bw * _s;
var _y1 = _y0 + bh * _s;
draw_sprite_ext(spr, _val, sx, sy, _s, _s, 0, c_white, 1);
if(pHOVER && point_in_rectangle(mx, my, _x0, _y0, _x1, _y1)) {
draw_sprite_ext_add(spr, _val, sx, sy, _s, _s, 0, c_white, 0.4);
if(mouse_press(mb_left, pFOCUS))
val.set(!_val);
}
}

View file

@ -0,0 +1,11 @@
{
"resourceType": "GMScript",
"resourceVersion": "1.0",
"name": "vct_toggle",
"isCompatibility": false,
"isDnD": false,
"parent": {
"name": "widget",
"path": "folders/VCT/widget.yy",
},
}

View file

@ -4,7 +4,7 @@ function window_close() {
for( var i = 0; i < array_length(PROJECTS); i++ ) {
var project = PROJECTS[i];
print($"Project {filename_name_only(project)} modified: {project.modified} readonly: {project.readonly}");
//print($"Project {filename_name_only(project)} modified: {project.modified} readonly: {project.readonly}");
if(project.modified && !project.readonly) {
var dia = dialogCall(o_dialog_exit,,,, true);
dia.project = project;

View file

@ -0,0 +1,71 @@
//
// Simple passthrough fragment shader
//
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform vec2 dimension;
uniform int type;
vec4 sample( vec2 pos ) {
if(pos.x < 0. || pos.y < 0.) return vec4(0.);
if(pos.x > 1. || pos.y > 1.) return vec4(0.);
return texture2D( gm_BaseTexture, pos );
}
void main() {
vec2 tx = 1. / dimension;
vec4 a = sample( v_vTexcoord );
gl_FragColor = a;
if(type == 0) return;
if(type == 2 && v_vTexcoord.x > 0.5) return;
if(type == 3 && v_vTexcoord.y > 0.5) return;
bool a0 = sample( v_vTexcoord + vec2(-tx.x, -tx.y) ).a == 1.;
bool a1 = sample( v_vTexcoord + vec2( .0, -tx.y) ).a == 1.;
bool a2 = sample( v_vTexcoord + vec2( tx.x, -tx.y) ).a == 1.;
bool a3 = sample( v_vTexcoord + vec2(-tx.x, .0) ).a == 1.;
bool a4 = a.a == 1.;
bool a5 = sample( v_vTexcoord + vec2( tx.x, .0) ).a == 1.;
bool a6 = sample( v_vTexcoord + vec2(-tx.x, tx.y) ).a == 1.;
bool a7 = sample( v_vTexcoord + vec2( .0, tx.y) ).a == 1.;
bool a8 = sample( v_vTexcoord + vec2( tx.x, tx.y) ).a == 1.;
// 0 1 2
// 3 4 5
// 6 7 8
if(a.a == 0.) {
/**/ if(a0 && a1 && a2 && a3 && !a5 && a6 && !a7 && !a8)
gl_FragColor = vec4(1.);
else if(a0 && a1 && a2 && !a3 && a5 && !a6 && !a7 && a8)
gl_FragColor = vec4(1.);
else if(a0 && !a1 && !a2 && a3 && !a5 && a6 && a7 && a8)
gl_FragColor = vec4(1.);
else if(!a0 && !a1 && a2 && !a3 && a5 && a6 && a7 && a8)
gl_FragColor = vec4(1.);
else if(a3 && a5)
gl_FragColor = vec4(1.);
else if(a1 && a7)
gl_FragColor = vec4(1.);
} else {
/**/ if(a0 && a1 && !a2 && a3 && !a5 && !a6 && !a7 && !a8)
gl_FragColor = vec4(0.);
else if(!a0 && a1 && a2 && !a3 && a5 && !a6 && !a7 && !a8)
gl_FragColor = vec4(0.);
else if(!a0 && !a1 && !a2 && a3 && !a5 && a6 && a7 && !a8)
gl_FragColor = vec4(0.);
else if(!a0 && !a1 && !a2 && !a3 && a5 && !a6 && a7 && a8)
gl_FragColor = vec4(0.);
else if(!a3 && !a5)
gl_FragColor = vec4(0.);
else if(!a1 && !a7)
gl_FragColor = vec4(0.);
}
}

View 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;
}

View file

@ -0,0 +1,10 @@
{
"resourceType": "GMShader",
"resourceVersion": "1.0",
"name": "sh_rsh_corner",
"parent": {
"name": "random shape",
"path": "folders/shader/generator/random shape.yy",
},
"type": 1,
}

View file

@ -0,0 +1,34 @@
//
// Simple passthrough fragment shader
//
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform vec2 dimension;
vec4 sample( vec2 pos ) {
if(pos.x < 0. || pos.y < 0.) return vec4(0.);
if(pos.x > 1. || pos.y > 1.) return vec4(0.);
return texture2D( gm_BaseTexture, pos );
}
void main() {
vec2 tx = 1. / dimension;
vec4 a = sample( v_vTexcoord );
gl_FragColor = a;
if(a.a == 0.) return;
bool a1 = sample( v_vTexcoord + vec2( .0, -tx.y) ).a == 1.;
bool a3 = sample( v_vTexcoord + vec2(-tx.x, .0) ).a == 1.;
bool a4 = a.a == 1.;
bool a5 = sample( v_vTexcoord + vec2( tx.x, .0) ).a == 1.;
bool a7 = sample( v_vTexcoord + vec2( .0, tx.y) ).a == 1.;
// 0 1 2
// 3 4 5
// 6 7 8
if(!a1 || !a3 || !a5 || !a7)
gl_FragColor = vec4(0.);
}

View 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;
}

View file

@ -0,0 +1,10 @@
{
"resourceType": "GMShader",
"resourceVersion": "1.0",
"name": "sh_rsh_erode",
"parent": {
"name": "random shape",
"path": "folders/shader/generator/random shape.yy",
},
"type": 1,
}

View file

@ -0,0 +1,35 @@
//
// Simple passthrough fragment shader
//
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
uniform vec2 dimension;
#define PI 3.14159265359
vec4 sample( vec2 pos ) {
if(pos.x < 0. || pos.y < 0.) return vec4(0.);
if(pos.x > 1. || pos.y > 1.) return vec4(0.);
return texture2D( gm_BaseTexture, pos );
}
void main() {
vec2 tx = 1. / dimension;
//vec4 a = sample( v_vTexcoord );
//gl_FragColor = a;
//if(a.a == 1.) return;
float dist = length(v_vTexcoord - vec2(0.5, 0.5)) * 3.;
float cir = PI * dist * dimension.x;
for( float i = 0.; i < cir; i++ ) {
float angle = 2. * PI * i / cir;
vec4 b = sample( vec2(0.5, 0.5) + vec2(cos(angle), sin(angle)) * dist * 0.5 );
if(b.a == 1.) {
gl_FragColor = b;
return;
}
}
}

View 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;
}

View file

@ -0,0 +1,10 @@
{
"resourceType": "GMShader",
"resourceVersion": "1.0",
"name": "sh_rsh_rotate",
"parent": {
"name": "random shape",
"path": "folders/shader/generator/random shape.yy",
},
"type": 1,
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

View file

@ -13,18 +13,18 @@
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"308802a0-fa63-46ac-8fe2-05cf48998688",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"e023214a-f6ab-44dd-84b7-5dbc7eb96b38",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"b101e181-c231-46c2-abc4-1215e04f8df2",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"7e83d210-7ed4-48c0-b984-69c8f077df4d",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"41afcd9e-bcf0-4a94-a9ff-7f405c74461a",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"397dc64f-6b4f-4c90-bfd1-932b8e18a256",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"8e5f7f1b-5560-40c7-b382-5ad9472ea43e",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"880b8ed2-b434-4aeb-82d1-e9cf11bcd1b7",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"d4160ac6-0f0f-49e9-9d0a-458d9f8c1acd",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"4d242e1f-820a-44b4-9ee3-6921de233082",},
],
"gridX": 0,
"gridY": 0,
"height": 17,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"3b7a94ea-7973-46eb-bec9-848b4b2cdbac","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"192e4fa2-f6b5-4ac4-9b15-7109ef6cdb52","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 0,
@ -58,11 +58,11 @@
"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":"308802a0-fa63-46ac-8fe2-05cf48998688","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"14420cc2-dd84-4395-b530-720a8b224bfa","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"e023214a-f6ab-44dd-84b7-5dbc7eb96b38","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"8fe2161f-3b32-4e1b-846f-3558b2c47f01","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"b101e181-c231-46c2-abc4-1215e04f8df2","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"7ef20f0a-279e-409a-97eb-d3700d95b21e","IsCreationKey":false,"Key":2.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"7e83d210-7ed4-48c0-b984-69c8f077df4d","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"d522dafc-46e1-4694-b04b-4cb9007716ff","IsCreationKey":false,"Key":3.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"41afcd9e-bcf0-4a94-a9ff-7f405c74461a","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"e23f61d1-a816-431b-b1cb-c53101bdd496","IsCreationKey":false,"Key":4.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"397dc64f-6b4f-4c90-bfd1-932b8e18a256","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"2640518d-c7b7-4229-bcf3-4485a95b04b2","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"8e5f7f1b-5560-40c7-b382-5ad9472ea43e","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"4850be9b-64cb-49c2-9a38-6bd1a959c41d","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"880b8ed2-b434-4aeb-82d1-e9cf11bcd1b7","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"a3228b5d-4de1-4678-be5b-9c7de5d53425","IsCreationKey":false,"Key":2.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"d4160ac6-0f0f-49e9-9d0a-458d9f8c1acd","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"bb2feb5c-0f59-425b-9df5-baf5742f2ce7","IsCreationKey":false,"Key":3.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"4d242e1f-820a-44b4-9ee3-6921de233082","path":"sprites/s_biterator_b_shape_idle/s_biterator_b_shape_idle.yy",},},},"Disabled":false,"id":"23a1e316-fe9e-48d8-8596-b3de98f29ef1","IsCreationKey":false,"Key":4.0,"Length":1.0,"Stretch":false,},
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange": null,

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

View file

@ -13,18 +13,18 @@
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"9c1138a9-637c-4d03-b137-201ac0e6b552",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"c00399fd-1822-416b-a620-dac86b89dc71",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"e7ba4754-9a38-40ab-bb88-f1c11e616574",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"b68dc0b7-b538-4671-961c-44da806cde3c",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"7508d446-c0a7-4ff4-8112-b1a888cd80ce",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"d4b71b31-8a94-4c51-a28a-7f4fe0bab6f3",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"da25398a-0f65-473f-8b51-6ebf770f0581",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"405fe942-c18d-43df-b480-37a35a4eca21",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"f5d46f9f-363a-485e-aed5-b029bf5262cd",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"718994d9-4bca-49d5-adf0-76cde4479797",},
],
"gridX": 0,
"gridY": 0,
"height": 17,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"f883e9ca-e7ae-4680-8e91-725f59a800d5","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"8759b1c8-70c0-4953-917a-81e40bb99f30","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 0,
@ -58,11 +58,11 @@
"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":"9c1138a9-637c-4d03-b137-201ac0e6b552","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"e27d3c3b-1e21-4e8f-a800-6d615278fe5f","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"c00399fd-1822-416b-a620-dac86b89dc71","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"3d358247-013d-47f9-9218-923dd15900fb","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"e7ba4754-9a38-40ab-bb88-f1c11e616574","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"fa55e642-fa80-41ec-b540-c4f4598a2c0e","IsCreationKey":false,"Key":2.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"b68dc0b7-b538-4671-961c-44da806cde3c","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"fff55524-e8c9-4d69-9311-0c7f3e0fa53e","IsCreationKey":false,"Key":3.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"7508d446-c0a7-4ff4-8112-b1a888cd80ce","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"5a54e846-95d1-420f-af61-a234a0fd1658","IsCreationKey":false,"Key":4.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"d4b71b31-8a94-4c51-a28a-7f4fe0bab6f3","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"67fca164-596d-40f8-a693-1ec6f2235c44","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"da25398a-0f65-473f-8b51-6ebf770f0581","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"08bb3b4a-cee0-4cf3-bc8e-518959d064ed","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"405fe942-c18d-43df-b480-37a35a4eca21","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"cc75283f-6d6d-4257-92c1-c2df45792192","IsCreationKey":false,"Key":2.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"f5d46f9f-363a-485e-aed5-b029bf5262cd","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"75ebea2d-a49b-4e75-9026-52a603254c0b","IsCreationKey":false,"Key":3.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"718994d9-4bca-49d5-adf0-76cde4479797","path":"sprites/s_biterator_b_shape_press/s_biterator_b_shape_press.yy",},},},"Disabled":false,"id":"6181ac71-2035-48c9-ad58-ece46f857ec4","IsCreationKey":false,"Key":4.0,"Length":1.0,"Stretch":false,},
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange": null,

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -13,14 +13,15 @@
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"4c5a3eb3-368f-43a9-a612-f1604d7ac0e3",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"e87752d8-517f-4276-86ca-b75e2e996fa1",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"39effbd9-0c35-43f4-9fb7-6c9c98526917",},
],
"gridX": 0,
"gridY": 0,
"height": 231,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"6db4533f-e75e-4b3d-b944-5b4b74fba8de","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"f022454e-2b9b-46ec-bee1-1f7d7cd70974","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 0,
@ -43,7 +44,7 @@
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
"eventStubScript": null,
"eventToFunction": {},
"length": 1.0,
"length": 2.0,
"lockOrigin": false,
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
"playback": 1,
@ -54,7 +55,8 @@
"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":"4c5a3eb3-368f-43a9-a612-f1604d7ac0e3","path":"sprites/s_biterator_bg/s_biterator_bg.yy",},},},"Disabled":false,"id":"c1d620ec-8537-4f2d-8322-0db682984f91","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"e87752d8-517f-4276-86ca-b75e2e996fa1","path":"sprites/s_biterator_bg/s_biterator_bg.yy",},},},"Disabled":false,"id":"9e640815-0c2a-444d-8d19-515a35ce56ed","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"39effbd9-0c35-43f4-9fb7-6c9c98526917","path":"sprites/s_biterator_bg/s_biterator_bg.yy",},},},"Disabled":false,"id":"db5f347f-d7fd-43d1-aa26-41aa9ed2defc","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange": null,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

View file

@ -13,15 +13,14 @@
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"e194d487-e62a-43e9-95c1-b4b18a98ddd2",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"ac3d4f60-dff5-48d3-8da2-625364134947",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"f1b1e5ca-79ee-47d2-99ac-21343c1acc7e",},
],
"gridX": 0,
"gridY": 0,
"height": 86,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"9d316869-a6df-4984-b7a3-f444bea66b8b","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"7ef47418-9e9b-4d1d-b630-f2018b7931b2","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 0,
@ -44,7 +43,7 @@
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
"eventStubScript": null,
"eventToFunction": {},
"length": 2.0,
"length": 1.0,
"lockOrigin": false,
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
"playback": 1,
@ -55,8 +54,7 @@
"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":"e194d487-e62a-43e9-95c1-b4b18a98ddd2","path":"sprites/s_biterator_canvas/s_biterator_canvas.yy",},},},"Disabled":false,"id":"51591792-6487-485c-a58b-66ed3ca06792","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"ac3d4f60-dff5-48d3-8da2-625364134947","path":"sprites/s_biterator_canvas/s_biterator_canvas.yy",},},},"Disabled":false,"id":"78b2c47f-6126-47c9-b78b-e9364efd9579","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"f1b1e5ca-79ee-47d2-99ac-21343c1acc7e","path":"sprites/s_biterator_canvas/s_biterator_canvas.yy",},},},"Disabled":false,"id":"b16e8f86-78d6-49c8-bf86-7dd14ad56533","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange": null,

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 B

View file

@ -0,0 +1,76 @@
{
"resourceType": "GMSprite",
"resourceVersion": "1.0",
"name": "s_biterator_canvas_cover",
"bbox_bottom": 85,
"bbox_left": 0,
"bbox_right": 84,
"bbox_top": 0,
"bboxMode": 0,
"collisionKind": 1,
"collisionTolerance": 0,
"DynamicTexturePage": false,
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"0859d079-adf5-451d-a2e6-a2ebaaa7a831",},
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"2a36115e-b01e-48b8-95a2-e21feacaf49d",},
],
"gridX": 0,
"gridY": 0,
"height": 86,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"cba02c7f-c44c-4364-b3b0-94f6f7eaf323","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 0,
"parent": {
"name": "biterator",
"path": "folders/VCT/biterator.yy",
},
"preMultiplyAlpha": false,
"sequence": {
"resourceType": "GMSequence",
"resourceVersion": "1.4",
"name": "s_biterator_canvas_cover",
"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": 2.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":"0859d079-adf5-451d-a2e6-a2ebaaa7a831","path":"sprites/s_biterator_canvas_cover/s_biterator_canvas_cover.yy",},},},"Disabled":false,"id":"6927792b-7c9c-428e-b921-59d0f4cac1d5","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"2a36115e-b01e-48b8-95a2-e21feacaf49d","path":"sprites/s_biterator_canvas_cover/s_biterator_canvas_cover.yy",},},},"Disabled":false,"id":"0571fcd1-f18e-4c88-b221-ecf7cc6e41d8","IsCreationKey":false,"Key":1.0,"Length":1.0,"Stretch":false,},
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange": null,
"volume": 1.0,
"xorigin": 0,
"yorigin": 0,
},
"swatchColours": null,
"swfPrecision": 2.525,
"textureGroupId": {
"name": "Default",
"path": "texturegroups/Default",
},
"type": 0,
"VTile": false,
"width": 85,
}

Some files were not shown because too many files have changed in this diff Show more