mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-03-04 06:34:48 +01:00
pixel builder
This commit is contained in:
parent
3e30c496a5
commit
bb2247f415
382 changed files with 2653 additions and 6354 deletions
|
@ -154,15 +154,15 @@
|
|||
{"name":"mk blinker","order":17,"path":"folders/nodes/data/MKFX/mk blinker.yy",},
|
||||
{"name":"Subpixel","order":25,"path":"folders/nodes/data/MKFX/Subpixel.yy",},
|
||||
{"name":"Tile","order":12,"path":"folders/nodes/data/MKFX/Tile.yy",},
|
||||
{"name":"PB","order":12,"path":"folders/nodes/data/PB.yy",},
|
||||
{"name":"draw","order":2,"path":"folders/nodes/data/PB/draw.yy",},
|
||||
{"name":"modify","order":3,"path":"folders/nodes/data/PB/modify.yy",},
|
||||
{"name":"pbbox","order":1,"path":"folders/nodes/data/PB/pbbox.yy",},
|
||||
{"name":"PCX","order":11,"path":"folders/nodes/data/PCX.yy",},
|
||||
{"name":"flow_control","order":1,"path":"folders/nodes/data/PCX/flow_control.yy",},
|
||||
{"name":"fn","order":2,"path":"folders/nodes/data/PCX/fn.yy",},
|
||||
{"name":"surface","order":3,"path":"folders/nodes/data/PCX/surface.yy",},
|
||||
{"name":"value","order":4,"path":"folders/nodes/data/PCX/value.yy",},
|
||||
{"name":"pixel builder","order":12,"path":"folders/nodes/data/pixel builder.yy",},
|
||||
{"name":"draw","order":1,"path":"folders/nodes/data/pixel builder/draw.yy",},
|
||||
{"name":"effect","order":2,"path":"folders/nodes/data/pixel builder/effect.yy",},
|
||||
{"name":"shader","order":3,"path":"folders/nodes/data/pixel builder/shader.yy",},
|
||||
{"name":"render","order":13,"path":"folders/nodes/data/render.yy",},
|
||||
{"name":"simulation","order":14,"path":"folders/nodes/data/simulation.yy",},
|
||||
{"name":"FLIP","order":1,"path":"folders/nodes/data/simulation/FLIP.yy",},
|
||||
|
@ -431,13 +431,11 @@
|
|||
{"name":"__node_shader","order":22,"path":"scripts/__node_shader/__node_shader.yy",},
|
||||
{"name":"__node_surface_filter","order":6,"path":"scripts/__node_surface_filter/__node_surface_filter.yy",},
|
||||
{"name":"__node_template","order":20,"path":"scripts/__node_template/__node_template.yy",},
|
||||
{"name":"__node_value_object","order":3,"path":"scripts/__node_value_object/__node_value_object.yy",},
|
||||
{"name":"__node_value_processor","order":2,"path":"scripts/__node_value_processor/__node_value_processor.yy",},
|
||||
{"name":"__node","order":1,"path":"scripts/__node/__node.yy",},
|
||||
{"name":"__panel_empty","order":12,"path":"scripts/__panel_empty/__panel_empty.yy",},
|
||||
{"name":"__panel_linear_setting","order":13,"path":"scripts/__panel_linear_setting/__panel_linear_setting.yy",},
|
||||
{"name":"__path","order":1,"path":"scripts/__path/__path.yy",},
|
||||
{"name":"__pbBox","order":4,"path":"scripts/__pbBox/__pbBox.yy",},
|
||||
{"name":"__polygon","order":2,"path":"scripts/__polygon/__polygon.yy",},
|
||||
{"name":"__raymarching","order":5,"path":"scripts/__raymarching/__raymarching.yy",},
|
||||
{"name":"__rectangle","order":7,"path":"scripts/__rectangle/__rectangle.yy",},
|
||||
|
@ -1053,36 +1051,18 @@
|
|||
{"name":"node_path_trim","order":11,"path":"scripts/node_path_trim/node_path_trim.yy",},
|
||||
{"name":"node_path_wave","order":12,"path":"scripts/node_path_wave/node_path_wave.yy",},
|
||||
{"name":"node_path_weight_adjust","order":32,"path":"scripts/node_path_weight_adjust/node_path_weight_adjust.yy",},
|
||||
{"name":"node_pb_box_contract","order":8,"path":"scripts/node_pb_box_contract/node_pb_box_contract.yy",},
|
||||
{"name":"node_pb_box_divide_grid","order":7,"path":"scripts/node_pb_box_divide_grid/node_pb_box_divide_grid.yy",},
|
||||
{"name":"node_pb_box_divide","order":5,"path":"scripts/node_pb_box_divide/node_pb_box_divide.yy",},
|
||||
{"name":"node_pb_box_inset","order":4,"path":"scripts/node_pb_box_inset/node_pb_box_inset.yy",},
|
||||
{"name":"node_pb_box_mirror","order":10,"path":"scripts/node_pb_box_mirror/node_pb_box_mirror.yy",},
|
||||
{"name":"node_pb_box_split","order":2,"path":"scripts/node_pb_box_split/node_pb_box_split.yy",},
|
||||
{"name":"node_pb_box_transform","order":9,"path":"scripts/node_pb_box_transform/node_pb_box_transform.yy",},
|
||||
{"name":"node_pb_draw_angle","order":7,"path":"scripts/node_pb_draw_angle/node_pb_draw_angle.yy",},
|
||||
{"name":"node_pb_draw_blob","order":5,"path":"scripts/node_pb_draw_blob/node_pb_draw_blob.yy",},
|
||||
{"name":"node_pb_draw_diamond","order":10,"path":"scripts/node_pb_draw_diamond/node_pb_draw_diamond.yy",},
|
||||
{"name":"node_pb_draw_ellipse","order":2,"path":"scripts/node_pb_draw_ellipse/node_pb_draw_ellipse.yy",},
|
||||
{"name":"node_pb_draw_fill","order":3,"path":"scripts/node_pb_draw_fill/node_pb_draw_fill.yy",},
|
||||
{"name":"node_pb_draw_line","order":9,"path":"scripts/node_pb_draw_line/node_pb_draw_line.yy",},
|
||||
{"name":"node_pb_draw_round_rectangle","order":4,"path":"scripts/node_pb_draw_round_rectangle/node_pb_draw_round_rectangle.yy",},
|
||||
{"name":"node_pb_draw_semi_ellipse","order":6,"path":"scripts/node_pb_draw_semi_ellipse/node_pb_draw_semi_ellipse.yy",},
|
||||
{"name":"node_pb_draw_trapezoid","order":8,"path":"scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.yy",},
|
||||
{"name":"node_pb_box_bbox","order":1,"path":"scripts/node_pb_box_bbox/node_pb_box_bbox.yy",},
|
||||
{"name":"node_pb_box_mirror","order":2,"path":"scripts/node_pb_box_mirror/node_pb_box_mirror.yy",},
|
||||
{"name":"node_pb_dimension","order":3,"path":"scripts/node_pb_dimension/node_pb_dimension.yy",},
|
||||
{"name":"node_pb_draw_diamond","order":7,"path":"scripts/node_pb_draw_diamond/node_pb_draw_diamond.yy",},
|
||||
{"name":"node_pb_draw_ellipse","order":4,"path":"scripts/node_pb_draw_ellipse/node_pb_draw_ellipse.yy",},
|
||||
{"name":"node_pb_draw_line","order":6,"path":"scripts/node_pb_draw_line/node_pb_draw_line.yy",},
|
||||
{"name":"node_pb_draw_rectangle","order":2,"path":"scripts/node_pb_draw_rectangle/node_pb_draw_rectangle.yy",},
|
||||
{"name":"node_pb_draw_round_rectangle","order":3,"path":"scripts/node_pb_draw_round_rectangle/node_pb_draw_round_rectangle.yy",},
|
||||
{"name":"node_pb_draw_surface","order":9,"path":"scripts/node_pb_draw_surface/node_pb_draw_surface.yy",},
|
||||
{"name":"node_pb_draw_trapezoid","order":5,"path":"scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.yy",},
|
||||
{"name":"node_pb_draw","order":1,"path":"scripts/node_pb_draw/node_pb_draw.yy",},
|
||||
{"name":"node_pb_fx_add","order":6,"path":"scripts/node_pb_fx_add/node_pb_fx_add.yy",},
|
||||
{"name":"node_pb_fx_brick","order":12,"path":"scripts/node_pb_fx_brick/node_pb_fx_brick.yy",},
|
||||
{"name":"node_pb_fx_hash","order":7,"path":"scripts/node_pb_fx_hash/node_pb_fx_hash.yy",},
|
||||
{"name":"node_pb_fx_highlight","order":1,"path":"scripts/node_pb_fx_highlight/node_pb_fx_highlight.yy",},
|
||||
{"name":"node_pb_fx_intersect","order":5,"path":"scripts/node_pb_fx_intersect/node_pb_fx_intersect.yy",},
|
||||
{"name":"node_pb_fx_outline","order":2,"path":"scripts/node_pb_fx_outline/node_pb_fx_outline.yy",},
|
||||
{"name":"node_pb_fx_radial","order":9,"path":"scripts/node_pb_fx_radial/node_pb_fx_radial.yy",},
|
||||
{"name":"node_pb_fx_shading","order":3,"path":"scripts/node_pb_fx_shading/node_pb_fx_shading.yy",},
|
||||
{"name":"node_pb_fx_stack","order":8,"path":"scripts/node_pb_fx_stack/node_pb_fx_stack.yy",},
|
||||
{"name":"node_pb_fx_strip","order":11,"path":"scripts/node_pb_fx_strip/node_pb_fx_strip.yy",},
|
||||
{"name":"node_pb_fx_subtract","order":4,"path":"scripts/node_pb_fx_subtract/node_pb_fx_subtract.yy",},
|
||||
{"name":"node_pb_layer","order":1,"path":"scripts/node_pb_layer/node_pb_layer.yy",},
|
||||
{"name":"node_pb","order":6,"path":"scripts/node_pb/node_pb.yy",},
|
||||
{"name":"node_pb_output","order":2,"path":"scripts/node_pb_output/node_pb_output.yy",},
|
||||
{"name":"node_PCX_array_set","order":1,"path":"scripts/node_PCX_array_set/node_PCX_array_set.yy",},
|
||||
{"name":"node_PCX_equation","order":7,"path":"scripts/node_PCX_equation/node_PCX_equation.yy",},
|
||||
{"name":"node_PCX_fn_random","order":1,"path":"scripts/node_PCX_fn_random/node_PCX_fn_random.yy",},
|
||||
|
@ -1093,7 +1073,7 @@
|
|||
{"name":"node_perlin_smear","order":22,"path":"scripts/node_perlin_smear/node_perlin_smear.yy",},
|
||||
{"name":"node_perlin","order":18,"path":"scripts/node_perlin/node_perlin.yy",},
|
||||
{"name":"node_pin","order":6,"path":"scripts/node_pin/node_pin.yy",},
|
||||
{"name":"node_pixel_builder","order":5,"path":"scripts/node_pixel_builder/node_pixel_builder.yy",},
|
||||
{"name":"node_pixel_builder","order":1,"path":"scripts/node_pixel_builder/node_pixel_builder.yy",},
|
||||
{"name":"node_pixel_cloud","order":43,"path":"scripts/node_pixel_cloud/node_pixel_cloud.yy",},
|
||||
{"name":"node_pixel_extract","order":19,"path":"scripts/node_pixel_extract/node_pixel_extract.yy",},
|
||||
{"name":"node_pixel_math","order":55,"path":"scripts/node_pixel_math/node_pixel_math.yy",},
|
||||
|
@ -1238,55 +1218,58 @@
|
|||
{"name":"node_trigger_bool","order":1,"path":"scripts/node_trigger_bool/node_trigger_bool.yy",},
|
||||
{"name":"node_tunnel_out","order":1,"path":"scripts/node_tunnel_out/node_tunnel_out.yy",},
|
||||
{"name":"node_twirl","order":8,"path":"scripts/node_twirl/node_twirl.yy",},
|
||||
{"name":"node_value_area","order":11,"path":"scripts/node_value_area/node_value_area.yy",},
|
||||
{"name":"node_value_area","order":12,"path":"scripts/node_value_area/node_value_area.yy",},
|
||||
{"name":"node_value_armature","order":1,"path":"scripts/node_value_armature/node_value_armature.yy",},
|
||||
{"name":"node_value_atlas","order":7,"path":"scripts/node_value_atlas/node_value_atlas.yy",},
|
||||
{"name":"node_value_audioBit","order":1,"path":"scripts/node_value_audioBit/node_value_audioBit.yy",},
|
||||
{"name":"node_value_audioBit","order":2,"path":"scripts/node_value_audioBit/node_value_audioBit.yy",},
|
||||
{"name":"node_value_base","order":2,"path":"scripts/node_value_base/node_value_base.yy",},
|
||||
{"name":"node_value_bool","order":5,"path":"scripts/node_value_bool/node_value_bool.yy",},
|
||||
{"name":"node_value_buffer","order":2,"path":"scripts/node_value_buffer/node_value_buffer.yy",},
|
||||
{"name":"node_value_corner","order":17,"path":"scripts/node_value_corner/node_value_corner.yy",},
|
||||
{"name":"node_value_curve","order":22,"path":"scripts/node_value_curve/node_value_curve.yy",},
|
||||
{"name":"node_value_buffer","order":3,"path":"scripts/node_value_buffer/node_value_buffer.yy",},
|
||||
{"name":"node_value_corner","order":18,"path":"scripts/node_value_corner/node_value_corner.yy",},
|
||||
{"name":"node_value_curve","order":23,"path":"scripts/node_value_curve/node_value_curve.yy",},
|
||||
{"name":"node_value_d3_light","order":1,"path":"scripts/node_value_d3_light/node_value_d3_light.yy",},
|
||||
{"name":"node_value_d3_material","order":2,"path":"scripts/node_value_d3_material/node_value_d3_material.yy",},
|
||||
{"name":"node_value_d3_mesh","order":3,"path":"scripts/node_value_d3_mesh/node_value_d3_mesh.yy",},
|
||||
{"name":"node_value_d3_scene","order":4,"path":"scripts/node_value_d3_scene/node_value_d3_scene.yy",},
|
||||
{"name":"node_value_dimension","order":20,"path":"scripts/node_value_dimension/node_value_dimension.yy",},
|
||||
{"name":"node_value_enum_button","order":7,"path":"scripts/node_value_enum_button/node_value_enum_button.yy",},
|
||||
{"name":"node_value_enum_scroll","order":8,"path":"scripts/node_value_enum_scroll/node_value_enum_scroll.yy",},
|
||||
{"name":"node_value_dimension","order":21,"path":"scripts/node_value_dimension/node_value_dimension.yy",},
|
||||
{"name":"node_value_enum_button","order":8,"path":"scripts/node_value_enum_button/node_value_enum_button.yy",},
|
||||
{"name":"node_value_enum_scroll","order":9,"path":"scripts/node_value_enum_scroll/node_value_enum_scroll.yy",},
|
||||
{"name":"node_value_fdomain","order":8,"path":"scripts/node_value_fdomain/node_value_fdomain.yy",},
|
||||
{"name":"node_value_float","order":1,"path":"scripts/node_value_float/node_value_float.yy",},
|
||||
{"name":"node_value_font","order":11,"path":"scripts/node_value_font/node_value_font.yy",},
|
||||
{"name":"node_value_gradient","order":1,"path":"scripts/node_value_gradient/node_value_gradient.yy",},
|
||||
{"name":"node_value_int","order":2,"path":"scripts/node_value_int/node_value_int.yy",},
|
||||
{"name":"node_value_matrix","order":23,"path":"scripts/node_value_matrix/node_value_matrix.yy",},
|
||||
{"name":"node_value_matrix","order":24,"path":"scripts/node_value_matrix/node_value_matrix.yy",},
|
||||
{"name":"node_value_mesh","order":5,"path":"scripts/node_value_mesh/node_value_mesh.yy",},
|
||||
{"name":"node_value_output","order":4,"path":"scripts/node_value_output/node_value_output.yy",},
|
||||
{"name":"node_value_padding","order":16,"path":"scripts/node_value_padding/node_value_padding.yy",},
|
||||
{"name":"node_value_padding","order":17,"path":"scripts/node_value_padding/node_value_padding.yy",},
|
||||
{"name":"node_value_palette","order":2,"path":"scripts/node_value_palette/node_value_palette.yy",},
|
||||
{"name":"node_value_particle","order":4,"path":"scripts/node_value_particle/node_value_particle.yy",},
|
||||
{"name":"node_value_path_anchor","order":18,"path":"scripts/node_value_path_anchor/node_value_path_anchor.yy",},
|
||||
{"name":"node_value_path_anchor","order":19,"path":"scripts/node_value_path_anchor/node_value_path_anchor.yy",},
|
||||
{"name":"node_value_path","order":10,"path":"scripts/node_value_path/node_value_path.yy",},
|
||||
{"name":"node_value_pathnode","order":5,"path":"scripts/node_value_pathnode/node_value_pathnode.yy",},
|
||||
{"name":"node_value_quarterion","order":19,"path":"scripts/node_value_quarterion/node_value_quarterion.yy",},
|
||||
{"name":"node_value_range","order":3,"path":"scripts/node_value_range/node_value_range.yy",},
|
||||
{"name":"node_value_rotation_random","order":12,"path":"scripts/node_value_rotation_random/node_value_rotation_random.yy",},
|
||||
{"name":"node_value_rotation_range","order":10,"path":"scripts/node_value_rotation_range/node_value_rotation_range.yy",},
|
||||
{"name":"node_value_rotation","order":9,"path":"scripts/node_value_rotation/node_value_rotation.yy",},
|
||||
{"name":"node_value_pbbox","order":10,"path":"scripts/node_value_pbbox/node_value_pbbox.yy",},
|
||||
{"name":"node_value_quarterion","order":20,"path":"scripts/node_value_quarterion/node_value_quarterion.yy",},
|
||||
{"name":"node_value_range","order":4,"path":"scripts/node_value_range/node_value_range.yy",},
|
||||
{"name":"node_value_rotation_random","order":13,"path":"scripts/node_value_rotation_random/node_value_rotation_random.yy",},
|
||||
{"name":"node_value_rotation_range","order":11,"path":"scripts/node_value_rotation_range/node_value_rotation_range.yy",},
|
||||
{"name":"node_value_rotation","order":10,"path":"scripts/node_value_rotation/node_value_rotation.yy",},
|
||||
{"name":"node_value_sdf","order":6,"path":"scripts/node_value_sdf/node_value_sdf.yy",},
|
||||
{"name":"node_value_slider_range","order":13,"path":"scripts/node_value_slider_range/node_value_slider_range.yy",},
|
||||
{"name":"node_value_slider_range","order":14,"path":"scripts/node_value_slider_range/node_value_slider_range.yy",},
|
||||
{"name":"node_value_slider","order":3,"path":"scripts/node_value_slider/node_value_slider.yy",},
|
||||
{"name":"node_value_struct","order":7,"path":"scripts/node_value_struct/node_value_struct.yy",},
|
||||
{"name":"node_value_surface","order":6,"path":"scripts/node_value_surface/node_value_surface.yy",},
|
||||
{"name":"node_value_text","order":8,"path":"scripts/node_value_text/node_value_text.yy",},
|
||||
{"name":"node_value_tileset","order":9,"path":"scripts/node_value_tileset/node_value_tileset.yy",},
|
||||
{"name":"node_value_toggle","order":21,"path":"scripts/node_value_toggle/node_value_toggle.yy",},
|
||||
{"name":"node_value_toggle","order":22,"path":"scripts/node_value_toggle/node_value_toggle.yy",},
|
||||
{"name":"node_value_trigger","order":9,"path":"scripts/node_value_trigger/node_value_trigger.yy",},
|
||||
{"name":"node_value_types","order":3,"path":"scripts/node_value_types/node_value_types.yy",},
|
||||
{"name":"node_value_validators","order":4,"path":"scripts/node_value_validators/node_value_validators.yy",},
|
||||
{"name":"node_value_vec2_range","order":14,"path":"scripts/node_value_vec2_range/node_value_vec2_range.yy",},
|
||||
{"name":"node_value_vec2","order":4,"path":"scripts/node_value_vec2/node_value_vec2.yy",},
|
||||
{"name":"node_value_vec3_range","order":15,"path":"scripts/node_value_vec3_range/node_value_vec3_range.yy",},
|
||||
{"name":"node_value_vec3","order":5,"path":"scripts/node_value_vec3/node_value_vec3.yy",},
|
||||
{"name":"node_value_vec4","order":6,"path":"scripts/node_value_vec4/node_value_vec4.yy",},
|
||||
{"name":"node_value_vec2_range","order":15,"path":"scripts/node_value_vec2_range/node_value_vec2_range.yy",},
|
||||
{"name":"node_value_vec2","order":5,"path":"scripts/node_value_vec2/node_value_vec2.yy",},
|
||||
{"name":"node_value_vec3_range","order":16,"path":"scripts/node_value_vec3_range/node_value_vec3_range.yy",},
|
||||
{"name":"node_value_vec3","order":6,"path":"scripts/node_value_vec3/node_value_vec3.yy",},
|
||||
{"name":"node_value_vec4","order":7,"path":"scripts/node_value_vec4/node_value_vec4.yy",},
|
||||
{"name":"node_value","order":1,"path":"scripts/node_value/node_value.yy",},
|
||||
{"name":"node_vec2_cart_to_polar","order":11,"path":"scripts/node_vec2_cart_to_polar/node_vec2_cart_to_polar.yy",},
|
||||
{"name":"node_vec2_polar_to_cart","order":10,"path":"scripts/node_vec2_polar_to_cart/node_vec2_polar_to_cart.yy",},
|
||||
|
@ -1401,6 +1384,7 @@
|
|||
{"name":"path_reader","order":5,"path":"scripts/path_reader/path_reader.yy",},
|
||||
{"name":"pathAnchorBox","order":17,"path":"scripts/pathAnchorBox/pathAnchorBox.yy",},
|
||||
{"name":"pathArrayBox","order":12,"path":"scripts/pathArrayBox/pathArrayBox.yy",},
|
||||
{"name":"pbBoxBox","order":4,"path":"scripts/pbBoxBox/pbBoxBox.yy",},
|
||||
{"name":"pcx_parse","order":3,"path":"scripts/pcx_parse/pcx_parse.yy",},
|
||||
{"name":"pcx_server","order":2,"path":"scripts/pcx_server/pcx_server.yy",},
|
||||
{"name":"perlin_noise","order":5,"path":"scripts/perlin_noise/perlin_noise.yy",},
|
||||
|
@ -1769,16 +1753,7 @@
|
|||
{"name":"sh_path_fill_profile","order":16,"path":"shaders/sh_path_fill_profile/sh_path_fill_profile.yy",},
|
||||
{"name":"sh_path_morph","order":25,"path":"shaders/sh_path_morph/sh_path_morph.yy",},
|
||||
{"name":"sh_path_sdf","order":30,"path":"shaders/sh_path_sdf/sh_path_sdf.yy",},
|
||||
{"name":"sh_pb_blob","order":1,"path":"shaders/sh_pb_blob/sh_pb_blob.yy",},
|
||||
{"name":"sh_pb_brick","order":9,"path":"shaders/sh_pb_brick/sh_pb_brick.yy",},
|
||||
{"name":"sh_pb_draw_mask","order":8,"path":"shaders/sh_pb_draw_mask/sh_pb_draw_mask.yy",},
|
||||
{"name":"sh_pb_hash","order":4,"path":"shaders/sh_pb_hash/sh_pb_hash.yy",},
|
||||
{"name":"sh_pb_mask_inset","order":10,"path":"shaders/sh_pb_mask_inset/sh_pb_mask_inset.yy",},
|
||||
{"name":"sh_pb_outline","order":2,"path":"shaders/sh_pb_outline/sh_pb_outline.yy",},
|
||||
{"name":"sh_pb_shade_half","order":5,"path":"shaders/sh_pb_shade_half/sh_pb_shade_half.yy",},
|
||||
{"name":"sh_pb_shade","order":3,"path":"shaders/sh_pb_shade/sh_pb_shade.yy",},
|
||||
{"name":"sh_pb_strip","order":6,"path":"shaders/sh_pb_strip/sh_pb_strip.yy",},
|
||||
{"name":"sh_pb_to_mask","order":7,"path":"shaders/sh_pb_to_mask/sh_pb_to_mask.yy",},
|
||||
{"name":"sh_pb_diamond","order":8,"path":"shaders/sh_pb_diamond/sh_pb_diamond.yy",},
|
||||
{"name":"sh_perlin_extra","order":25,"path":"shaders/sh_perlin_extra/sh_perlin_extra.yy",},
|
||||
{"name":"sh_perlin_smear","order":23,"path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},
|
||||
{"name":"sh_perlin_tiled","order":1,"path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},
|
||||
|
@ -2288,39 +2263,22 @@
|
|||
{"name":"s_node_path_trim","order":17,"path":"sprites/s_node_path_trim/s_node_path_trim.yy",},
|
||||
{"name":"s_node_path_wave","order":18,"path":"sprites/s_node_path_wave/s_node_path_wave.yy",},
|
||||
{"name":"s_node_path_weight_adjust","order":27,"path":"sprites/s_node_path_weight_adjust/s_node_path_weight_adjust.yy",},
|
||||
{"name":"s_node_pb_box_contract","order":31,"path":"sprites/s_node_pb_box_contract/s_node_pb_box_contract.yy",},
|
||||
{"name":"s_node_pb_box_divide_grid","order":33,"path":"sprites/s_node_pb_box_divide_grid/s_node_pb_box_divide_grid.yy",},
|
||||
{"name":"s_node_pb_box_divide","order":32,"path":"sprites/s_node_pb_box_divide/s_node_pb_box_divide.yy",},
|
||||
{"name":"s_node_pb_box_inset","order":34,"path":"sprites/s_node_pb_box_inset/s_node_pb_box_inset.yy",},
|
||||
{"name":"s_node_pb_box_mirror","order":35,"path":"sprites/s_node_pb_box_mirror/s_node_pb_box_mirror.yy",},
|
||||
{"name":"s_node_pb_box_split","order":36,"path":"sprites/s_node_pb_box_split/s_node_pb_box_split.yy",},
|
||||
{"name":"s_node_pb_box_transform","order":37,"path":"sprites/s_node_pb_box_transform/s_node_pb_box_transform.yy",},
|
||||
{"name":"s_node_pb_draw_angle","order":39,"path":"sprites/s_node_pb_draw_angle/s_node_pb_draw_angle.yy",},
|
||||
{"name":"s_node_pb_draw_blob","order":40,"path":"sprites/s_node_pb_draw_blob/s_node_pb_draw_blob.yy",},
|
||||
{"name":"s_node_pb_draw_diamond","order":30,"path":"sprites/s_node_pb_draw_diamond/s_node_pb_draw_diamond.yy",},
|
||||
{"name":"s_node_pb_draw_ellipse","order":41,"path":"sprites/s_node_pb_draw_ellipse/s_node_pb_draw_ellipse.yy",},
|
||||
{"name":"s_node_pb_draw_fill","order":42,"path":"sprites/s_node_pb_draw_fill/s_node_pb_draw_fill.yy",},
|
||||
{"name":"s_node_pb_draw_line","order":56,"path":"sprites/s_node_pb_draw_line/s_node_pb_draw_line.yy",},
|
||||
{"name":"s_node_pb_draw_rectangle","order":43,"path":"sprites/s_node_pb_draw_rectangle/s_node_pb_draw_rectangle.yy",},
|
||||
{"name":"s_node_pb_draw_round_rectangle","order":44,"path":"sprites/s_node_pb_draw_round_rectangle/s_node_pb_draw_round_rectangle.yy",},
|
||||
{"name":"s_node_pb_draw_semi_ellipse","order":45,"path":"sprites/s_node_pb_draw_semi_ellipse/s_node_pb_draw_semi_ellipse.yy",},
|
||||
{"name":"s_node_pb_draw_trapezoid","order":46,"path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},
|
||||
{"name":"s_node_pb_fx_add","order":47,"path":"sprites/s_node_pb_fx_add/s_node_pb_fx_add.yy",},
|
||||
{"name":"s_node_pb_fx_brick","order":58,"path":"sprites/s_node_pb_fx_brick/s_node_pb_fx_brick.yy",},
|
||||
{"name":"s_node_pb_fx_hash","order":48,"path":"sprites/s_node_pb_fx_hash/s_node_pb_fx_hash.yy",},
|
||||
{"name":"s_node_pb_fx_highlight","order":49,"path":"sprites/s_node_pb_fx_highlight/s_node_pb_fx_highlight.yy",},
|
||||
{"name":"s_node_pb_fx_intersect","order":50,"path":"sprites/s_node_pb_fx_intersect/s_node_pb_fx_intersect.yy",},
|
||||
{"name":"s_node_pb_fx_outline","order":51,"path":"sprites/s_node_pb_fx_outline/s_node_pb_fx_outline.yy",},
|
||||
{"name":"s_node_pb_fx_radial","order":52,"path":"sprites/s_node_pb_fx_radial/s_node_pb_fx_radial.yy",},
|
||||
{"name":"s_node_pb_fx_shading","order":53,"path":"sprites/s_node_pb_fx_shading/s_node_pb_fx_shading.yy",},
|
||||
{"name":"s_node_pb_fx_stack","order":54,"path":"sprites/s_node_pb_fx_stack/s_node_pb_fx_stack.yy",},
|
||||
{"name":"s_node_pb_fx_strip","order":57,"path":"sprites/s_node_pb_fx_strip/s_node_pb_fx_strip.yy",},
|
||||
{"name":"s_node_pb_fx_subtract","order":55,"path":"sprites/s_node_pb_fx_subtract/s_node_pb_fx_subtract.yy",},
|
||||
{"name":"s_node_pb_layer","order":38,"path":"sprites/s_node_pb_layer/s_node_pb_layer.yy",},
|
||||
{"name":"s_node_pb_box_bbox","order":5,"path":"sprites/s_node_pb_box_bbox/s_node_pb_box_bbox.yy",},
|
||||
{"name":"s_node_pb_box_mirror","order":4,"path":"sprites/s_node_pb_box_mirror/s_node_pb_box_mirror.yy",},
|
||||
{"name":"s_node_pb_box","order":2,"path":"sprites/s_node_pb_box/s_node_pb_box.yy",},
|
||||
{"name":"s_node_pb_crop_box","order":3,"path":"sprites/s_node_pb_crop_box/s_node_pb_crop_box.yy",},
|
||||
{"name":"s_node_pb_dimension","order":6,"path":"sprites/s_node_pb_dimension/s_node_pb_dimension.yy",},
|
||||
{"name":"s_node_pb_draw_diamond","order":11,"path":"sprites/s_node_pb_draw_diamond/s_node_pb_draw_diamond.yy",},
|
||||
{"name":"s_node_pb_draw_ellipse","order":7,"path":"sprites/s_node_pb_draw_ellipse/s_node_pb_draw_ellipse.yy",},
|
||||
{"name":"s_node_pb_draw_line","order":10,"path":"sprites/s_node_pb_draw_line/s_node_pb_draw_line.yy",},
|
||||
{"name":"s_node_pb_draw_rectangle","order":8,"path":"sprites/s_node_pb_draw_rectangle/s_node_pb_draw_rectangle.yy",},
|
||||
{"name":"s_node_pb_draw_round_rectangle","order":12,"path":"sprites/s_node_pb_draw_round_rectangle/s_node_pb_draw_round_rectangle.yy",},
|
||||
{"name":"s_node_pb_draw_surface","order":13,"path":"sprites/s_node_pb_draw_surface/s_node_pb_draw_surface.yy",},
|
||||
{"name":"s_node_pb_draw_trapezoid","order":9,"path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},
|
||||
{"name":"s_node_pb_output","order":1,"path":"sprites/s_node_pb_output/s_node_pb_output.yy",},
|
||||
{"name":"s_node_perlin_extra","order":31,"path":"sprites/s_node_perlin_extra/s_node_perlin_extra.yy",},
|
||||
{"name":"s_node_perlin","order":11,"path":"sprites/s_node_perlin/s_node_perlin.yy",},
|
||||
{"name":"s_node_pin","order":2,"path":"sprites/s_node_pin/s_node_pin.yy",},
|
||||
{"name":"s_node_pixel_builder","order":29,"path":"sprites/s_node_pixel_builder/s_node_pixel_builder.yy",},
|
||||
{"name":"s_node_pixel_cloud","order":53,"path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},
|
||||
{"name":"s_node_pixel_extract","order":15,"path":"sprites/s_node_pixel_extract/s_node_pixel_extract.yy",},
|
||||
{"name":"s_node_pixel_math","order":82,"path":"sprites/s_node_pixel_math/s_node_pixel_math.yy",},
|
||||
|
|
|
@ -215,17 +215,17 @@
|
|||
{"$GMFolder":"","%Name":"src","folderPath":"folders/nodes/data/MKFX/src.yy","name":"src","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"Subpixel","folderPath":"folders/nodes/data/MKFX/Subpixel.yy","name":"Subpixel","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"Tile","folderPath":"folders/nodes/data/MKFX/Tile.yy","name":"Tile","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"PB","folderPath":"folders/nodes/data/PB.yy","name":"PB","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"draw","folderPath":"folders/nodes/data/PB/draw.yy","name":"draw","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"main","folderPath":"folders/nodes/data/PB/main.yy","name":"main","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"modify","folderPath":"folders/nodes/data/PB/modify.yy","name":"modify","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"pbbox","folderPath":"folders/nodes/data/PB/pbbox.yy","name":"pbbox","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"PCX","folderPath":"folders/nodes/data/PCX.yy","name":"PCX","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"array","folderPath":"folders/nodes/data/PCX/array.yy","name":"array","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"flow_control","folderPath":"folders/nodes/data/PCX/flow_control.yy","name":"flow_control","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"fn","folderPath":"folders/nodes/data/PCX/fn.yy","name":"fn","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"surface","folderPath":"folders/nodes/data/PCX/surface.yy","name":"surface","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"value","folderPath":"folders/nodes/data/PCX/value.yy","name":"value","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"pixel builder","folderPath":"folders/nodes/data/pixel builder.yy","name":"pixel builder","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"box","folderPath":"folders/nodes/data/pixel builder/box.yy","name":"box","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"draw","folderPath":"folders/nodes/data/pixel builder/draw.yy","name":"draw","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"effect","folderPath":"folders/nodes/data/pixel builder/effect.yy","name":"effect","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"shader","folderPath":"folders/nodes/data/pixel builder/shader.yy","name":"shader","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"render","folderPath":"folders/nodes/data/render.yy","name":"render","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"simulation","folderPath":"folders/nodes/data/simulation.yy","name":"simulation","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
{"$GMFolder":"","%Name":"diffuse","folderPath":"folders/nodes/data/simulation/diffuse.yy","name":"diffuse","resourceType":"GMFolder","resourceVersion":"2.0",},
|
||||
|
@ -1022,35 +1022,19 @@
|
|||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Functions/Node_PCX_fn_Surface_Width","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_fn_var","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/PCX/pcx_Variable/Node_PCX_var","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Contract","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide_Grid","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Divide","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Inset","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Mirror","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Split","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Box_Transform","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Box/Node_PB_Layer","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Angle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Blob","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Diamond","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Ellipse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Fill","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Line","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Rectangle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Round_Rectangle","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Semi_Ellipse","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Surface","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Draw/Node_PB_Draw_Trapezoid","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Add","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Brick","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Hash","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Highlight","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Intersect","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Outline","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Radial","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Shading","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Stack","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Strip","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Effects/Node_PB_Fx_Subtract","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pb_Modify/Node_PB_Crop_PBBOX","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pd_Main/Node_PB_Box_BBOX","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pd_Main/Node_PB_Box_Mirror","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pd_Main/Node_PB_Box","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pd_Main/Node_PB_Dimension","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Pixel Builder/pd_Main/Node_PB_Output","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/RigidSim/Node_Rigid_Activate","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/RigidSim/Node_Rigid_Force_Apply","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
{"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/RigidSim/Node_Rigid_Global","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
|
||||
|
@ -2274,39 +2258,20 @@
|
|||
{"id":{"name":"node_path_wave","path":"scripts/node_path_wave/node_path_wave.yy",},},
|
||||
{"id":{"name":"node_path_weight_adjust","path":"scripts/node_path_weight_adjust/node_path_weight_adjust.yy",},},
|
||||
{"id":{"name":"node_path","path":"scripts/node_path/node_path.yy",},},
|
||||
{"id":{"name":"node_pb_box_contract","path":"scripts/node_pb_box_contract/node_pb_box_contract.yy",},},
|
||||
{"id":{"name":"node_pb_box_divide_grid","path":"scripts/node_pb_box_divide_grid/node_pb_box_divide_grid.yy",},},
|
||||
{"id":{"name":"node_pb_box_divide","path":"scripts/node_pb_box_divide/node_pb_box_divide.yy",},},
|
||||
{"id":{"name":"node_pb_box_inset","path":"scripts/node_pb_box_inset/node_pb_box_inset.yy",},},
|
||||
{"id":{"name":"node_pb_box_bbox","path":"scripts/node_pb_box_bbox/node_pb_box_bbox.yy",},},
|
||||
{"id":{"name":"node_pb_box_mirror","path":"scripts/node_pb_box_mirror/node_pb_box_mirror.yy",},},
|
||||
{"id":{"name":"node_pb_box_split","path":"scripts/node_pb_box_split/node_pb_box_split.yy",},},
|
||||
{"id":{"name":"node_pb_box_transform","path":"scripts/node_pb_box_transform/node_pb_box_transform.yy",},},
|
||||
{"id":{"name":"node_pb_box","path":"scripts/node_pb_box/node_pb_box.yy",},},
|
||||
{"id":{"name":"node_pb_draw_angle","path":"scripts/node_pb_draw_angle/node_pb_draw_angle.yy",},},
|
||||
{"id":{"name":"node_pb_draw_blob","path":"scripts/node_pb_draw_blob/node_pb_draw_blob.yy",},},
|
||||
{"id":{"name":"node_pb_crop_pbbox","path":"scripts/node_pb_crop_pbbox/node_pb_crop_pbbox.yy",},},
|
||||
{"id":{"name":"node_pb_dimension","path":"scripts/node_pb_dimension/node_pb_dimension.yy",},},
|
||||
{"id":{"name":"node_pb_draw_diamond","path":"scripts/node_pb_draw_diamond/node_pb_draw_diamond.yy",},},
|
||||
{"id":{"name":"node_pb_draw_ellipse","path":"scripts/node_pb_draw_ellipse/node_pb_draw_ellipse.yy",},},
|
||||
{"id":{"name":"node_pb_draw_fill","path":"scripts/node_pb_draw_fill/node_pb_draw_fill.yy",},},
|
||||
{"id":{"name":"node_pb_draw_line","path":"scripts/node_pb_draw_line/node_pb_draw_line.yy",},},
|
||||
{"id":{"name":"node_pb_draw_rectangle","path":"scripts/node_pb_draw_rectangle/node_pb_draw_rectangle.yy",},},
|
||||
{"id":{"name":"node_pb_draw_round_rectangle","path":"scripts/node_pb_draw_round_rectangle/node_pb_draw_round_rectangle.yy",},},
|
||||
{"id":{"name":"node_pb_draw_semi_ellipse","path":"scripts/node_pb_draw_semi_ellipse/node_pb_draw_semi_ellipse.yy",},},
|
||||
{"id":{"name":"node_pb_draw_surface","path":"scripts/node_pb_draw_surface/node_pb_draw_surface.yy",},},
|
||||
{"id":{"name":"node_pb_draw_trapezoid","path":"scripts/node_pb_draw_trapezoid/node_pb_draw_trapezoid.yy",},},
|
||||
{"id":{"name":"node_pb_draw","path":"scripts/node_pb_draw/node_pb_draw.yy",},},
|
||||
{"id":{"name":"node_pb_fx_add","path":"scripts/node_pb_fx_add/node_pb_fx_add.yy",},},
|
||||
{"id":{"name":"node_pb_fx_brick","path":"scripts/node_pb_fx_brick/node_pb_fx_brick.yy",},},
|
||||
{"id":{"name":"node_pb_fx_hash","path":"scripts/node_pb_fx_hash/node_pb_fx_hash.yy",},},
|
||||
{"id":{"name":"node_pb_fx_highlight","path":"scripts/node_pb_fx_highlight/node_pb_fx_highlight.yy",},},
|
||||
{"id":{"name":"node_pb_fx_intersect","path":"scripts/node_pb_fx_intersect/node_pb_fx_intersect.yy",},},
|
||||
{"id":{"name":"node_pb_fx_outline","path":"scripts/node_pb_fx_outline/node_pb_fx_outline.yy",},},
|
||||
{"id":{"name":"node_pb_fx_radial","path":"scripts/node_pb_fx_radial/node_pb_fx_radial.yy",},},
|
||||
{"id":{"name":"node_pb_fx_shading","path":"scripts/node_pb_fx_shading/node_pb_fx_shading.yy",},},
|
||||
{"id":{"name":"node_pb_fx_stack","path":"scripts/node_pb_fx_stack/node_pb_fx_stack.yy",},},
|
||||
{"id":{"name":"node_pb_fx_strip","path":"scripts/node_pb_fx_strip/node_pb_fx_strip.yy",},},
|
||||
{"id":{"name":"node_pb_fx_subtract","path":"scripts/node_pb_fx_subtract/node_pb_fx_subtract.yy",},},
|
||||
{"id":{"name":"node_pb_fx","path":"scripts/node_pb_fx/node_pb_fx.yy",},},
|
||||
{"id":{"name":"node_pb_layer","path":"scripts/node_pb_layer/node_pb_layer.yy",},},
|
||||
{"id":{"name":"node_pb","path":"scripts/node_pb/node_pb.yy",},},
|
||||
{"id":{"name":"node_pb_output","path":"scripts/node_pb_output/node_pb_output.yy",},},
|
||||
{"id":{"name":"node_PCX_array_get","path":"scripts/node_PCX_array_get/node_PCX_array_get.yy",},},
|
||||
{"id":{"name":"node_PCX_array_set","path":"scripts/node_PCX_array_set/node_PCX_array_set.yy",},},
|
||||
{"id":{"name":"node_PCX_condition","path":"scripts/node_PCX_condition/node_PCX_condition.yy",},},
|
||||
|
@ -2512,6 +2477,7 @@
|
|||
{"id":{"name":"node_value_path_anchor","path":"scripts/node_value_path_anchor/node_value_path_anchor.yy",},},
|
||||
{"id":{"name":"node_value_path","path":"scripts/node_value_path/node_value_path.yy",},},
|
||||
{"id":{"name":"node_value_pathnode","path":"scripts/node_value_pathnode/node_value_pathnode.yy",},},
|
||||
{"id":{"name":"node_value_pbbox","path":"scripts/node_value_pbbox/node_value_pbbox.yy",},},
|
||||
{"id":{"name":"node_value_quarterion","path":"scripts/node_value_quarterion/node_value_quarterion.yy",},},
|
||||
{"id":{"name":"node_value_range","path":"scripts/node_value_range/node_value_range.yy",},},
|
||||
{"id":{"name":"node_value_rotation_random","path":"scripts/node_value_rotation_random/node_value_rotation_random.yy",},},
|
||||
|
@ -2519,6 +2485,7 @@
|
|||
{"id":{"name":"node_value_rotation","path":"scripts/node_value_rotation/node_value_rotation.yy",},},
|
||||
{"id":{"name":"node_value_sdf","path":"scripts/node_value_sdf/node_value_sdf.yy",},},
|
||||
{"id":{"name":"node_value_slider_range","path":"scripts/node_value_slider_range/node_value_slider_range.yy",},},
|
||||
{"id":{"name":"node_value_slider","path":"scripts/node_value_slider/node_value_slider.yy",},},
|
||||
{"id":{"name":"node_value_struct","path":"scripts/node_value_struct/node_value_struct.yy",},},
|
||||
{"id":{"name":"node_value_surface","path":"scripts/node_value_surface/node_value_surface.yy",},},
|
||||
{"id":{"name":"node_value_text","path":"scripts/node_value_text/node_value_text.yy",},},
|
||||
|
@ -2662,6 +2629,7 @@
|
|||
{"id":{"name":"pathArrayBox","path":"scripts/pathArrayBox/pathArrayBox.yy",},},
|
||||
{"id":{"name":"pathnodeBox","path":"scripts/pathnodeBox/pathnodeBox.yy",},},
|
||||
{"id":{"name":"patreon_email_check","path":"scripts/patreon_email_check/patreon_email_check.yy",},},
|
||||
{"id":{"name":"pbBoxBox","path":"scripts/pbBoxBox/pbBoxBox.yy",},},
|
||||
{"id":{"name":"pcx_ast","path":"scripts/pcx_ast/pcx_ast.yy",},},
|
||||
{"id":{"name":"pcx_parse","path":"scripts/pcx_parse/pcx_parse.yy",},},
|
||||
{"id":{"name":"pcx_server","path":"scripts/pcx_server/pcx_server.yy",},},
|
||||
|
@ -3088,17 +3056,8 @@
|
|||
{"id":{"name":"sh_path_fill_profile","path":"shaders/sh_path_fill_profile/sh_path_fill_profile.yy",},},
|
||||
{"id":{"name":"sh_path_morph","path":"shaders/sh_path_morph/sh_path_morph.yy",},},
|
||||
{"id":{"name":"sh_path_sdf","path":"shaders/sh_path_sdf/sh_path_sdf.yy",},},
|
||||
{"id":{"name":"sh_pb_blob","path":"shaders/sh_pb_blob/sh_pb_blob.yy",},},
|
||||
{"id":{"name":"sh_pb_brick","path":"shaders/sh_pb_brick/sh_pb_brick.yy",},},
|
||||
{"id":{"name":"sh_pb_draw_mask","path":"shaders/sh_pb_draw_mask/sh_pb_draw_mask.yy",},},
|
||||
{"id":{"name":"sh_pb_hash","path":"shaders/sh_pb_hash/sh_pb_hash.yy",},},
|
||||
{"id":{"name":"sh_pb_highlight","path":"shaders/sh_pb_highlight/sh_pb_highlight.yy",},},
|
||||
{"id":{"name":"sh_pb_mask_inset","path":"shaders/sh_pb_mask_inset/sh_pb_mask_inset.yy",},},
|
||||
{"id":{"name":"sh_pb_outline","path":"shaders/sh_pb_outline/sh_pb_outline.yy",},},
|
||||
{"id":{"name":"sh_pb_shade_half","path":"shaders/sh_pb_shade_half/sh_pb_shade_half.yy",},},
|
||||
{"id":{"name":"sh_pb_shade","path":"shaders/sh_pb_shade/sh_pb_shade.yy",},},
|
||||
{"id":{"name":"sh_pb_strip","path":"shaders/sh_pb_strip/sh_pb_strip.yy",},},
|
||||
{"id":{"name":"sh_pb_to_mask","path":"shaders/sh_pb_to_mask/sh_pb_to_mask.yy",},},
|
||||
{"id":{"name":"sh_pb_diamond","path":"shaders/sh_pb_diamond/sh_pb_diamond.yy",},},
|
||||
{"id":{"name":"sh_pb_draw","path":"shaders/sh_pb_draw/sh_pb_draw.yy",},},
|
||||
{"id":{"name":"sh_perlin_extra","path":"shaders/sh_perlin_extra/sh_perlin_extra.yy",},},
|
||||
{"id":{"name":"sh_perlin_smear","path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},},
|
||||
{"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},},
|
||||
|
@ -3658,35 +3617,19 @@
|
|||
{"id":{"name":"s_node_path_wave","path":"sprites/s_node_path_wave/s_node_path_wave.yy",},},
|
||||
{"id":{"name":"s_node_path_weight_adjust","path":"sprites/s_node_path_weight_adjust/s_node_path_weight_adjust.yy",},},
|
||||
{"id":{"name":"s_node_path","path":"sprites/s_node_path/s_node_path.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_contract","path":"sprites/s_node_pb_box_contract/s_node_pb_box_contract.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_divide_grid","path":"sprites/s_node_pb_box_divide_grid/s_node_pb_box_divide_grid.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_divide","path":"sprites/s_node_pb_box_divide/s_node_pb_box_divide.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_inset","path":"sprites/s_node_pb_box_inset/s_node_pb_box_inset.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_bbox","path":"sprites/s_node_pb_box_bbox/s_node_pb_box_bbox.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_mirror","path":"sprites/s_node_pb_box_mirror/s_node_pb_box_mirror.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_split","path":"sprites/s_node_pb_box_split/s_node_pb_box_split.yy",},},
|
||||
{"id":{"name":"s_node_pb_box_transform","path":"sprites/s_node_pb_box_transform/s_node_pb_box_transform.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_angle","path":"sprites/s_node_pb_draw_angle/s_node_pb_draw_angle.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_blob","path":"sprites/s_node_pb_draw_blob/s_node_pb_draw_blob.yy",},},
|
||||
{"id":{"name":"s_node_pb_box","path":"sprites/s_node_pb_box/s_node_pb_box.yy",},},
|
||||
{"id":{"name":"s_node_pb_crop_box","path":"sprites/s_node_pb_crop_box/s_node_pb_crop_box.yy",},},
|
||||
{"id":{"name":"s_node_pb_dimension","path":"sprites/s_node_pb_dimension/s_node_pb_dimension.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_diamond","path":"sprites/s_node_pb_draw_diamond/s_node_pb_draw_diamond.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_ellipse","path":"sprites/s_node_pb_draw_ellipse/s_node_pb_draw_ellipse.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_fill","path":"sprites/s_node_pb_draw_fill/s_node_pb_draw_fill.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_line","path":"sprites/s_node_pb_draw_line/s_node_pb_draw_line.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_rectangle","path":"sprites/s_node_pb_draw_rectangle/s_node_pb_draw_rectangle.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_round_rectangle","path":"sprites/s_node_pb_draw_round_rectangle/s_node_pb_draw_round_rectangle.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_semi_ellipse","path":"sprites/s_node_pb_draw_semi_ellipse/s_node_pb_draw_semi_ellipse.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_surface","path":"sprites/s_node_pb_draw_surface/s_node_pb_draw_surface.yy",},},
|
||||
{"id":{"name":"s_node_pb_draw_trapezoid","path":"sprites/s_node_pb_draw_trapezoid/s_node_pb_draw_trapezoid.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_add","path":"sprites/s_node_pb_fx_add/s_node_pb_fx_add.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_brick","path":"sprites/s_node_pb_fx_brick/s_node_pb_fx_brick.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_hash","path":"sprites/s_node_pb_fx_hash/s_node_pb_fx_hash.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_highlight","path":"sprites/s_node_pb_fx_highlight/s_node_pb_fx_highlight.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_intersect","path":"sprites/s_node_pb_fx_intersect/s_node_pb_fx_intersect.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_outline","path":"sprites/s_node_pb_fx_outline/s_node_pb_fx_outline.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_radial","path":"sprites/s_node_pb_fx_radial/s_node_pb_fx_radial.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_shading","path":"sprites/s_node_pb_fx_shading/s_node_pb_fx_shading.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_stack","path":"sprites/s_node_pb_fx_stack/s_node_pb_fx_stack.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_strip","path":"sprites/s_node_pb_fx_strip/s_node_pb_fx_strip.yy",},},
|
||||
{"id":{"name":"s_node_pb_fx_subtract","path":"sprites/s_node_pb_fx_subtract/s_node_pb_fx_subtract.yy",},},
|
||||
{"id":{"name":"s_node_pb_layer","path":"sprites/s_node_pb_layer/s_node_pb_layer.yy",},},
|
||||
{"id":{"name":"s_node_pb_output","path":"sprites/s_node_pb_output/s_node_pb_output.yy",},},
|
||||
{"id":{"name":"s_node_perlin_extra","path":"sprites/s_node_perlin_extra/s_node_perlin_extra.yy",},},
|
||||
{"id":{"name":"s_node_perlin","path":"sprites/s_node_perlin/s_node_perlin.yy",},},
|
||||
{"id":{"name":"s_node_pin","path":"sprites/s_node_pin/s_node_pin.yy",},},
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_box_contract",
|
||||
"baseNode":"Node_PB_Box_Contract",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Contract",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_box_divide",
|
||||
"baseNode":"Node_PB_Box_Divide",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Divide",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_box_divide_grid",
|
||||
"baseNode":"Node_PB_Box_Divide_Grid",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Divide Grid",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_box_inset",
|
||||
"baseNode":"Node_PB_Box_Inset",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Inset",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_box_mirror",
|
||||
"baseNode":"Node_PB_Box_Mirror",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Mirror",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_box_split",
|
||||
"baseNode":"Node_PB_Box_Split",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Split",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_box_transform",
|
||||
"baseNode":"Node_PB_Box_Transform",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Transform",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_layer",
|
||||
"baseNode":"Node_PB_Layer",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Layer",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_angle",
|
||||
"baseNode":"Node_PB_Draw_Angle",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Angle",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_blob",
|
||||
"baseNode":"Node_PB_Draw_Blob",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Blob",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +1,8 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_diamond",
|
||||
"baseNode":"Node_PB_Draw_Diamond",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Diamond",
|
||||
"show_in_recent":false
|
||||
}
|
||||
"name": "Diamond",
|
||||
"spr": "s_node_pb_draw_diamond",
|
||||
"baseNode": "Node_PB_Draw_Diamond",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_ellipse",
|
||||
"baseNode":"Node_PB_Draw_Ellipse",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Ellipse",
|
||||
"show_in_recent":false
|
||||
}
|
||||
"name": "Ellipse",
|
||||
"spr": "s_node_pb_draw_ellipse",
|
||||
"baseNode": "Node_PB_Draw_Ellipse",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_fill",
|
||||
"baseNode":"Node_PB_Draw_Fill",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Fill",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +1,8 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_line",
|
||||
"baseNode":"Node_PB_Draw_Line",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Line",
|
||||
"show_in_recent":false
|
||||
}
|
||||
"name": "Line",
|
||||
"spr": "s_node_pb_draw_line",
|
||||
"baseNode": "Node_PB_Draw_Line",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_rectangle",
|
||||
"baseNode":"Node_PB_Draw_Rectangle",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Rectangle",
|
||||
"show_in_recent":false
|
||||
}
|
||||
"name": "Rectangle",
|
||||
"spr": "s_node_pb_draw_rectangle",
|
||||
"baseNode": "Node_PB_Draw_Rectangle",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_round_rectangle",
|
||||
"baseNode":"Node_PB_Draw_Round_Rectangle",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Round Rectangle",
|
||||
"show_in_recent":false
|
||||
}
|
||||
"name": "Round Rectangle",
|
||||
"spr": "s_node_pb_draw_round_rectangle",
|
||||
"baseNode": "Node_PB_Draw_Round_Rectangle",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_semi_ellipse",
|
||||
"baseNode":"Node_PB_Draw_Semi_Ellipse",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Semi-Ellipse",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "PB Draw Surface",
|
||||
"spr": "s_node_pb_draw_surface",
|
||||
"baseNode": "Node_PB_Draw_Surface",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
|
@ -1,9 +1,8 @@
|
|||
{
|
||||
"spr":"s_node_pb_draw_trapezoid",
|
||||
"baseNode":"Node_PB_Draw_Trapezoid",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Trapezoid",
|
||||
"show_in_recent":false
|
||||
}
|
||||
"name": "Trapezoid",
|
||||
"spr": "s_node_pb_draw_trapezoid",
|
||||
"baseNode": "Node_PB_Draw_Trapezoid",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_add",
|
||||
"baseNode":"Node_PB_Fx_Add",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Add",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_brick",
|
||||
"baseNode":"Node_PB_Fx_Brick",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Brick",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_hash",
|
||||
"baseNode":"Node_PB_Fx_Hash",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Hashing",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_highlight",
|
||||
"baseNode":"Node_PB_Fx_Highlight",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Highlight",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_intersect",
|
||||
"baseNode":"Node_PB_Fx_Intersect",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Intersect",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_outline",
|
||||
"baseNode":"Node_PB_Fx_Outline",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Outline",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_radial",
|
||||
"baseNode":"Node_PB_Fx_Radial",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Radial",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_shading",
|
||||
"baseNode":"Node_PB_Fx_Shading",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Shading",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_stack",
|
||||
"baseNode":"Node_PB_Fx_Stack",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Stack",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_strip",
|
||||
"baseNode":"Node_PB_Fx_Strip",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Strip",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"spr":"s_node_pb_fx_subtract",
|
||||
"baseNode":"Node_PB_Fx_Subtract",
|
||||
"io":[
|
||||
"pbBox"
|
||||
],
|
||||
"name":"Subtract",
|
||||
"show_in_recent":false
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "Crop PBBOX",
|
||||
"spr": "s_node_pb_crop_box",
|
||||
"baseNode": "Node_PB_Crop_PBBOX",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox","surface"],
|
||||
"show_in_recent": false,
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "PB Box",
|
||||
"spr": "s_node_pb_box",
|
||||
"baseNode": "Node_PB_Box",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "PBBOX Convert",
|
||||
"spr": "s_node_pb_box_bbox",
|
||||
"baseNode": "Node_PB_Box_BBOX",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "PBBox Mirror",
|
||||
"spr": "s_node_pb_box_mirror",
|
||||
"baseNode": "Node_PB_Box_Mirror",
|
||||
"pxc_version": 118090,
|
||||
"io": ["pbBox"],
|
||||
"show_in_recent": false,
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"name": "Dimension",
|
||||
"spr": "s_node_pb_dimension",
|
||||
"baseNode": "Node_PB_Dimension",
|
||||
"pxc_version": 118090,
|
||||
"show_in_recent": false,
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "PB Output",
|
||||
"spr": "s_node_pb_output",
|
||||
"baseNode": "Node_PB_Output",
|
||||
"pxc_version": 118090,
|
||||
"io": ["surface"],
|
||||
"show_in_recent": false,
|
||||
}
|
|
@ -225,6 +225,36 @@
|
|||
"context": ["Node_Strand_Group", "Node_Strand_Group_Inline"],
|
||||
"color": "node_blend_strand"
|
||||
},
|
||||
{
|
||||
"name": "Pixel Builder", "nodes": [
|
||||
{ "label": "Group" },
|
||||
"Node_Group_Input",
|
||||
"Node_Group_Output",
|
||||
"Node_PB_Output",
|
||||
|
||||
{ "label": "Main" },
|
||||
"Node_PB_Dimension",
|
||||
{ "label": "/PBBOX" },
|
||||
"Node_PB_Box",
|
||||
"Node_PB_Box_BBOX",
|
||||
"Node_PB_Box_Mirror",
|
||||
|
||||
{ "label": "Draw" },
|
||||
"Node_PB_Draw_Rectangle",
|
||||
"Node_PB_Draw_Round_Rectangle",
|
||||
"Node_PB_Draw_Trapezoid",
|
||||
"Node_PB_Draw_Diamond",
|
||||
"Node_PB_Draw_Ellipse",
|
||||
"Node_PB_Draw_Line",
|
||||
"Node_PB_Draw_Surface",
|
||||
|
||||
{ "label": "Surface" },
|
||||
"Node_PB_Draw_Surface",
|
||||
"Node_PB_Crop_PBBOX",
|
||||
],
|
||||
"context": ["Node_Pixel_Builder"],
|
||||
"color": "node_blend_feedback"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "IO", "nodes": [
|
||||
|
@ -943,96 +973,15 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"name": "Group",
|
||||
"iname": "pb_Group",
|
||||
"globalContext": "pb", "nodes": [
|
||||
"Node_Group_Input",
|
||||
"Node_Group_Output"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Draw",
|
||||
"iname": "pb_Draw",
|
||||
"globalContext": "pb", "nodes": [
|
||||
{ "label": "Fill" },
|
||||
"Node_PB_Draw_Fill",
|
||||
|
||||
{ "label": "Shape" },
|
||||
"Node_PB_Draw_Rectangle",
|
||||
"Node_PB_Draw_Round_Rectangle",
|
||||
"Node_PB_Draw_Trapezoid",
|
||||
"Node_PB_Draw_Diamond",
|
||||
"Node_PB_Draw_Ellipse",
|
||||
"Node_PB_Draw_Semi_Ellipse",
|
||||
"Node_PB_Draw_Line",
|
||||
"Node_PB_Draw_Angle",
|
||||
"Node_PB_Draw_Blob"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Box",
|
||||
"iname": "pb_Box",
|
||||
"globalContext": "pb", "nodes": [
|
||||
{ "label": "Layer" },
|
||||
"Node_PB_Layer",
|
||||
|
||||
{ "label": "Box" },
|
||||
"Node_PB_Box_Transform",
|
||||
"Node_PB_Box_Mirror",
|
||||
"Node_PB_Box_Inset",
|
||||
"Node_PB_Box_Split",
|
||||
"Node_PB_Box_Divide",
|
||||
"Node_PB_Box_Divide_Grid",
|
||||
"Node_PB_Box_Contract"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Effects",
|
||||
"iname": "pb_Effects",
|
||||
"globalContext": "pb", "nodes": [
|
||||
{ "label": "Effect" },
|
||||
"Node_PB_Fx_Outline",
|
||||
"Node_PB_Fx_Stack",
|
||||
"Node_PB_Fx_Radial",
|
||||
|
||||
{ "label": "Lighting" },
|
||||
"Node_PB_Fx_Highlight",
|
||||
"Node_PB_Fx_Shading",
|
||||
|
||||
{ "label": "Texture" },
|
||||
"Node_PB_Fx_Hash",
|
||||
"Node_PB_Fx_Strip",
|
||||
"Node_PB_Fx_Brick",
|
||||
|
||||
{ "label": "Blend" },
|
||||
"Node_PB_Fx_Add",
|
||||
"Node_PB_Fx_Subtract",
|
||||
"Node_PB_Fx_Intersect"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Array",
|
||||
"iname": "pb_Array",
|
||||
"globalContext": "pb", "nodes": [
|
||||
"Node_Array",
|
||||
"Node_Array_Get",
|
||||
"Node_Array_Set",
|
||||
"Node_Array_Insert",
|
||||
"Node_Array_Remove"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Variable",
|
||||
"iname": "pcx_Variable",
|
||||
"globalContext": "pcx", "nodes": [
|
||||
"globalContext": "pcx", "name": "Variable", "nodes": [
|
||||
"Node_PCX_var",
|
||||
"Node_PCX_fn_var"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Functions",
|
||||
"iname": "pcx_Functions",
|
||||
"globalContext": "pcx", "nodes": [
|
||||
"globalContext": "pcx", "name": "Functions", "nodes": [
|
||||
"Node_PCX_Equation",
|
||||
|
||||
{ "label": "Numbers" },
|
||||
|
@ -1049,9 +998,8 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"name": "Flow Control",
|
||||
"iname": "pcx_Flow_Control",
|
||||
"globalContext": "pcx", "nodes": [
|
||||
"globalContext": "pcx", "name": "Flow Control", "nodes": [
|
||||
"Node_PCX_Condition"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
1740014677.4821365
|
||||
1740805964.5858002
|
Binary file not shown.
|
@ -61,11 +61,10 @@ event_inherited();
|
|||
]);
|
||||
|
||||
#region ---- category ----
|
||||
|
||||
category = NODE_CATEGORY;
|
||||
|
||||
switch(instanceof(context)) {
|
||||
case "Node_Pixel_Builder" : category = NODE_PB_CATEGORY; break;
|
||||
case "Node_DynaSurf" : category = NODE_PCX_CATEGORY; break;
|
||||
default : category = NODE_CATEGORY;
|
||||
}
|
||||
|
||||
draw_set_font(f_p0);
|
||||
|
|
|
@ -18,9 +18,9 @@ function __Panel_Linear_Setting_Item(name, editWidget, data, onEdit = noone, get
|
|||
function __Panel_Linear_Setting_Item_Preference(name, key, editWidget, _data = noone) : __Panel_Linear_Setting_Item(name, editWidget, _data) constructor {
|
||||
self.key = key;
|
||||
|
||||
data = function( ) { return getPreference(key); }
|
||||
onEdit = function(v) { setPreference(key, v); }
|
||||
getDefault = function( ) { return getPreference(key, PREFERENCES_DEF); }
|
||||
data = function( ) /*=>*/ {return getPreference(key)};
|
||||
onEdit = function(v) /*=>*/ {return setPreference(key, v)};
|
||||
getDefault = function( ) /*=>*/ {return getPreference(key, PREFERENCES_DEF)};
|
||||
}
|
||||
|
||||
function __Panel_Linear_Setting_Label(name, sprite, _index = 0, _color = c_white) constructor {
|
||||
|
|
|
@ -1,79 +1,273 @@
|
|||
enum PB_AXIS_ANCHOR {
|
||||
center = 0b00,
|
||||
minimum = 0b10,
|
||||
maximum = 0b01,
|
||||
bounded = 0b11,
|
||||
}
|
||||
|
||||
enum PB_DIM_BOUND {
|
||||
unbounded,
|
||||
}
|
||||
|
||||
function __pbBox() constructor {
|
||||
layer = 0;
|
||||
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 32;
|
||||
h = 32;
|
||||
base_bbox = [ 0, 0, 32, 32 ];
|
||||
|
||||
layer_w = 32;
|
||||
layer_h = 32;
|
||||
anchor_x_type = PB_AXIS_ANCHOR.minimum;
|
||||
anchor_y_type = PB_AXIS_ANCHOR.minimum;
|
||||
|
||||
mask = noone;
|
||||
content = noone;
|
||||
anchor_l = 0; anchor_l_fract = false;
|
||||
anchor_t = 0; anchor_t_fract = false;
|
||||
|
||||
mirror_h = false;
|
||||
mirror_v = false;
|
||||
anchor_r = 0; anchor_r_fract = false;
|
||||
anchor_b = 0; anchor_b_fract = false;
|
||||
|
||||
rotation = 0;
|
||||
anchor_w = 1; anchor_w_fract = true;
|
||||
anchor_h = 1; anchor_h_fract = true;
|
||||
|
||||
static drawOverlay = function(_x, _y, _s, color = COLORS._main_accent) {
|
||||
var _x0 = _x + x * _s;
|
||||
var _y0 = _y + y * _s;
|
||||
anchor_w_type = PB_DIM_BOUND.unbounded;
|
||||
anchor_h_type = PB_DIM_BOUND.unbounded;
|
||||
|
||||
anchor_w_min = 0; anchor_w_max = 0;
|
||||
anchor_h_min = 0; anchor_h_max = 0;
|
||||
|
||||
function set_w(v) { anchor_w = anchor_w_fract? v / (base_bbox[2] - base_bbox[0]) : v; }
|
||||
function set_h(v) { anchor_h = anchor_h_fract? v / (base_bbox[3] - base_bbox[1]) : v; }
|
||||
|
||||
function set_l(v) { v -= base_bbox[0]; anchor_l = anchor_l_fract? v / (base_bbox[2] - base_bbox[0]) : v; }
|
||||
function set_t(v) { v -= base_bbox[1]; anchor_t = anchor_t_fract? v / (base_bbox[3] - base_bbox[1]) : v; }
|
||||
|
||||
function set_r(v) { anchor_r = anchor_r_fract? v / (base_bbox[2] - base_bbox[0]) : v; }
|
||||
function set_b(v) { anchor_b = anchor_b_fract? v / (base_bbox[3] - base_bbox[1]) : v; }
|
||||
|
||||
////- Draw
|
||||
|
||||
drag_anchor = noone;
|
||||
drag_anchor_sv = [ 0, 0, 0, 0 ];
|
||||
drag_anchor_mx = 0;
|
||||
drag_anchor_my = 0;
|
||||
|
||||
static drawOverlayBBOX = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _node) {
|
||||
var _bbox = getBBOX();
|
||||
|
||||
var _x1 = _x0 + w * _s;
|
||||
var _y1 = _y0 + h * _s;
|
||||
var _x0 = _x + _bbox[0] * _s;
|
||||
var _y0 = _y + _bbox[1] * _s;
|
||||
var _x1 = _x + _bbox[2] * _s;
|
||||
var _y1 = _y + _bbox[3] * _s;
|
||||
|
||||
var _msk = is_surface(mask);
|
||||
|
||||
draw_set_alpha(0.5 + 0.5 * !_msk);
|
||||
draw_set_color(color);
|
||||
draw_rectangle(_x0, _y0, _x1, _y1, true);
|
||||
draw_set_alpha(1);
|
||||
}
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, _node) {
|
||||
var _bbox = getBBOX();
|
||||
|
||||
if(_msk) {
|
||||
var _sr = surface_get_target();
|
||||
var _ms = surface_create_size(_sr);
|
||||
var _x0 = _x + _bbox[0] * _s;
|
||||
var _y0 = _y + _bbox[1] * _s;
|
||||
var _x1 = _x + _bbox[2] * _s;
|
||||
var _y1 = _y + _bbox[3] * _s;
|
||||
|
||||
var _h0 = 0, _h1 = 0, _h2 = 0, _h3 = 0, _h9 = 0;
|
||||
|
||||
draw_set_color(COLORS._main_accent);
|
||||
draw_rectangle(_x0, _y0, _x1, _y1, true);
|
||||
|
||||
if(drag_anchor == noone) {
|
||||
if(hover && point_in_circle(_mx, _my, _x0, _y0, 12)) { _h0 = 1; if(mouse_press(mb_left, active)) drag_anchor = 0; }
|
||||
else if(hover && point_in_circle(_mx, _my, _x1, _y0, 12)) { _h1 = 1; if(mouse_press(mb_left, active)) drag_anchor = 1; }
|
||||
else if(hover && point_in_circle(_mx, _my, _x0, _y1, 12)) { _h2 = 1; if(mouse_press(mb_left, active)) drag_anchor = 2; }
|
||||
else if(hover && point_in_circle(_mx, _my, _x1, _y1, 12)) { _h3 = 1; if(mouse_press(mb_left, active)) drag_anchor = 3; }
|
||||
else if(hover && point_in_rectangle(_mx, _my, _x0, _y0, _x1, _y1)) { _h9 = 1; if(mouse_press(mb_left, active)) drag_anchor = 9; }
|
||||
|
||||
surface_set_target(_ms);
|
||||
DRAW_CLEAR
|
||||
draw_surface_ext_safe(mask, _x0, _y0, _s, _s, 0, color, 1);
|
||||
surface_reset_target();
|
||||
draw_anchor(_h0, _x0, _y0, ui(10));
|
||||
draw_anchor(_h1, _x1, _y0, ui(10));
|
||||
draw_anchor(_h2, _x0, _y1, ui(10));
|
||||
draw_anchor(_h3, _x1, _y1, ui(10));
|
||||
draw_anchor(_h9, (_x0 + _x1) / 2, (_y0 + _y1) / 2, ui(8));
|
||||
|
||||
shader_set(sh_pb_draw_mask);
|
||||
shader_set_dim(, _ms);
|
||||
draw_surface_ext_safe(_ms, 0, 0, 1, 1, 0, color, 1);
|
||||
shader_reset();
|
||||
|
||||
surface_free(_ms);
|
||||
if(drag_anchor != noone) {
|
||||
drag_anchor_sv = variable_clone(_bbox);
|
||||
drag_anchor_mx = _mx;
|
||||
drag_anchor_my = _my;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var _xx = base_bbox[0];
|
||||
var _yy = base_bbox[1];
|
||||
var _ww = base_bbox[2] - base_bbox[0];
|
||||
var _hh = base_bbox[3] - base_bbox[1];
|
||||
|
||||
var _mdx = (_mx - drag_anchor_mx) / _s;
|
||||
var _mdy = (_my - drag_anchor_my) / _s;
|
||||
|
||||
switch(drag_anchor) {
|
||||
case 0 : draw_anchor(1, _x0, _y0, ui(10)); break;
|
||||
case 1 : draw_anchor(1, _x1, _y0, ui(10)); break;
|
||||
case 2 : draw_anchor(1, _x0, _y1, ui(10)); break;
|
||||
case 3 : draw_anchor(1, _x1, _y1, ui(10)); break;
|
||||
case 9 : draw_anchor(_h9, (_x0 + _x1) / 2, (_y0 + _y1) / 2, ui(8));
|
||||
}
|
||||
|
||||
if(drag_anchor == 9) {
|
||||
var _bl = round(drag_anchor_sv[0] + _mdx);
|
||||
var _br = round(drag_anchor_sv[2] + _mdx);
|
||||
var _bt = round(drag_anchor_sv[1] + _mdy);
|
||||
var _bb = round(drag_anchor_sv[3] + _mdy);
|
||||
|
||||
setBBOX([ _bl, _bt, _br, _bb ]);
|
||||
|
||||
} else {
|
||||
if(drag_anchor == 0 || drag_anchor == 2) {
|
||||
var _bx = round(drag_anchor_sv[0] + _mdx);
|
||||
var _bw = _bbox[2] - _bx;
|
||||
|
||||
switch(anchor_x_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : set_l(_bx); set_w(_bw); break;
|
||||
case PB_AXIS_ANCHOR.maximum : set_w(_bw); break;
|
||||
case PB_AXIS_ANCHOR.bounded : set_l(_bx); break;
|
||||
}
|
||||
}
|
||||
|
||||
if(drag_anchor == 0 || drag_anchor == 1) {
|
||||
var _by = round(drag_anchor_sv[1] + _mdy);
|
||||
var _bh = _bbox[3] - _by;
|
||||
|
||||
switch(anchor_y_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : set_t(_by); set_h(_bh); break;
|
||||
case PB_AXIS_ANCHOR.maximum : set_h(_bh); break;
|
||||
case PB_AXIS_ANCHOR.bounded : set_t(_by); break;
|
||||
}
|
||||
}
|
||||
|
||||
if(drag_anchor == 3 || drag_anchor == 1) {
|
||||
var _bx = round(drag_anchor_sv[2] + _mdx);
|
||||
var _bw = _bx - _bbox[0];
|
||||
|
||||
switch(anchor_x_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : set_w(_bw); break;
|
||||
case PB_AXIS_ANCHOR.maximum : set_r(_ww - _bx); set_w(_bw); break;
|
||||
case PB_AXIS_ANCHOR.bounded : set_r(_ww - _bx); break;
|
||||
}
|
||||
}
|
||||
|
||||
if(drag_anchor == 3 || drag_anchor == 2) {
|
||||
var _by = round(drag_anchor_sv[3] + _mdy);
|
||||
var _bh = _by - _bbox[1];
|
||||
|
||||
switch(anchor_y_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : set_h(_bh); break;
|
||||
case PB_AXIS_ANCHOR.maximum : set_b(_hh - _by); set_h(_bh); break;
|
||||
case PB_AXIS_ANCHOR.bounded : set_b(_hh - _by); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_node.triggerRender();
|
||||
if(mouse_release(mb_left)) drag_anchor = noone;
|
||||
}
|
||||
|
||||
static clone = function() {
|
||||
var _pbbox = new __pbBox();
|
||||
////- BBOX
|
||||
|
||||
static setBBOX = function(_bbox) {
|
||||
|
||||
_pbbox.layer = layer;
|
||||
_pbbox.x = x;
|
||||
_pbbox.y = y;
|
||||
_pbbox.w = w;
|
||||
_pbbox.h = h;
|
||||
var _x0 = base_bbox[0];
|
||||
var _y0 = base_bbox[1];
|
||||
var _x1 = base_bbox[2];
|
||||
var _y1 = base_bbox[3];
|
||||
|
||||
_pbbox.layer_w = layer_w;
|
||||
_pbbox.layer_h = layer_h;
|
||||
var _bl = _bbox[0];
|
||||
var _br = _x1 - _bbox[2];
|
||||
var _bt = _bbox[1];
|
||||
var _bb = _y1 - _bbox[3];
|
||||
var _bw = _bbox[2] - _bbox[0];
|
||||
var _bh = _bbox[3] - _bbox[1];
|
||||
|
||||
_pbbox.mirror_h = mirror_h;
|
||||
_pbbox.mirror_v = mirror_v;
|
||||
switch(anchor_x_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : set_l(_bl); set_w(_bw); break;
|
||||
case PB_AXIS_ANCHOR.maximum : set_r(_br); set_w(_bw); break;
|
||||
case PB_AXIS_ANCHOR.bounded : set_l(_bl); set_r(_br); break;
|
||||
}
|
||||
|
||||
_pbbox.rotation = rotation;
|
||||
switch(anchor_y_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : set_t(_bt); set_h(_bh); break;
|
||||
case PB_AXIS_ANCHOR.maximum : set_b(_bb); set_h(_bh); break;
|
||||
case PB_AXIS_ANCHOR.bounded : set_t(_bt); set_b(_bb); break;
|
||||
}
|
||||
|
||||
_pbbox.mask = surface_clone(mask);
|
||||
_pbbox.content = surface_clone(content);
|
||||
|
||||
return _pbbox;
|
||||
}
|
||||
|
||||
static free = function() {
|
||||
surface_free_safe(mask);
|
||||
surface_free_safe(content);
|
||||
static getBBOX = function() {
|
||||
|
||||
var _xx = base_bbox[0];
|
||||
var _yy = base_bbox[1];
|
||||
var _ww = base_bbox[2] - base_bbox[0];
|
||||
var _hh = base_bbox[3] - base_bbox[1];
|
||||
|
||||
var _w = anchor_w_fract? _ww * anchor_w : anchor_w;
|
||||
var _h = anchor_h_fract? _hh * anchor_h : anchor_h;
|
||||
|
||||
var _l = anchor_l_fract? _ww * anchor_l : anchor_l;
|
||||
var _t = anchor_t_fract? _hh * anchor_t : anchor_t;
|
||||
|
||||
var _r = anchor_r_fract? _ww * anchor_r : anchor_r;
|
||||
var _b = anchor_b_fract? _hh * anchor_b : anchor_b;
|
||||
|
||||
var _x0 = _xx, _y0 = _yy;
|
||||
var _x1 = _xx + _ww, _y1 = _yy + _hh;
|
||||
|
||||
_x0 = _xx + _l;
|
||||
_x1 = _xx + _ww - _r;
|
||||
_y0 = _yy + _t;
|
||||
_y1 = _yy + _hh - _b;
|
||||
|
||||
var _cx = (_x0 + _x1) / 2;
|
||||
var _cy = (_y0 + _y1) / 2;
|
||||
|
||||
////////////////////////////////////////////
|
||||
|
||||
switch(anchor_x_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : _x1 = _x0 + _w; break;
|
||||
case PB_AXIS_ANCHOR.maximum : _x0 = _x1 - _w; break;
|
||||
case PB_AXIS_ANCHOR.center :
|
||||
_w = min(_w, _x1 - _x0);
|
||||
_x0 = _cx - _w / 2;
|
||||
_x1 = _cx + _w / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
switch(anchor_y_type) {
|
||||
case PB_AXIS_ANCHOR.minimum : _y1 = _y0 + _h; break;
|
||||
case PB_AXIS_ANCHOR.maximum : _y0 = _y1 - _h; break;
|
||||
case PB_AXIS_ANCHOR.center :
|
||||
_h = min(_h, _y1 - _y0);
|
||||
_y0 = _cy - _h / 2;
|
||||
_y1 = _cy + _h / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
return [ floor(_x0), floor(_y0), ceil(_x1), ceil(_y1) ];
|
||||
}
|
||||
|
||||
////- Lerp
|
||||
|
||||
static lerpTo = function(target, amount) {
|
||||
var nb = clone();
|
||||
|
||||
nb.anchor_l = lerp(nb.anchor_l, target.anchor_l, amount);
|
||||
nb.anchor_t = lerp(nb.anchor_t, target.anchor_t, amount);
|
||||
nb.anchor_r = lerp(nb.anchor_r, target.anchor_r, amount);
|
||||
nb.anchor_b = lerp(nb.anchor_b, target.anchor_b, amount);
|
||||
nb.anchor_w = lerp(nb.anchor_w, target.anchor_w, amount);
|
||||
nb.anchor_h = lerp(nb.anchor_h, target.anchor_h, amount);
|
||||
|
||||
return nb;
|
||||
}
|
||||
|
||||
////- Actions
|
||||
|
||||
static serialize = function( ) { return variable_clone(self); }
|
||||
static deserialize = function(map) { struct_override(self, map); return self; }
|
||||
|
||||
static clone = function() /*=>*/ {return variable_clone(self)};
|
||||
|
||||
}
|
|
@ -5,8 +5,8 @@
|
|||
"isDnD":false,
|
||||
"name":"__pbBox",
|
||||
"parent":{
|
||||
"name":"pixel builder",
|
||||
"path":"folders/nodes/data/pixel builder.yy",
|
||||
"name":"main",
|
||||
"path":"folders/nodes/data/PB/main.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
|
@ -324,6 +324,13 @@
|
|||
array_insert(arr, ind, val);
|
||||
}
|
||||
|
||||
function array_insert_array(arr, _ind, values) {
|
||||
INLINE
|
||||
|
||||
for( var i = 0, n = array_length(values); i < n; i++ )
|
||||
array_insert(arr, _ind + i, values[i]);
|
||||
}
|
||||
|
||||
function array_insert_after(arr, before, values) {
|
||||
INLINE
|
||||
|
||||
|
|
|
@ -4,8 +4,7 @@ function __initCollection() {
|
|||
globalvar COLLECTIONS;
|
||||
COLLECTIONS = -1;
|
||||
|
||||
var root = DIRECTORY + "Collections"; directory_verify(root);
|
||||
var rootz = DIRECTORY + "Collections_cache"; directory_verify(rootz);
|
||||
var root = DIRECTORY + "Collections"; directory_verify(root);
|
||||
|
||||
if(check_version($"{root}/version")) zip_unzip("data/Collections.zip", root);
|
||||
|
||||
|
@ -73,4 +72,34 @@ function saveCollection(_node, _path, _name, save_surface = true, metadata = noo
|
|||
PANEL_COLLECTION.updated_path = _path;
|
||||
PANEL_COLLECTION.updated_prog = 1;
|
||||
PANEL_COLLECTION.refreshContext();
|
||||
}
|
||||
|
||||
function clearDefaultCollection() {
|
||||
var st = ds_stack_create();
|
||||
ds_stack_push(st, COLLECTIONS);
|
||||
|
||||
while(!ds_stack_empty(st)) {
|
||||
var _st = ds_stack_pop(st);
|
||||
for( var i = 0; i < ds_list_size(_st.content); i++ ) {
|
||||
var _file = _st.content[| i];
|
||||
if(_file.type != FILE_TYPE.collection) continue;
|
||||
|
||||
var _meta = _file.getMetadata();
|
||||
if(!_meta.isDefault) continue;
|
||||
|
||||
var _path = _file.path;
|
||||
var _spth = array_safe_get(_file.spr_path, 0);
|
||||
var _mpth = _file.meta_path;
|
||||
|
||||
file_delete_safe(_path);
|
||||
file_delete_safe(_spth);
|
||||
file_delete_safe(_mpth);
|
||||
}
|
||||
|
||||
for( var i = 0; i < ds_list_size(_st.subDir); i++ )
|
||||
ds_stack_push(st, _st.subDir[| i]);
|
||||
}
|
||||
|
||||
ds_stack_destroy(st);
|
||||
file_delete_safe(DIRECTORY + "Collections/version");
|
||||
}
|
|
@ -1,6 +1,15 @@
|
|||
function directory_verify(path) {
|
||||
INLINE
|
||||
|
||||
if(directory_exists(path)) return;
|
||||
directory_create(path);
|
||||
}
|
||||
|
||||
function directory_clear(path) {
|
||||
if(!directory_exists(path)) return;
|
||||
directory_destroy(path);
|
||||
directory_create(path);
|
||||
}
|
||||
|
||||
function directory_size_mb(dir) {
|
||||
if(!directory_exists(dir)) return 0;
|
||||
return directory_size(dir) / (1024*1024);
|
||||
}
|
|
@ -105,6 +105,7 @@ function FileObject(_path) constructor {
|
|||
|
||||
if(file_exists_empty(meta_path)) {
|
||||
meta.deserialize(json_load_struct(meta_path));
|
||||
|
||||
} else {
|
||||
var m = json_load_struct(path);
|
||||
|
||||
|
@ -166,8 +167,7 @@ function DirectoryObject(_path) constructor {
|
|||
ds_list_add(content, _ndir);
|
||||
|
||||
} else if(directory_exists(_path)) {
|
||||
var fol = new DirectoryObject(_path)
|
||||
.scan(file_type);
|
||||
var fol = new DirectoryObject(_path).scan(file_type);
|
||||
ds_list_add(subDir, fol);
|
||||
|
||||
} else if(array_exists(file_type, filename_ext(file))) {
|
||||
|
|
|
@ -280,7 +280,7 @@ function draw_arc_forward(_x, _y, _r, _th, _angSt, _angEd) {
|
|||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
function draw_circle_ui(_x, _y, _r, _th, _c = c_white, _a = 1) {
|
||||
function draw_circle_ui(_x, _y, _r, _th = 0, _c = c_white, _a = 1) {
|
||||
shader_set(sh_node_circle);
|
||||
shader_set_color("color", _c, _a);
|
||||
shader_set_f("thickness", _th);
|
||||
|
|
|
@ -81,4 +81,15 @@ function draw_line_width2_angle_width(x0, y0, x1, y1, w0, w1, a0 = 0, a1 = 0, _o
|
|||
draw_vertex_color( x1, y1, _nc, 1);
|
||||
draw_vertex_color(_x0, _y0, c_black, 1);
|
||||
draw_vertex_color(_x1, _y1, c_black, 1);
|
||||
}
|
||||
|
||||
function draw_line_cap_T(x0, y0, x1, y1, cap = 4) {
|
||||
draw_line(x0, y0, x1, y1);
|
||||
|
||||
var _dir = point_direction(x0, y0, x1, y1);
|
||||
var _dx = lengthdir_x(cap, _dir + 90);
|
||||
var _dy = lengthdir_y(cap, _dir + 90);
|
||||
|
||||
draw_line(x0 - _dx, y0 - _dy, x0 + _dx, y0 + _dy);
|
||||
draw_line(x1 - _dx, y1 - _dy, x1 + _dx, y1 + _dy);
|
||||
}
|
|
@ -6,15 +6,7 @@
|
|||
|
||||
function draw_set_color_alpha(col, alpha = 1) { draw_set_color(col); draw_set_alpha(alpha); }
|
||||
|
||||
function draw_set_color_ext(col) {
|
||||
INLINE
|
||||
|
||||
__draw_set_color(col);
|
||||
if(is_real(col)) return;
|
||||
|
||||
var a = _color_get_alpha(col);
|
||||
draw_set_alpha(a);
|
||||
}
|
||||
function draw_set_color_ext(col) { draw_set_color(col); draw_set_alpha(_color_get_alpha(col)); }
|
||||
|
||||
function draw_clear_ext_override(col) {
|
||||
if(is_real(col)) {
|
||||
|
|
|
@ -85,4 +85,6 @@ function file_is_image(path) {
|
|||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function file_delete_safe(path) { if(!file_exists_empty(path)) return; file_delete(path); }
|
|
@ -43,8 +43,8 @@
|
|||
LATEST_VERSION = 1_18_00_0;
|
||||
VERSION = 1_18_09_0;
|
||||
SAVE_VERSION = 1_18_09_1;
|
||||
VERSION_STRING = MAC? "1.18.003m" : "1.18.10.001";
|
||||
BUILD_NUMBER = 118101.001;
|
||||
VERSION_STRING = MAC? "1.18.003m" : "1.18.10.003";
|
||||
BUILD_NUMBER = 118101.003;
|
||||
PREF_VERSION = 1_17_1;
|
||||
|
||||
var _vsp = string_split(VERSION_STRING, ".");
|
||||
|
|
|
@ -22,6 +22,7 @@ function MetaDataManager() constructor {
|
|||
contact = "";
|
||||
alias = "";
|
||||
type = FILE_TYPE.collection;
|
||||
isDefault = false;
|
||||
|
||||
author_steam_id = 0;
|
||||
file_id = 0;
|
||||
|
@ -30,36 +31,40 @@ function MetaDataManager() constructor {
|
|||
steam = FILE_STEAM_TYPE.local;
|
||||
|
||||
static displays = [
|
||||
[ "Description", function(meta) { return meta.description; } , 5],
|
||||
[ "Author", function(meta) { return meta.author; } , 1],
|
||||
[ "Contact info", function(meta) { return meta.contact; } , 1],
|
||||
[ "Alias", function(meta) { return meta.alias; } , 1],
|
||||
[ "Tags", function(meta) { return meta.tags; } , 1],
|
||||
[ "Description", function(m) /*=>*/ {return m.description}, 5],
|
||||
[ "Author", function(m) /*=>*/ {return m.author}, 1],
|
||||
[ "Contact info", function(m) /*=>*/ {return m.contact}, 1],
|
||||
[ "Alias", function(m) /*=>*/ {return m.alias}, 1],
|
||||
[ "Tags", function(m) /*=>*/ {return m.tags}, 1],
|
||||
];
|
||||
|
||||
static serialize = function() {
|
||||
var m = {};
|
||||
m.description = description;
|
||||
m.author = author;
|
||||
m.contact = contact;
|
||||
m.alias = alias;
|
||||
m.aut_id = author_steam_id;
|
||||
m.file_id = file_id;
|
||||
m.tags = tags;
|
||||
m.version = version;
|
||||
var m = {
|
||||
description,
|
||||
author,
|
||||
contact,
|
||||
alias,
|
||||
file_id,
|
||||
tags,
|
||||
version,
|
||||
isDefault,
|
||||
};
|
||||
|
||||
m.aut_id = author_steam_id;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
static deserialize = function(m, readonly = false) {
|
||||
description = struct_try_get(m, "description", description);
|
||||
author = struct_try_get(m, "author", author);
|
||||
contact = struct_try_get(m, "contact", contact);
|
||||
alias = struct_try_get(m, "alias", alias);
|
||||
author_steam_id = struct_try_get(m, "aut_id", author_steam_id);
|
||||
file_id = struct_try_get(m, "file_id", file_id);
|
||||
tags = struct_try_get(m, "tags", tags);
|
||||
version = struct_try_get(m, "version", version);
|
||||
description = m[$ "description"] ?? description;
|
||||
author = m[$ "author"] ?? author;
|
||||
contact = m[$ "contact"] ?? contact;
|
||||
alias = m[$ "alias"] ?? alias;
|
||||
author_steam_id = m[$ "aut_id"] ?? author_steam_id;
|
||||
file_id = m[$ "file_id"] ?? file_id;
|
||||
tags = m[$ "tags"] ?? tags;
|
||||
version = m[$ "version"] ?? version;
|
||||
isDefault = m[$ "isDefault"] ?? isDefault;
|
||||
|
||||
return self;
|
||||
}
|
||||
|
@ -104,7 +109,7 @@ function MetaDataManager() constructor {
|
|||
|
||||
draw_set_font(f_h5);
|
||||
_h += string_height_ext(name, -1, ww) - ui(4);
|
||||
_w = max(_w, string_width_ext(name, -1, ww));
|
||||
_w = max(_w, string_width_ext(name, -1, ww) + isDefault * ui(6 + 56));
|
||||
|
||||
draw_set_font(f_p1);
|
||||
_h += string_height_ext(_aut, -1, ww);
|
||||
|
@ -116,10 +121,12 @@ function MetaDataManager() constructor {
|
|||
_w = max(_w, string_width_ext(contact, -1, ww));
|
||||
}
|
||||
|
||||
draw_set_font(f_p1);
|
||||
_h += ui(8);
|
||||
_h += string_height_ext(description, -1, ww);
|
||||
_w = max(_w, string_width_ext(description, -1, ww));
|
||||
if(description != "") {
|
||||
draw_set_font(f_p1);
|
||||
_h += ui(8);
|
||||
_h += string_height_ext(description, -1, ww);
|
||||
_w = max(_w, string_width_ext(description, -1, ww));
|
||||
}
|
||||
|
||||
if(alias != "") {
|
||||
_h += ui(16);
|
||||
|
@ -160,16 +167,29 @@ function MetaDataManager() constructor {
|
|||
draw_sprite_stretched(THEME.textbox, 3, mx, my, _w + _pd * 2, _h + _pd * 2);
|
||||
draw_sprite_stretched(THEME.textbox, 0, mx, my, _w + _pd * 2, _h + _pd * 2);
|
||||
|
||||
var tx = mx + _pd;
|
||||
var ty = my + ui(8);
|
||||
|
||||
draw_set_text(f_h5, fa_left, fa_top, COLORS._main_text);
|
||||
draw_text_line(mx + _pd, ty, name, -1, _w);
|
||||
draw_text_line(tx, ty, name, -1, _w);
|
||||
|
||||
if(isDefault) {
|
||||
var _dx = tx + string_width(name) + ui(6);
|
||||
var _dy = ty + ui(6);
|
||||
|
||||
draw_sprite_stretched_ext(THEME.box_r2, 0, _dx, _dy, ui(56), ui(20), COLORS._main_icon_dark, 1);
|
||||
draw_set_text(f_p3, fa_left, fa_top, COLORS._main_text_accent);
|
||||
draw_text(_dx + ui(4), _dy + ui(2), "Default");
|
||||
|
||||
draw_set_font(f_h5);
|
||||
}
|
||||
|
||||
ty += string_height_ext(name, -1, _w) - ui(4);
|
||||
|
||||
draw_set_text(f_p1, fa_left, fa_top, COLORS._main_text_sub);
|
||||
draw_text_line(mx + _pd, ty, _aut, -1, _w);
|
||||
draw_text_line(tx, ty, _aut, -1, _w);
|
||||
if(_own) {
|
||||
var _owX = mx + _pd + string_width_ext(_aut, -1, _w) + ui(12);
|
||||
var _owX = tx + string_width_ext(_aut, -1, _w) + ui(12);
|
||||
|
||||
draw_set_font(f_p2);
|
||||
var _owW = string_width( _ont);
|
||||
|
@ -183,26 +203,28 @@ function MetaDataManager() constructor {
|
|||
|
||||
if(contact != "") {
|
||||
draw_set_text(f_p2, fa_left, fa_top, COLORS._main_text_sub);
|
||||
draw_text_line(mx + _pd, ty, contact, -1, _w);
|
||||
draw_text_line(tx, ty, contact, -1, _w);
|
||||
ty += string_height_ext(contact, -1, _w);
|
||||
}
|
||||
|
||||
ty += ui(8);
|
||||
draw_set_text(f_p1, fa_left, fa_top, COLORS._main_text);
|
||||
draw_text_line(mx + _pd, ty, description, -1, _w);
|
||||
ty += string_height_ext(description, -1, _w);
|
||||
if(description != "") {
|
||||
ty += ui(8);
|
||||
draw_set_text(f_p1, fa_left, fa_top, COLORS._main_text);
|
||||
draw_text_line(tx, ty, description, -1, _w);
|
||||
ty += string_height_ext(description, -1, _w);
|
||||
}
|
||||
|
||||
if(alias != "") {
|
||||
ty += ui(16);
|
||||
draw_set_text(f_p2, fa_left, fa_top, COLORS._main_text_sub);
|
||||
draw_text_line(mx + _pd, ty, alias, -1, _w);
|
||||
draw_text_line(tx, ty, alias, -1, _w);
|
||||
ty += string_height_ext(alias, -1, _w);
|
||||
}
|
||||
|
||||
if(floor(version) != floor(SAVE_VERSION)) {
|
||||
ty += ui(8);
|
||||
draw_set_text(f_p2, fa_left, fa_top, COLORS._main_accent);
|
||||
draw_text_line(mx + _pd, ty, _ver, -1, _w);
|
||||
draw_text_line(tx, ty, _ver, -1, _w);
|
||||
ty += string_height_ext(_ver, -1, _w);
|
||||
}
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc
|
|||
case "textArea" :
|
||||
case "controlPointBox" :
|
||||
case "transformBox" :
|
||||
case "pbBoxBox" :
|
||||
breakLine = true;
|
||||
break;
|
||||
|
||||
|
|
|
@ -538,12 +538,9 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
if(!draw_input_overlay) return;
|
||||
|
||||
for(var i = custom_input_index; i < array_length(inputs); i++) {
|
||||
var _in = inputs[i];
|
||||
var _show = _in.from.getInputData(6);
|
||||
|
||||
if(!_show) continue;
|
||||
var _hov = _in.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
if(_hov != undefined) active &= !_hov;
|
||||
var _in = inputs[i];
|
||||
var _hv = _in.from.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
if(_hv != undefined) active &= !_hv;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ function Node_Crop(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
newInput(0, nodeValue_Surface("Surface In", self));
|
||||
|
||||
newInput(1, nodeValue_Padding("Crop", self, [ 0, 0, 0, 0 ]))
|
||||
.setUnitRef(function(index) { return getDimension(index); });
|
||||
.setUnitRef(function(i) /*=>*/ {return getDimension(i)});
|
||||
|
||||
newInput(2, nodeValue_Bool("Active", self, true));
|
||||
active_index = 2;
|
||||
|
@ -15,7 +15,7 @@ function Node_Crop(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
newInput(4, nodeValue_Vec2("Ratio", self, [ 1, 1 ]));
|
||||
|
||||
newInput(5, nodeValue_Vec2("Center", self, [ .5, .5 ]))
|
||||
.setUnitRef(function(index) { return getDimension(index); }, VALUE_UNIT.reference);
|
||||
.setUnitRef(function(i) /*=>*/ {return getDimension(i)}, VALUE_UNIT.reference);
|
||||
|
||||
newInput(6, nodeValue_Float("Width", self, 8 ));
|
||||
|
||||
|
@ -329,9 +329,6 @@ function Node_Crop(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
|
||||
}
|
||||
|
||||
// draw_transforms = [];
|
||||
// static drawOverlayTransform = function(_node) { return array_safe_get(draw_transforms, preview_index, noone); }
|
||||
|
||||
static onValueUpdate = function(index) {
|
||||
if(index != 3) return;
|
||||
|
||||
|
|
|
@ -2141,7 +2141,7 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
|||
drawNodeBase(xx, yy, _s);
|
||||
draggable = true;
|
||||
|
||||
if(previewable) {
|
||||
if(previewable && _panel != noone) {
|
||||
if(preview_draw) drawPreview(xx, yy, _s);
|
||||
|
||||
try {
|
||||
|
|
|
@ -117,8 +117,12 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
|
||||
newInput(13, nodeValue_Float("Gizmo Scale", self, 1));
|
||||
|
||||
inputs[10].setFrom_condition = function(_valueFrom) {
|
||||
if(is_instanceof(_valueFrom.node, Node_Group_Input)) return true;
|
||||
newInput(14, nodeValue_Rotation("Gizmo Rotation", self, 0));
|
||||
|
||||
newInput(15, nodeValue_Bool("Gizmo Label", self, true));
|
||||
|
||||
inputs[10].setFrom_condition = function(v) {
|
||||
if(is(v.node, Node_Group_Input)) return true;
|
||||
noti_warning("Group IO visibility must be connected directly to another group input.",, self);
|
||||
return false;
|
||||
}
|
||||
|
@ -129,7 +133,7 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
input_display_list = [
|
||||
["Junction", false], 9, 10, 11,
|
||||
["Data", false], 2, 0, 4, 1, 7, 3, 8,
|
||||
["Gizmo", false, 6], 12, 13,
|
||||
["Gizmo", false, 6], 12, 13, 14, 15,
|
||||
];
|
||||
|
||||
newOutput(0, nodeValue_Output("Value", self, VALUE_TYPE.any, 0))
|
||||
|
@ -510,16 +514,21 @@ function Node_Group_Input(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
static drawNodeDef = drawNode;
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
if(inParent.isArray()) return;
|
||||
if(inParent.isArray()) return false;
|
||||
|
||||
var _vis = inputs[ 6].getValue();
|
||||
if(!_vis) return false;
|
||||
|
||||
var _pos = inputs[12].getValue();
|
||||
var _sca = inputs[13].getValue();
|
||||
var _rot = inputs[14].getValue();
|
||||
|
||||
var _px = _x + _pos[0] * _s;
|
||||
var _py = _y + _pos[1] * _s;
|
||||
|
||||
var _sca = inputs[13].getValue();
|
||||
_s *= _sca;
|
||||
|
||||
return inParent.drawOverlay(hover, active, _px, _py, _s, _mx, _my, _snx, _sny);
|
||||
inParent.overlay_draw_text = inputs[15].getValue();
|
||||
return inParent.drawOverlay(hover, active, _px, _py, _s, _mx, _my, _snx, _sny, _rot);
|
||||
}
|
||||
|
||||
static drawNode = function(_draw, _x, _y, _mx, _my, _s, display_parameter = noone, _panel = noone) {
|
||||
|
|
|
@ -682,6 +682,9 @@ function valueAnimator(_val, _prop, _sep_axis = false) constructor {
|
|||
if(_typ == VALUE_TYPE.struct) {
|
||||
_val = json_try_parse(value);
|
||||
|
||||
} else if(_typ == VALUE_TYPE.pbBox) {
|
||||
_val = new __pbBox().deserialize(value);
|
||||
|
||||
} else if(prop.display_type == VALUE_DISPLAY.matrix) {
|
||||
_val = new Matrix().deserialize(value);
|
||||
|
||||
|
|
|
@ -273,7 +273,7 @@ function Node_Line(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
|
|||
var _rtStr = min(_rangeMin, _rangeMax);
|
||||
var _rtMax = max(_rangeMin, _rangeMax);
|
||||
|
||||
var _useTex = is_surface(_text);
|
||||
var _useTex = !_1px && is_surface(_text);
|
||||
if(_useTex) { _cap = false; _1px = false; }
|
||||
|
||||
random_set_seed(_sed);
|
||||
|
|
|
@ -18,7 +18,7 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
|
||||
newInput(6, nodeValueSeed(self));
|
||||
|
||||
newInput(7, nodeValue_Bool("Loop", self, false));
|
||||
newInput(7, nodeValue_Enum_Scroll("Overflow", self, 0, [ "Empty", "Loop", "Hold" ]));
|
||||
|
||||
newInput(8, nodeValue_Enum_Scroll("Blend Mode", self, 0, [ "Normal", "Alpha", "Additive", "Maximum" ]));
|
||||
|
||||
|
@ -32,9 +32,11 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
];
|
||||
|
||||
setTrigger(2, "Clear cache", [ THEME.cache, 0, COLORS._main_icon ]);
|
||||
|
||||
|
||||
static onInspector2Update = function() { clearCache(); }
|
||||
|
||||
surf_indexes = [];
|
||||
|
||||
static update = function() {
|
||||
var _surf = getInputData(0);
|
||||
var _amo = getInputData(1);
|
||||
|
@ -43,13 +45,16 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
var _alpC = getInputData(4);
|
||||
var _psel = getInputData(5);
|
||||
var _seed = getInputData(6);
|
||||
var _loop = getInputData(7);
|
||||
var _over = getInputData(7);
|
||||
var _blnd = getInputData(8);
|
||||
var _invt = getInputData(9);
|
||||
|
||||
inputs[6].setVisible(_psel == 2);
|
||||
|
||||
cacheCurrentFrame(_surf);
|
||||
surf_indexes = array_verify(surf_indexes, TOTAL_FRAMES);
|
||||
surface_free_safe(array_safe_get_fast(surf_indexes, CURRENT_FRAME));
|
||||
surf_indexes[CURRENT_FRAME] = surface_clone(_surf);
|
||||
|
||||
random_set_seed(_seed);
|
||||
|
||||
var _sw = surface_get_width_safe(_surf);
|
||||
|
@ -72,9 +77,13 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
|||
for( var i = _amo - 1; i >= 0; i-- ) {
|
||||
var _i = _invt? _amo - 1 - i : i;
|
||||
var _ff = CURRENT_FRAME - _i * _frm;
|
||||
if(_loop) _ff = (_ff + TOTAL_FRAMES) % TOTAL_FRAMES;
|
||||
|
||||
var _s = array_safe_get_fast(cached_output, _ff);
|
||||
switch(_over) {
|
||||
case 1 : _ff = (_ff + TOTAL_FRAMES) % TOTAL_FRAMES; break;
|
||||
case 2 : _ff = clamp(_ff, 0, TOTAL_FRAMES); break;
|
||||
}
|
||||
|
||||
var _s = array_safe_get_fast(surf_indexes, _ff);
|
||||
if(!is_surface(_s)) continue;
|
||||
|
||||
switch(_psel) {
|
||||
|
|
|
@ -8,18 +8,64 @@ function Node_Path_Map_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
newInput(1, nodeValue_Area("Area", self, DEF_AREA, { useShape : false }));
|
||||
inputs[1].editWidget.adjust_shape = false;
|
||||
|
||||
newInput(2, nodeValue_Enum_Scroll("Map From", self, 0, [ "Path Boundary", "Fix Dimension", "BBOX" ]));
|
||||
|
||||
newInput(3, nodeValue_Vec2("Dimension From", self, [ 1, 1 ]))
|
||||
|
||||
newInput(4, nodeValue_Enum_Scroll("Map To", self, 0, [ "Area", "Fix Dimension", "BBOX" ]));
|
||||
|
||||
newInput(5, nodeValue_Vec2("Dimension To", self, [ 1, 1 ]))
|
||||
|
||||
newInput(6, nodeValue_Vec4("BBOX From", self, [ 0, 0, 1, 1 ]))
|
||||
|
||||
newInput(7, nodeValue_Vec4("BBOX To", self, [ 0, 0, 1, 1 ]))
|
||||
|
||||
newOutput(0, nodeValue_Output("Path", self, VALUE_TYPE.pathnode, self));
|
||||
|
||||
input_display_list = [ 0,
|
||||
["From", false], 2, 3, 6,
|
||||
["To", false], 4, 1, 5, 7,
|
||||
]
|
||||
|
||||
cached_pos = ds_map_create();
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
inputs[1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
var _toType = getSingleValue(4);
|
||||
|
||||
switch(_toType) {
|
||||
case 0 : inputs[1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); break;
|
||||
case 1 :
|
||||
var _tdim = getSingleValue(5);
|
||||
draw_set_color(COLORS._main_accent);
|
||||
draw_rectangle(
|
||||
_x + 0 * _s,
|
||||
_y + 0 * _s,
|
||||
_x + _tdim[0] * _s,
|
||||
_y + _tdim[1] * _s,
|
||||
true
|
||||
);
|
||||
break;
|
||||
|
||||
case 2 :
|
||||
var _tbox = getSingleValue(7);
|
||||
draw_set_color(COLORS._main_accent);
|
||||
draw_rectangle(
|
||||
_x + _tbox[0] * _s,
|
||||
_y + _tbox[1] * _s,
|
||||
_x + _tbox[2] * _s,
|
||||
_y + _tbox[3] * _s,
|
||||
true
|
||||
);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function _areaMappedPath() constructor {
|
||||
|
||||
path = noone;
|
||||
area = noone;
|
||||
|
||||
areaFrom = [ 0, 0, 1, 1 ];
|
||||
areaTo = [ 0, 0, 1, 1 ];
|
||||
|
||||
static getLineCount = function() /*=>*/ { return struct_has(path, "getLineCount")? path.getLineCount() : 1; }
|
||||
static getSegmentCount = function(i=0) /*=>*/ { return struct_has(path, "getSegmentCount")? path.getSegmentCount(i) : 0; }
|
||||
|
@ -40,8 +86,8 @@ function Node_Path_Map_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
var _b = path.getBoundary();
|
||||
var _p = path.getPointRatio(_rat, ind);
|
||||
|
||||
out.x = (area[AREA_INDEX.center_x] - area[AREA_INDEX.half_w]) + (_p.x - _b.minx) / _b.width * area[AREA_INDEX.half_w] * 2;
|
||||
out.y = (area[AREA_INDEX.center_y] - area[AREA_INDEX.half_h]) + (_p.y - _b.miny) / _b.height * area[AREA_INDEX.half_h] * 2;
|
||||
out.x = (areaTo[AREA_INDEX.center_x] - areaTo[AREA_INDEX.half_w]) + (_p.x - areaFrom[0]) / areaFrom[2] * areaTo[AREA_INDEX.half_w] * 2;
|
||||
out.y = (areaTo[AREA_INDEX.center_y] - areaTo[AREA_INDEX.half_h]) + (_p.y - areaFrom[1]) / areaFrom[3] * areaTo[AREA_INDEX.half_h] * 2;
|
||||
out.weight = _p.weight;
|
||||
|
||||
return out;
|
||||
|
@ -50,20 +96,55 @@ function Node_Path_Map_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
|
|||
static getPointDistance = function(_dist, ind = 0, out = undefined) { return getPointRatio(_dist / getLength(), ind, out); }
|
||||
|
||||
static getBoundary = function() {
|
||||
return new BoundingBox( area[AREA_INDEX.center_x] - area[AREA_INDEX.half_w],
|
||||
area[AREA_INDEX.center_y] - area[AREA_INDEX.half_h],
|
||||
area[AREA_INDEX.center_x] + area[AREA_INDEX.half_w],
|
||||
area[AREA_INDEX.center_y] + area[AREA_INDEX.half_h] );
|
||||
return new BoundingBox( areaTo[AREA_INDEX.center_x] - areaTo[AREA_INDEX.half_w],
|
||||
areaTo[AREA_INDEX.center_y] - areaTo[AREA_INDEX.half_h],
|
||||
areaTo[AREA_INDEX.center_x] + areaTo[AREA_INDEX.half_w],
|
||||
areaTo[AREA_INDEX.center_y] + areaTo[AREA_INDEX.half_h] );
|
||||
}
|
||||
}
|
||||
|
||||
static processData = function(_outData, _data, _output_index, _array_index = 0) {
|
||||
var _path = _data[0];
|
||||
var _from = _data[2];
|
||||
var _fdim = _data[3];
|
||||
var _fbox = _data[6];
|
||||
|
||||
var _to = _data[4];
|
||||
var _area = _data[1];
|
||||
var _tdim = _data[5];
|
||||
var _tbox = _data[7];
|
||||
|
||||
inputs[3].setVisible(_from == 1);
|
||||
inputs[6].setVisible(_from == 2);
|
||||
|
||||
inputs[1].setVisible(_to == 0);
|
||||
inputs[5].setVisible(_to == 1);
|
||||
inputs[7].setVisible(_to == 2);
|
||||
|
||||
if(!is(_outData, _areaMappedPath))
|
||||
_outData = new _areaMappedPath();
|
||||
|
||||
_outData.path = _data[0];
|
||||
_outData.area = _data[1];
|
||||
if(!struct_has(_path, "getPointRatio"))
|
||||
return _outData;
|
||||
|
||||
_outData.path = _path;
|
||||
|
||||
switch(_from) {
|
||||
case 0 :
|
||||
var _bb = _path.getBoundary();
|
||||
_outData.areaFrom = [ _bb.minx, _bb.miny, _bb.width, _bb.height ];
|
||||
break;
|
||||
|
||||
case 1 : _outData.areaFrom = [ 0, 0, _fdim[0], _fdim[1] ]; break;
|
||||
case 2 : _outData.areaFrom = [ _fbox[0], _fbox[1], _fbox[2] - _fbox[0], _fbox[3] - _fbox[1] ]; break;
|
||||
}
|
||||
|
||||
switch(_to) {
|
||||
case 0 : _outData.areaTo = _area; break;
|
||||
case 1 : _outData.areaTo = [ _tdim[0] / 2, _tdim[1] / 2, _tdim[0] / 2, _tdim[1] / 2, 0 ]; break;
|
||||
case 2 : _outData.areaTo = [ (_tbox[0] + _tbox[2]) / 2, (_tbox[1] + _tbox[3]) / 2,
|
||||
(_tbox[2] - _tbox[0]) / 2, (_tbox[3] - _tbox[1]) / 2, 0 ]; break;
|
||||
}
|
||||
|
||||
return _outData;
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_checkerboard",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
function Node_PB(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "PB Element";
|
||||
icon = THEME.pixel_builder;
|
||||
fullUpdate = true;
|
||||
|
||||
static getNextNodesRaw = getNextNodes;
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
if(drawOverlayPB != noone)
|
||||
drawOverlayPB(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
|
||||
for( var i = 0; i < array_length(outputs); i++ ) {
|
||||
if(outputs[i].type != VALUE_TYPE.pbBox) continue;
|
||||
|
||||
var _box = outputs[i].getValue();
|
||||
if(!is_array(_box)) _box = [ _box ];
|
||||
|
||||
for( var j = 0; j < array_length(_box); j++ ) {
|
||||
if(!is_instanceof(_box[j], __pbBox)) continue;
|
||||
_box[j].drawOverlay(_x, _y, _s, c_red);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static drawOverlayPB = noone;
|
||||
|
||||
static getNextNodes = function(checkLoop = false) {
|
||||
if(!struct_has(group, "checkComplete")) return [];
|
||||
|
||||
for( var i = 0; i < array_length(outputs); i++ ) {
|
||||
var _ot = outputs[i];
|
||||
var _tos = _ot.getJunctionTo();
|
||||
|
||||
if(array_length(_tos) > 0)
|
||||
return getNextNodesRaw();
|
||||
}
|
||||
|
||||
return group.checkComplete();
|
||||
}
|
||||
|
||||
static getPreviewValues = function() { return group.outputs[0].getValue(); }
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_stripe",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,5 +1,50 @@
|
|||
function Node_PB_Box(_x, _y, _group = noone) : Node_PB(_x, _y, _group) constructor {
|
||||
name = "PB Box";
|
||||
function Node_PB_Box(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "PBBox";
|
||||
setDimension(96, 48);
|
||||
|
||||
newInput(0, nodeValue_Pbbox("Base PBBOX", self, new __pbBox()));
|
||||
|
||||
newInput(1, nodeValue_Pbbox("PBBOX", self, new __pbBox()));
|
||||
|
||||
newInput(2, nodeValue_Float("PBBOX Left", self, 0));
|
||||
newInput(3, nodeValue_Float("PBBOX Top", self, 0));
|
||||
newInput(4, nodeValue_Float("PBBOX Right", self, 0));
|
||||
newInput(5, nodeValue_Float("PBBOX Bottom", self, 0));
|
||||
newInput(6, nodeValue_Float("PBBOX Width", self, 0));
|
||||
newInput(7, nodeValue_Float("PBBOX Height", self, 0));
|
||||
|
||||
newOutput(0, nodeValue_Output("PBBOX", self, VALUE_TYPE.pbBox, noone));
|
||||
|
||||
input_display_list = [
|
||||
["Layout", false], 0, 1,
|
||||
["Layout Override", true], 2, 3, 4, 5, 6, 7,
|
||||
]
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _pbbox = getSingleValue(1);
|
||||
if(is(_pbbox, __pbBox)) _pbbox.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _dim = group.dimension;
|
||||
var _pbase = _data[0];
|
||||
var _pbbox = _data[1];
|
||||
|
||||
if(inputs[0].value_from == noone) _pbase.base_bbox = [ 0, 0, _dim[0], _dim[1] ];
|
||||
if(inputs[2].value_from != noone || inputs[2].is_anim) _pbbox.anchor_l = _data[2];
|
||||
if(inputs[3].value_from != noone || inputs[3].is_anim) _pbbox.anchor_t = _data[3];
|
||||
if(inputs[4].value_from != noone || inputs[4].is_anim) _pbbox.anchor_r = _data[4];
|
||||
if(inputs[5].value_from != noone || inputs[5].is_anim) _pbbox.anchor_b = _data[5];
|
||||
if(inputs[6].value_from != noone || inputs[6].is_anim) _pbbox.anchor_w = _data[6];
|
||||
if(inputs[7].value_from != noone || inputs[7].is_anim) _pbbox.anchor_h = _data[7];
|
||||
|
||||
_pbbox.base_bbox = is(_pbase, __pbBox)? _pbase.getBBOX() : [ 0, 0, _dim[0], _dim[1] ];
|
||||
return _pbbox;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
draw_sprite_fit(s_node_pb_box, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||
}
|
||||
|
||||
newInput(0, nodeValue_Int("Layer Shift", self, 0 ))
|
||||
}
|
|
@ -5,8 +5,8 @@
|
|||
"isDnD":false,
|
||||
"name":"node_pb_box",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
"name":"pbbox",
|
||||
"path":"folders/nodes/data/PB/pbbox.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
46
scripts/node_pb_box_bbox/node_pb_box_bbox.gml
Normal file
46
scripts/node_pb_box_bbox/node_pb_box_bbox.gml
Normal file
|
@ -0,0 +1,46 @@
|
|||
function Node_PB_Box_BBOX(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "PBBOX Convert";
|
||||
setDimension(96, 48);
|
||||
|
||||
newInput(0, nodeValue_Pbbox("PBBOX", self, new __pbBox()));
|
||||
|
||||
newOutput(0, nodeValue_Output("BBOX", self, VALUE_TYPE.float, [ 0, 0, 0, 0 ]))
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
newOutput(1, nodeValue_Output("Area", self, VALUE_TYPE.float, [ 0, 0, 0, 0, 0 ]))
|
||||
.setDisplay(VALUE_DISPLAY.area);
|
||||
|
||||
newOutput(2, nodeValue_Output("Width", self, VALUE_TYPE.float, 0))
|
||||
.setVisible(false)
|
||||
|
||||
newOutput(3, nodeValue_Output("Height", self, VALUE_TYPE.float, 0))
|
||||
.setVisible(false)
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _pbbox = getSingleValue(1);
|
||||
if(is(_pbbox, __pbBox)) _pbbox.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _dim = group.dimension;
|
||||
var _pbbox = _data[0];
|
||||
|
||||
var _bbox = _pbbox.getBBOX();
|
||||
var _x0 = _bbox[0];
|
||||
var _y0 = _bbox[1];
|
||||
var _x1 = _bbox[2];
|
||||
var _y1 = _bbox[3];
|
||||
var _w = _x1 - _x0;
|
||||
var _h = _y1 - _y0;
|
||||
|
||||
var _area = [ (_x0 + _x1) / 2, (_y0 + _y1) / 2, _w / 2, _h / 2, 0 ];
|
||||
|
||||
return [ _bbox, _area, _w, _h ];
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
draw_sprite_fit(s_node_pb_box_bbox, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_fx",
|
||||
"%Name":"node_pb_box_bbox",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_fx",
|
||||
"name":"node_pb_box_bbox",
|
||||
"parent":{
|
||||
"name":"effect",
|
||||
"path":"folders/nodes/data/pixel builder/effect.yy",
|
||||
"name":"pbbox",
|
||||
"path":"folders/nodes/data/PB/pbbox.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
|
@ -1,134 +0,0 @@
|
|||
function Node_PB_Box_Contract(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) constructor {
|
||||
name = "Split";
|
||||
batch_output = false;
|
||||
|
||||
newInput(1, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(2, nodeValue_Enum_Scroll("Type", self, 0 , [ "Ratio", "Fix" ]));
|
||||
|
||||
newInput(3, nodeValue_Float("Ratio", self, 0.5 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
newInput(4, nodeValue_Int("Fix Width", self, 8 ))
|
||||
|
||||
newInput(5, nodeValue_Enum_Button("Axis", self, 0 , [ "X", "Y" ]));
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox Center", self, VALUE_TYPE.pbBox, noone ));
|
||||
|
||||
newOutput(1, nodeValue_Output("pBox Side", self, VALUE_TYPE.pbBox, noone ));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Split", false], 5, 2, 3, 4,
|
||||
]
|
||||
|
||||
static step = function() {
|
||||
if(array_empty(current_data)) return;
|
||||
|
||||
var _typ = current_data[2];
|
||||
var _axs = current_data[5];
|
||||
|
||||
inputs[3].setVisible(_typ == 0);
|
||||
inputs[4].setVisible(_typ != 0);
|
||||
|
||||
if(_axs == 0) inputs[4].name = "Fix Width";
|
||||
else inputs[4].name = "Fix Height";
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _layr = _data[0];
|
||||
var _pbox = _data[1];
|
||||
var _type = _data[2];
|
||||
var _rati = _data[3];
|
||||
var _fixx = _data[4];
|
||||
var _axis = _data[5];
|
||||
|
||||
if(_pbox == noone) return noone;
|
||||
|
||||
if(_axis == 0) {
|
||||
var _w;
|
||||
|
||||
switch(_type) {
|
||||
case 0 : _w = round(_pbox.w * _rati); break;
|
||||
case 1 : _w = _fixx; break;
|
||||
}
|
||||
|
||||
if(_output_index == 0) {
|
||||
var _nbox = _pbox.clone();
|
||||
_nbox.layer += _layr;
|
||||
|
||||
_nbox.x += (_nbox.w - _w) / 2;
|
||||
_nbox.w = _w;
|
||||
|
||||
_nbox.content = surface_stretch(_nbox.content, _nbox.w, _nbox.h);
|
||||
} else if(_output_index == 1) {
|
||||
_pbox = [ _pbox.clone(), _pbox.clone() ];
|
||||
|
||||
_pbox[0].content = noone;
|
||||
_pbox[1].content = noone;
|
||||
|
||||
_pbox[0].layer += _layr;
|
||||
_pbox[1].layer += _layr;
|
||||
|
||||
_pbox[1].x += _w + (_pbox[0].w - _w) / 2;
|
||||
|
||||
_pbox[0].w = (_pbox[0].w - _w) / 2;
|
||||
_pbox[1].w = (_pbox[1].w - _w) / 2;
|
||||
|
||||
_pbox[1].mirror_h = !_pbox[1].mirror_h;
|
||||
}
|
||||
} else {
|
||||
var _h;
|
||||
|
||||
switch(_type) {
|
||||
case 0 : _h = round(_pbox.h * _rati); break;
|
||||
case 1 : _h = _fixx; break;
|
||||
}
|
||||
|
||||
if(_output_index == 0) {
|
||||
var _nbox = _pbox.clone();
|
||||
_nbox.layer += _layr;
|
||||
|
||||
_nbox.y += (_nbox.h - _h) / 2;
|
||||
_nbox.h = _h;
|
||||
|
||||
_nbox.content = surface_stretch(_nbox.content, _nbox.w, _nbox.h);
|
||||
} else if(_output_index == 1) {
|
||||
_pbox = [ _pbox.clone(), _pbox.clone() ];
|
||||
|
||||
_pbox[0].content = noone;
|
||||
_pbox[1].content = noone;
|
||||
|
||||
_pbox[0].layer += _layr;
|
||||
_pbox[1].layer += _layr;
|
||||
|
||||
_pbox[1].y += _h + (_pbox[0].h - _h) / 2;
|
||||
|
||||
_pbox[0].h = (_pbox[0].h - _h) / 2;
|
||||
_pbox[1].h = (_pbox[1].h - _h) / 2;
|
||||
|
||||
_pbox[1].mirror_v = !_pbox[1].mirror_v;
|
||||
}
|
||||
}
|
||||
|
||||
return _pbox;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var _axs = current_data[5];
|
||||
var bbox = drawGetBbox(xx, yy, _s)
|
||||
.toSquare()
|
||||
.pad(8);
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 2);
|
||||
|
||||
if(_axs == 0) {
|
||||
draw_line(bbox.x0 + 16, bbox.y0, bbox.x0 + 16, bbox.y1);
|
||||
draw_line(bbox.x1 - 16, bbox.y0, bbox.x1 - 16, bbox.y1);
|
||||
} else {
|
||||
draw_line(bbox.x0, bbox.y0 + 16, bbox.x1, bbox.y0 + 16);
|
||||
draw_line(bbox.x0, bbox.y1 - 16, bbox.x1, bbox.y1 - 16);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_box_contract",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_box_contract",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
}
|
|
@ -1,155 +0,0 @@
|
|||
function Node_PB_Box_Divide(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) constructor {
|
||||
name = "Divide";
|
||||
batch_output = false;
|
||||
|
||||
newInput(1, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(2, nodeValue_Int("Amount", self, 2 ));
|
||||
|
||||
newInput(3, nodeValue_Int("Spacing", self, 1 ));
|
||||
|
||||
newInput(4, nodeValue_Enum_Button("Axis", self, 0 , [ "X", "Y" ]));
|
||||
|
||||
newInput(5, nodeValue_Bool("Mirror", self, 0 ))
|
||||
|
||||
newInput(6, nodeValue_Enum_Button("Spacing", self, 0 , [ "Space Between", "Space Around", "Begin", "End" ]));
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox Content", self, VALUE_TYPE.pbBox, [ noone ] ));
|
||||
|
||||
newOutput(1, nodeValue_Output("pBox Space", self, VALUE_TYPE.pbBox, [ noone ] ));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Divide", false], 4, 2, 3, 6, 5,
|
||||
]
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _layr = _data[0];
|
||||
var _pbox = _data[1];
|
||||
var _amou = _data[2];
|
||||
var _spac = _data[3];
|
||||
var _axis = _data[4];
|
||||
var _mirr = _data[5];
|
||||
var _spacing = _data[6];
|
||||
|
||||
if(_pbox == noone) return noone;
|
||||
if(_amou < 1) return noone;
|
||||
|
||||
var _res = noone;
|
||||
|
||||
if(_output_index == 0) _res = array_create(_amou);
|
||||
else if(_output_index == 1) _res = array_create(_amou - 1);
|
||||
|
||||
var _spAmo = _amou;
|
||||
switch(_spacing) {
|
||||
case 0 : _spAmo = _amou - 1; break;
|
||||
case 1 : _spAmo = _amou + 1; break;
|
||||
case 2 : _spAmo = _amou; break;
|
||||
case 3 : _spAmo = _amou; break;
|
||||
}
|
||||
|
||||
if(_axis == 0) {
|
||||
var _ww = (_pbox.w - _spac * _spAmo) / _amou;
|
||||
|
||||
if(_output_index == 0)
|
||||
for( var i = 0; i < _amou; i++ ) {
|
||||
_res[i] = _pbox.clone();
|
||||
_res[i].layer += _layr;
|
||||
|
||||
var _sx = _pbox.x;
|
||||
if(_spacing == 1 || _spacing == 2)
|
||||
_sx += _spac;
|
||||
|
||||
_res[i].x = _sx + i * (_ww + _spac);
|
||||
_res[i].w = _ww;
|
||||
|
||||
_res[i].mask = surface_stretch(_res[i].mask, _res[i].w, _res[i].h);
|
||||
_res[i].content = surface_stretch(_res[i].content, _res[i].w, _res[i].h);
|
||||
|
||||
if(_mirr && i % 2) {
|
||||
_res[i].mirror_h = !_res[i].mirror_h;
|
||||
_res[i].mask = surface_mirror(_res[i].mask, true, false);
|
||||
_res[i].content = surface_mirror(_res[i].content, true, false);
|
||||
}
|
||||
}
|
||||
|
||||
if(_output_index == 1)
|
||||
for( var i = 0; i < _spAmo; i++ ) {
|
||||
_res[i] = _pbox.clone();
|
||||
_res[i].mask = noone;
|
||||
_res[i].layer += _layr;
|
||||
|
||||
var _sx = 0;
|
||||
if(_spacing == 0 || _spacing == 3)
|
||||
_sx += _ww + _pbox.x;
|
||||
|
||||
_res[i].x = _sx + i * (_ww + _spac);
|
||||
_res[i].w = _spac;
|
||||
}
|
||||
} else {
|
||||
var _hh = (_pbox.h - _spac * _spAmo) / _amou;
|
||||
|
||||
if(_output_index == 0)
|
||||
for( var i = 0; i < _amou; i++ ) {
|
||||
_res[i] = _pbox.clone();
|
||||
_res[i].layer += _layr;
|
||||
|
||||
var _sy = _pbox.y;
|
||||
if(_spacing == 1 || _spacing == 2)
|
||||
_sy += _spac;
|
||||
|
||||
_res[i].y = _sy + i * (_hh + _spac);
|
||||
_res[i].h = _hh;
|
||||
|
||||
_res[i].mask = surface_stretch(_res[i].mask, _res[i].w, _res[i].h);
|
||||
_res[i].content = surface_stretch(_res[i].content, _res[i].w, _res[i].h);
|
||||
|
||||
if(_mirr && i % 2) {
|
||||
_res[i].mirror_v = !_res[i].mirror_v;
|
||||
_res[i].mask = surface_mirror(_res[i].mask, false, true);
|
||||
_res[i].content = surface_mirror(_res[i].content, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
if(_output_index == 1)
|
||||
for( var i = 0; i < _spAmo; i++ ) {
|
||||
_res[i] = _pbox.clone();
|
||||
_res[i].mask = noone;
|
||||
_res[i].layer += _layr;
|
||||
|
||||
var _sy = 0;
|
||||
if(_spacing == 0 || _spacing == 3)
|
||||
_sy += _hh + _pbox.y;
|
||||
|
||||
_res[i].y = _sy + i * (_hh + _spac);
|
||||
_res[i].h = _spac;
|
||||
}
|
||||
}
|
||||
|
||||
return _res;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var _axis = current_data[4];
|
||||
var bbox = drawGetBbox(xx, yy, _s)
|
||||
.toSquare()
|
||||
.pad(8);
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 2);
|
||||
|
||||
if(_axis == 0) {
|
||||
draw_line(lerp(bbox.x0, bbox.x1, 1 / 3) - 2, bbox.y0, lerp(bbox.x0, bbox.x1, 1 / 3) - 2, bbox.y1);
|
||||
draw_line(lerp(bbox.x0, bbox.x1, 1 / 3) + 2, bbox.y0, lerp(bbox.x0, bbox.x1, 1 / 3) + 2, bbox.y1);
|
||||
|
||||
draw_line(lerp(bbox.x0, bbox.x1, 2 / 3) - 2, bbox.y0, lerp(bbox.x0, bbox.x1, 2 / 3) - 2, bbox.y1);
|
||||
draw_line(lerp(bbox.x0, bbox.x1, 2 / 3) + 2, bbox.y0, lerp(bbox.x0, bbox.x1, 2 / 3) + 2, bbox.y1);
|
||||
} else {
|
||||
draw_line(bbox.x0, lerp(bbox.y0, bbox.y1, 1 / 3) - 2, bbox.x1, lerp(bbox.y0, bbox.y1, 1 / 3) - 2);
|
||||
draw_line(bbox.x0, lerp(bbox.y0, bbox.y1, 1 / 3) + 2, bbox.x1, lerp(bbox.y0, bbox.y1, 1 / 3) + 2);
|
||||
|
||||
draw_line(bbox.x0, lerp(bbox.y0, bbox.y1, 2 / 3) - 2, bbox.x1, lerp(bbox.y0, bbox.y1, 2 / 3) - 2);
|
||||
draw_line(bbox.x0, lerp(bbox.y0, bbox.y1, 2 / 3) + 2, bbox.x1, lerp(bbox.y0, bbox.y1, 2 / 3) + 2);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_box_divide",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_box_divide",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
}
|
|
@ -1,79 +0,0 @@
|
|||
function Node_PB_Box_Divide_Grid(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) constructor {
|
||||
name = "Divide Grid";
|
||||
|
||||
newInput(1, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(2, nodeValue_Vec2("Amount", self, [ 2, 2 ] ));
|
||||
|
||||
newInput(3, nodeValue_Int("Spacing", self, 1 ));
|
||||
|
||||
newInput(4, nodeValue_Bool("Mirror", self, 0 ))
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox", self, VALUE_TYPE.pbBox, [ noone ] ));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Divide", false], 2, 3, 4,
|
||||
]
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _layr = _data[0];
|
||||
var _pbox = _data[1];
|
||||
var _amou = _data[2];
|
||||
var _spac = _data[3];
|
||||
var _mirr = _data[4];
|
||||
|
||||
if(_pbox == noone) return noone;
|
||||
|
||||
var _amo = _amou[0] * _amou[1];
|
||||
if(_amo < 1) return;
|
||||
|
||||
var _res = array_create(_amo);
|
||||
var _ww = (_pbox.w - _spac * (_amou[0] - 1)) / _amou[0];
|
||||
var _hh = (_pbox.h - _spac * (_amou[1] - 1)) / _amou[1];
|
||||
|
||||
for( var i = 0; i < _amou[1]; i++ )
|
||||
for( var j = 0; j < _amou[0]; j++ ) {
|
||||
var _ind = i * _amou[0] + j;
|
||||
_res[_ind] = _pbox.clone();
|
||||
|
||||
_res[_ind].layer += _layr;
|
||||
|
||||
_res[_ind].x = _pbox.x + j * (_ww + _spac);
|
||||
_res[_ind].w = _ww;
|
||||
|
||||
_res[_ind].y = _pbox.y + i * (_hh + _spac);
|
||||
_res[_ind].h = _hh;
|
||||
|
||||
_res[_ind].mask = surface_stretch(_res[_ind].mask, _res[_ind].w, _res[_ind].h);
|
||||
|
||||
if(_mirr && j % 2) {
|
||||
_res[_ind].mirror_h = !_res[_ind].mirror_h;
|
||||
_res[_ind].mask = surface_mirror(_res[_ind].mask, true, false);
|
||||
_res[_ind].content = surface_mirror(_res[_ind].content, true, false);
|
||||
}
|
||||
|
||||
if(_mirr && i % 2) {
|
||||
_res[_ind].mirror_v = !_res[_ind].mirror_v;
|
||||
_res[_ind].mask = surface_mirror(_res[_ind].mask, false, true);
|
||||
_res[_ind].content = surface_mirror(_res[_ind].content, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
return _res;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s)
|
||||
.toSquare()
|
||||
.pad(4);
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 2);
|
||||
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.xc - 2, bbox.yc - 2, 1);
|
||||
draw_rectangle_border(bbox.xc + 2, bbox.y0, bbox.x1, bbox.yc - 2, 1);
|
||||
draw_rectangle_border(bbox.x0, bbox.yc + 2, bbox.xc - 2, bbox.y1, 1);
|
||||
draw_rectangle_border(bbox.xc + 2, bbox.yc + 2, bbox.x1, bbox.y1, 1);
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_box_divide_grid",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_box_divide_grid",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
}
|
|
@ -1,153 +0,0 @@
|
|||
function Node_PB_Box_Inset(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) constructor {
|
||||
name = "Inset";
|
||||
batch_output = false;
|
||||
|
||||
newInput(1, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(2, nodeValue_Padding("Inset", self, [ 2, 2, 2, 2 ] ));
|
||||
|
||||
newInput(3, nodeValue_Enum_Scroll("Type", self, 0 , [ "Padding", "Ratio" ]));
|
||||
|
||||
newInput(4, nodeValue_Float("Width", self, 0.5 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
newInput(5, nodeValue_Float("Height", self, 0.5 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
newInput(6, nodeValue_Float("Horizontal alignment", self, 0.5 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
newInput(7, nodeValue_Float("Vertical alignment", self, 0.5 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox Inset", self, VALUE_TYPE.pbBox, noone ));
|
||||
|
||||
newOutput(1, nodeValue_Output("pBox Frame", self, VALUE_TYPE.pbBox, noone ));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Inset", false], 3, 2, 4, 5, 6, 7,
|
||||
]
|
||||
|
||||
static step = function() {
|
||||
if(array_empty(current_data)) return;
|
||||
|
||||
var _type = current_data[3];
|
||||
|
||||
inputs[2].setVisible(_type == 0);
|
||||
inputs[4].setVisible(_type == 1);
|
||||
inputs[5].setVisible(_type == 1);
|
||||
inputs[6].setVisible(_type == 1);
|
||||
inputs[7].setVisible(_type == 1);
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _layr = _data[0];
|
||||
var _pbox = _data[1];
|
||||
var _inst = _data[2];
|
||||
var _type = _data[3];
|
||||
var _widt = _data[4];
|
||||
var _high = _data[5];
|
||||
var _hali = _data[6];
|
||||
var _vali = _data[7];
|
||||
|
||||
if(_pbox == noone) return noone;
|
||||
|
||||
var _nbox = _pbox.clone();
|
||||
|
||||
var x0, y0, w, h;
|
||||
|
||||
if(_type == 0) {
|
||||
if(_nbox.mirror_h) x0 = _nbox.x + _inst[0];
|
||||
else x0 = _nbox.x + _inst[2];
|
||||
|
||||
if(_nbox.mirror_v) y0 = _nbox.y + _inst[3];
|
||||
else y0 = _nbox.y + _inst[1];
|
||||
|
||||
w = _nbox.w - (_inst[0] + _inst[2]);
|
||||
h = _nbox.h - (_inst[1] + _inst[3]);
|
||||
} else if(_type == 1) {
|
||||
w = round(_nbox.w * _widt);
|
||||
h = round(_nbox.h * _high);
|
||||
|
||||
x0 = round(_nbox.x + (_nbox.w - w) * (_nbox.mirror_h? 1. - _hali : _hali));
|
||||
y0 = round(_nbox.y + (_nbox.h - h) * (_nbox.mirror_v? 1. - _vali : _vali));
|
||||
}
|
||||
|
||||
if(_output_index == 0) {
|
||||
_nbox.layer += _layr;
|
||||
_nbox.x = x0;
|
||||
_nbox.y = y0;
|
||||
_nbox.w = w;
|
||||
_nbox.h = h;
|
||||
|
||||
if(is_surface(_pbox.mask)) {
|
||||
if(_type == 0) {
|
||||
_nbox.mask = surface_verify(_nbox.mask, _nbox.w, _nbox.h);
|
||||
surface_set_shader(_nbox.mask, sh_pb_mask_inset);
|
||||
shader_set_dim(, _pbox.mask);
|
||||
shader_set_f("inset", _inst);
|
||||
|
||||
draw_surface_safe(_pbox.mask, -_inst[2], -_inst[1]);
|
||||
surface_reset_shader();
|
||||
} else if(_type == 1)
|
||||
_nbox.mask = surface_stretch(_pbox.mask, _nbox.w, _nbox.h);
|
||||
}
|
||||
|
||||
if(is_surface(_pbox.content)) {
|
||||
if(_type == 0) {
|
||||
_nbox.content = surface_verify(_nbox.content, _nbox.w, _nbox.h);
|
||||
surface_set_shader(_nbox.content, sh_pb_mask_inset);
|
||||
shader_set_dim(, _pbox.content);
|
||||
shader_set_f("inset", _inst);
|
||||
|
||||
draw_surface_safe(_pbox.content, -_inst[2], -_inst[1]);
|
||||
surface_reset_shader();
|
||||
} else if(_type == 1)
|
||||
_nbox.content = surface_stretch(_pbox.content, _nbox.w, _nbox.h);
|
||||
}
|
||||
} else if(_output_index == 1) {
|
||||
_nbox.mask = surface_create_valid(_nbox.w, _nbox.h);
|
||||
_nbox.content = surface_create_valid(_nbox.w, _nbox.h);
|
||||
|
||||
var _x = x0 - _nbox.x;
|
||||
var _y = y0 - _nbox.y;
|
||||
var _w = w;
|
||||
var _h = h;
|
||||
|
||||
surface_set_target(_nbox.mask);
|
||||
if(is_surface(_pbox.mask)) {
|
||||
draw_clear_alpha(0, 0);
|
||||
draw_surface_safe(_pbox.mask);
|
||||
} else
|
||||
draw_clear(c_white);
|
||||
|
||||
var _msk = outputs[0].getValue();
|
||||
if(is_array(_msk)) _msk = array_safe_get_fast(_msk, _array_index);
|
||||
|
||||
BLEND_SUBTRACT
|
||||
if(is_surface(_msk.mask))
|
||||
draw_surface_safe(_msk.mask, _x, _y);
|
||||
else {
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle(_x, _y, _x + _w - 1, _y + _h - 1, false);
|
||||
}
|
||||
BLEND_NORMAL
|
||||
surface_reset_target();
|
||||
}
|
||||
|
||||
return _nbox;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s)
|
||||
.toSquare()
|
||||
.pad(8);
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 2);
|
||||
|
||||
bbox.pad(8);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 1);
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_box_inset",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_box_inset",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
}
|
|
@ -1,52 +1,95 @@
|
|||
function Node_PB_Box_Mirror(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) constructor {
|
||||
name = "Mirror";
|
||||
function Node_PB_Box_Mirror(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "PBBox Mirror";
|
||||
setDimension(96, 48);
|
||||
|
||||
newInput(1, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(2, nodeValue_Bool("Horizontal", self, false ));
|
||||
|
||||
newInput(3, nodeValue_Bool("Vertical", self, false ));
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox", self, VALUE_TYPE.pbBox, noone ));
|
||||
newInput(0, nodeValue_Pbbox("Mirror PBBOX", self, new __pbBox()));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Mirror", false], 2, 3,
|
||||
newInput(1, nodeValue_Pbbox("PBBOX", self, new __pbBox()));
|
||||
|
||||
newInput(2, nodeValue_Toggle("Axis", self, 0, { data: [ "X", "Y" ] }));
|
||||
|
||||
newOutput(0, nodeValue_Output("PBBOX", self, VALUE_TYPE.pbBox, noone));
|
||||
|
||||
input_display_list = [
|
||||
["Layout", false], 0, 1,
|
||||
["Mirror", false], 2,
|
||||
]
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _pbase = getSingleValue(0);
|
||||
var _pbbox = getSingleValue(1);
|
||||
var _axis = getSingleValue(2);
|
||||
|
||||
if(is(_pbase, __pbBox)) {
|
||||
draw_set_color(COLORS._main_icon);
|
||||
_pbase.drawOverlayBBOX(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
|
||||
var _basebox = _pbase.getBBOX();
|
||||
if(_axis & 0b01) {
|
||||
var _mr = (_basebox[0] + _basebox[2]) / 2;
|
||||
draw_line_dashed(
|
||||
_x + _s * _mr,
|
||||
_y + _s * _basebox[1],
|
||||
_x + _s * _mr,
|
||||
_y + _s * _basebox[3],
|
||||
);
|
||||
}
|
||||
|
||||
if(_axis & 0b10) {
|
||||
var _mr = (_basebox[1] + _basebox[3]) / 2;
|
||||
draw_line_dashed(
|
||||
_x + _s * _basebox[0],
|
||||
_y + _s * _mr,
|
||||
_x + _s * _basebox[2],
|
||||
_y + _s * _mr,
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(is(_pbbox, __pbBox)) {
|
||||
draw_set_color(COLORS._main_icon_light);
|
||||
_pbbox.drawOverlayBBOX(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
}
|
||||
|
||||
var _pbres = getSingleValue(0,, true);
|
||||
if(is(_pbres, __pbBox)) _pbres.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _layr = _data[0];
|
||||
var _pbox = _data[1];
|
||||
var _hori = _data[2];
|
||||
var _vert = _data[3];
|
||||
var _dim = group.dimension;
|
||||
var _pbase = _data[0];
|
||||
var _pbbox = _data[1];
|
||||
var _axis = _data[2];
|
||||
|
||||
if(_pbox == noone) return noone;
|
||||
if(inputs[0].value_from == noone) _pbase.base_bbox = [ 0, 0, _dim[0], _dim[1] ];
|
||||
var _basebox = _pbase.getBBOX();
|
||||
var _forebox = _pbbox.getBBOX();
|
||||
var _mirrbox = array_clone(_forebox);
|
||||
|
||||
_pbox = _pbox.clone();
|
||||
_pbox.layer += _layr;
|
||||
|
||||
if(_hori) {
|
||||
_pbox.mirror_h = !_pbox.mirror_h;
|
||||
_pbox.mask = surface_mirror(_pbox.mask, true, false);
|
||||
_pbox.content = surface_mirror(_pbox.content, true, false);
|
||||
if(_axis & 0b01) {
|
||||
var _mr = (_basebox[0] + _basebox[2]) / 2;
|
||||
|
||||
_mirrbox[0] = _forebox[2] + (_mr - _forebox[2]) * 2;
|
||||
_mirrbox[2] = _forebox[0] + (_mr - _forebox[0]) * 2;
|
||||
}
|
||||
|
||||
if(_vert) {
|
||||
_pbox.mirror_v = !_pbox.mirror_v;
|
||||
_pbox.mask = surface_mirror(_pbox.mask, false, true);
|
||||
_pbox.content = surface_mirror(_pbox.content, false, true);
|
||||
if(_axis & 0b10) {
|
||||
var _mr = (_basebox[1] + _basebox[3]) / 2;
|
||||
|
||||
_mirrbox[1] = _forebox[3] + (_mr - _forebox[3]) * 2;
|
||||
_mirrbox[3] = _forebox[1] + (_mr - _forebox[1]) * 2;
|
||||
}
|
||||
|
||||
return _pbox;
|
||||
var _mbox = _pbbox.clone();
|
||||
_mbox.setBBOX(_mirrbox);
|
||||
|
||||
return _mbox;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s)
|
||||
.toSquare()
|
||||
.pad(8);
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 2);
|
||||
|
||||
var bbox = drawGetBbox(xx, yy, _s);
|
||||
draw_sprite_fit(s_node_pb_box_mirror, 0, bbox.xc, bbox.yc, bbox.w, bbox.h);
|
||||
}
|
||||
|
||||
}
|
|
@ -5,9 +5,10 @@
|
|||
"isDnD":false,
|
||||
"name":"node_pb_box_mirror",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
"name":"pbbox",
|
||||
"path":"folders/nodes/data/PB/pbbox.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
"tags":[],
|
||||
}
|
|
@ -1,202 +0,0 @@
|
|||
function Node_PB_Box_Split(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) constructor {
|
||||
name = "Split";
|
||||
batch_output = false;
|
||||
|
||||
newInput(1, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(2, nodeValue_Enum_Scroll("Type", self, 0 , [ "Ratio", "Fix Left", "Fix Right" ]));
|
||||
|
||||
newInput(3, nodeValue_Float("Ratio", self, 0.5 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
newInput(4, nodeValue_Int("Fix width", self, 8 ))
|
||||
|
||||
newInput(5, nodeValue_Enum_Button("Axis", self, 0 , [ "X", "Y" ]));
|
||||
|
||||
newInput(6, nodeValue_Bool("Mirror", self, 0 ))
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox Left", self, VALUE_TYPE.pbBox, noone ));
|
||||
|
||||
newOutput(1, nodeValue_Output("pBox Right", self, VALUE_TYPE.pbBox, noone ));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Split", false], 5, 2, 3, 4, 6,
|
||||
]
|
||||
|
||||
static step = function() {
|
||||
if(array_empty(current_data)) return noone;
|
||||
|
||||
var _typ = current_data[2];
|
||||
var _axs = current_data[5];
|
||||
|
||||
inputs[3].setVisible(_typ == 0);
|
||||
inputs[4].setVisible(_typ != 0);
|
||||
|
||||
if(_axs == 0) {
|
||||
inputs[2].editWidget.data_list = [ "Ratio", "Fix Left", "Fix Right" ];
|
||||
inputs[4].name = "Fix Width";
|
||||
} else {
|
||||
inputs[2].editWidget.data_list = [ "Ratio", "Fix Up", "Fix Down" ];
|
||||
inputs[4].name = "Fix Height";
|
||||
}
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _layr = _data[0];
|
||||
var _pbox = _data[1];
|
||||
var _type = _data[2];
|
||||
var _rati = _data[3];
|
||||
var _fixx = _data[4];
|
||||
var _axis = _data[5];
|
||||
var _mirr = _data[6];
|
||||
|
||||
if(_pbox == noone) return noone;
|
||||
|
||||
var _nbox = _pbox.clone();
|
||||
_nbox.layer += _layr;
|
||||
|
||||
if(_axis == 0) {
|
||||
var _w;
|
||||
|
||||
switch(_type) {
|
||||
case 0 : _w = _nbox.w * _rati; break;
|
||||
case 1 : _w = _fixx; break;
|
||||
case 2 : _w = _nbox.w - _fixx; break;
|
||||
}
|
||||
|
||||
if(_nbox.mirror_h) {
|
||||
_output_index = !_output_index;
|
||||
_w = _nbox.w - _w;
|
||||
}
|
||||
|
||||
if(_output_index == 0) {
|
||||
_nbox.w = round(_w);
|
||||
|
||||
if(is_surface(_pbox.mask)) {
|
||||
_nbox.mask = surface_verify(_nbox.mask, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.mask);
|
||||
DRAW_CLEAR
|
||||
draw_surface_safe(_pbox.mask);
|
||||
surface_reset_target();
|
||||
}
|
||||
|
||||
if(is_surface(_pbox.content)) {
|
||||
_nbox.content = surface_verify(_nbox.content, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.content);
|
||||
DRAW_CLEAR
|
||||
draw_surface_safe(_pbox.content);
|
||||
surface_reset_target();
|
||||
}
|
||||
} else if(_output_index == 1) {
|
||||
_w = _nbox.w - _w;
|
||||
|
||||
var shf = _nbox.w - round(_w);
|
||||
_nbox.x += shf;
|
||||
_nbox.w = round(_w);
|
||||
|
||||
if(_mirr) _nbox.mirror_h = !_nbox.mirror_h;
|
||||
|
||||
if(is_surface(_pbox.mask)) {
|
||||
_nbox.mask = surface_verify(_nbox.mask, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.mask);
|
||||
DRAW_CLEAR
|
||||
if(_mirr)
|
||||
draw_surface_ext_safe(_pbox.mask, _nbox.w + shf, 0, -1, 1, 0, c_white, 1);
|
||||
else
|
||||
draw_surface_safe(_pbox.mask, -shf, 0);
|
||||
surface_reset_target();
|
||||
}
|
||||
|
||||
if(is_surface(_pbox.content)) {
|
||||
_nbox.content = surface_verify(_nbox.content, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.content);
|
||||
DRAW_CLEAR
|
||||
if(_mirr)
|
||||
draw_surface_ext_safe(_pbox.content, _nbox.w + shf, 0, -1, 1, 0, c_white, 1);
|
||||
else
|
||||
draw_surface_safe(_pbox.content, -shf, 0);
|
||||
surface_reset_target();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var _h;
|
||||
|
||||
switch(_type) {
|
||||
case 0 : _h = _nbox.h * _rati; break;
|
||||
case 1 : _h = _fixx; break;
|
||||
case 2 : _h = _nbox.h - _fixx; break;
|
||||
}
|
||||
|
||||
if(_nbox.mirror_v) {
|
||||
_output_index = !_output_index;
|
||||
_h = _nbox.h - _h;
|
||||
}
|
||||
|
||||
if(_output_index == 0) {
|
||||
_nbox.h = round(_h);
|
||||
|
||||
if(is_surface(_pbox.mask)) {
|
||||
_nbox.mask = surface_verify(_nbox.mask, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.mask);
|
||||
DRAW_CLEAR
|
||||
draw_surface_safe(_pbox.mask);
|
||||
surface_reset_target();
|
||||
}
|
||||
|
||||
if(is_surface(_pbox.content)) {
|
||||
_nbox.content = surface_verify(_nbox.content, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.content);
|
||||
DRAW_CLEAR
|
||||
draw_surface_safe(_pbox.content);
|
||||
surface_reset_target();
|
||||
}
|
||||
} else if(_output_index == 1) {
|
||||
_h = _nbox.h - _h;
|
||||
|
||||
var shf = _nbox.h - round(_h);
|
||||
_nbox.y += shf;
|
||||
_nbox.h = round(_h);
|
||||
|
||||
if(_mirr) _nbox.mirror_v = !_nbox.mirror_v;
|
||||
|
||||
if(is_surface(_pbox.mask)) {
|
||||
_nbox.mask = surface_verify(_nbox.mask, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.mask);
|
||||
DRAW_CLEAR
|
||||
if(_mirr)
|
||||
draw_surface_ext_safe(_pbox.mask, 0, _nbox.h + shf, 1, -1, 0, c_white, 1);
|
||||
else
|
||||
draw_surface_safe(_pbox.mask, 0, -shf);
|
||||
surface_reset_target();
|
||||
}
|
||||
|
||||
if(is_surface(_pbox.content)) {
|
||||
_nbox.content = surface_verify(_nbox.content, _nbox.w, _nbox.h);
|
||||
surface_set_target(_nbox.content);
|
||||
DRAW_CLEAR
|
||||
if(_mirr)
|
||||
draw_surface_ext_safe(_pbox.content, 0, _nbox.h + shf, 1, -1, 0, c_white, 1);
|
||||
else
|
||||
draw_surface_safe(_pbox.content, 0, -shf);
|
||||
surface_reset_target();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return _nbox;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var _axs = current_data[5];
|
||||
var bbox = drawGetBbox(xx, yy, _s)
|
||||
.toSquare()
|
||||
.pad(8);
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 2);
|
||||
|
||||
if(_axs == 0) draw_line(bbox.xc, bbox.y0, bbox.xc, bbox.y1);
|
||||
else draw_line(bbox.x0, bbox.yc, bbox.x1, bbox.yc);
|
||||
}
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
function Node_PB_Box_Transform(_x, _y, _group = noone) : Node_PB_Box(_x, _y, _group) constructor {
|
||||
name = "Transform";
|
||||
|
||||
newInput(1, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(2, nodeValue_Vec2("Translate", self, [ 0, 0 ] ));
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox", self, VALUE_TYPE.pbBox, noone ));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Translate", false], 2,
|
||||
]
|
||||
|
||||
static drawOverlayPB = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
inputs[2].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _layr = _data[0];
|
||||
var _pbox = _data[1];
|
||||
var _tran = _data[2];
|
||||
|
||||
if(_pbox == noone) return noone;
|
||||
|
||||
_pbox = _pbox.clone();
|
||||
_pbox.layer += _layr;
|
||||
|
||||
_pbox.x += _tran[0];
|
||||
_pbox.y += _tran[1];
|
||||
|
||||
return _pbox;
|
||||
}
|
||||
|
||||
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
|
||||
var bbox = drawGetBbox(xx, yy, _s)
|
||||
.toSquare()
|
||||
.pad(8);
|
||||
|
||||
draw_set_color(c_white);
|
||||
draw_rectangle_border(bbox.x0, bbox.y0, bbox.x1, bbox.y1, 2);
|
||||
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_box_transform",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_box_transform",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
}
|
30
scripts/node_pb_crop_pbbox/node_pb_crop_pbbox.gml
Normal file
30
scripts/node_pb_crop_pbbox/node_pb_crop_pbbox.gml
Normal file
|
@ -0,0 +1,30 @@
|
|||
function Node_PB_Crop_PBBOX(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Crop PBBOX";
|
||||
|
||||
newInput(0, nodeValue_Surface("Surface", self, noone));
|
||||
|
||||
newInput(1, nodeValue_Pbbox("PBBOX", self, new __pbBox()));
|
||||
|
||||
newOutput(0, nodeValue_Output("Surface", self, VALUE_TYPE.surface, noone));
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _pbbox = getSingleValue(1);
|
||||
if(is(_pbbox, __pbBox)) _pbbox.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _surf = _data[0];
|
||||
var _pbbox = _data[1];
|
||||
var _bbox = _pbbox.getBBOX();
|
||||
|
||||
var _ww = _bbox[2] - _bbox[0];
|
||||
var _hh = _bbox[3] - _bbox[1];
|
||||
|
||||
_outSurf = surface_verify(_outSurf, _ww, _hh);
|
||||
surface_set_shader(_outSurf);
|
||||
draw_surface_safe(_surf, -_bbox[0], -_bbox[1])
|
||||
surface_reset_target();
|
||||
|
||||
return _outSurf;
|
||||
}
|
||||
}
|
14
scripts/node_pb_crop_pbbox/node_pb_crop_pbbox.yy
Normal file
14
scripts/node_pb_crop_pbbox/node_pb_crop_pbbox.yy
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_crop_pbbox",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_crop_pbbox",
|
||||
"parent":{
|
||||
"name":"modify",
|
||||
"path":"folders/nodes/data/PB/modify.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
"tags":[],
|
||||
}
|
11
scripts/node_pb_dimension/node_pb_dimension.gml
Normal file
11
scripts/node_pb_dimension/node_pb_dimension.gml
Normal file
|
@ -0,0 +1,11 @@
|
|||
function Node_PB_Dimension(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Dimension";
|
||||
setDimension(96, 48);
|
||||
|
||||
newOutput(0, nodeValue_Output("Dimension", self, VALUE_TYPE.float, [ 1, 1 ] ))
|
||||
.setDisplay(VALUE_DISPLAY.vector);
|
||||
|
||||
static update = function() {
|
||||
outputs[0].setValue(group.dimension);
|
||||
}
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_layer",
|
||||
"%Name":"node_pb_dimension",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_layer",
|
||||
"name":"node_pb_dimension",
|
||||
"parent":{
|
||||
"name":"box",
|
||||
"path":"folders/nodes/data/pixel builder/box.yy",
|
||||
"name":"main",
|
||||
"path":"folders/nodes/data/PB/main.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
|
@ -1,35 +1,205 @@
|
|||
function Node_PB_Draw(_x, _y, _group = noone) : Node_PB(_x, _y, _group) constructor {
|
||||
function Node_PB_Draw(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "PB Draw";
|
||||
preview_channel = 1;
|
||||
|
||||
newInput(0, nodeValue("pBox", self, CONNECT_TYPE.input, VALUE_TYPE.pbBox, noone ))
|
||||
.setVisible(true, true);
|
||||
newInput(0, nodeValue_Pbbox("Base PBBOX", self, new __pbBox()));
|
||||
inputs[0].editWidget = noone;
|
||||
|
||||
newInput(1, nodeValue_Color("Color", self, cola(c_white) ));
|
||||
newInput(1, nodeValue_Pbbox("PBBOX", self, new __pbBox()));
|
||||
|
||||
newInput(2, nodeValue_Bool("Apply Mask", self, true ));
|
||||
newInput(2, nodeValue_f("PBBOX Left", self, 0));
|
||||
newInput(3, nodeValue_f("PBBOX Top", self, 0));
|
||||
newInput(4, nodeValue_f("PBBOX Right", self, 0));
|
||||
newInput(5, nodeValue_f("PBBOX Bottom", self, 0));
|
||||
newInput(6, nodeValue_f("PBBOX Width", self, 0));
|
||||
newInput(7, nodeValue_f("PBBOX Height", self, 0));
|
||||
|
||||
newOutput(0, nodeValue_Output("pBox", self, VALUE_TYPE.pbBox, noone));
|
||||
newInput( 8, nodeValue_b( "Fill", self, true));
|
||||
newInput( 9, nodeValue_c( "Color", self, cola(c_white))).setInternalName("Fill Color");
|
||||
|
||||
static getGraphPreviewSurface = function() {
|
||||
var _nbox = outputs[0].getValue();
|
||||
if(_nbox == noone) return noone;
|
||||
if(is_array(_nbox)) {
|
||||
if(array_empty(_nbox)) return noone;
|
||||
_nbox = _nbox[0];
|
||||
newInput(10, nodeValue_b( "Stroke", self, false));
|
||||
newInput(11, nodeValue_i( "Thickness", self, 1));
|
||||
newInput(12, nodeValue_c( "Color", self, cola(c_white))).setInternalName("Stroke Color");
|
||||
newInput(13, nodeValue_eb( "Position", self, 0, array_create(3, THEME.stroke_position) ));
|
||||
newInput(14, nodeValue_eb( "Corner", self, 0, array_create(2, THEME.stroke_profile) ));
|
||||
|
||||
newInput(15, nodeValue_es( "Pattern", self, 0, [ "Solid", "Stripe X", "Stripe Y", "Checker", "Dotted" ] )).setInternalName("Fill Pattern");
|
||||
newInput(16, nodeValue_c( "Pattern Color", self, cola(c_white))).setInternalName("Fill Pattern Color");
|
||||
newInput(17, nodeValue_s( "Pattern Intensity", self, 1)).setInternalName("Fill Pattern Intensity");
|
||||
newInput(18, nodeValue_2( "Pattern Scale", self, [1,1])).setInternalName("Fill Pattern Scale");
|
||||
|
||||
newInput(19, nodeValue_es( "Pattern", self, 0, [ "Solid", "Stripe X", "Stripe Y", "Checker", "Layered" ] )).setInternalName("Stroke Pattern");
|
||||
newInput(20, nodeValue_c( "Pattern Color", self, cola(c_white))).setInternalName("Stroke Pattern Color");
|
||||
newInput(21, nodeValue_s( "Pattern Intensity", self, 1)).setInternalName("Stroke Pattern Intensity");
|
||||
newInput(22, nodeValue_2( "Pattern Scale", self, [1,1])).setInternalName("Stroke Pattern Scale");
|
||||
|
||||
newInput(23, nodeValue_b( "Corner", self, false));
|
||||
newInput(24, nodeValue_i( "Radius", self, 1));
|
||||
newInput(25, nodeValue_c( "Color", self, cola(c_white))).setInternalName("Corner Color");
|
||||
newInput(26, nodeValue_es( "Apply", self, 0, [ "Fill", "Stroke" ] )).setInternalName("Corner Effect");
|
||||
|
||||
newInput(27, nodeValue_b( "Highlight", self, false));
|
||||
newInput(28, nodeValue_i( "Width", self, [ 0, 0, 0, 0 ])).setDisplay(VALUE_DISPLAY.padding).setInternalName("Highlight Width");
|
||||
newInput(29, nodeValue_c( "Color Left", self, cola(c_white))).setInternalName("Corner Color");
|
||||
newInput(30, nodeValue_c( "Color Right", self, cola(c_white))).setInternalName("Corner Color");
|
||||
newInput(31, nodeValue_c( "Color Top", self, cola(c_white))).setInternalName("Corner Color");
|
||||
newInput(32, nodeValue_c( "Color Bottom", self, cola(c_white))).setInternalName("Corner Color");
|
||||
|
||||
newInput(33, nodeValue_b( "Subtract", self, false));
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
newOutput(0, nodeValue_Output("PBBOX", self, VALUE_TYPE.pbBox, noone));
|
||||
|
||||
newOutput(1, nodeValue_Output("Surface Out", self, VALUE_TYPE.surface, noone));
|
||||
|
||||
var _sep = new Inspector_Spacer(ui(4), true, true, ui(4));
|
||||
|
||||
pbi = array_length(inputs);
|
||||
|
||||
input_display_list = [
|
||||
["Layout", false], 0, 1,
|
||||
["Layout Override", true], 2, 3, 4, 5, 6, 7,
|
||||
]
|
||||
|
||||
input_display_shape_index = array_length(input_display_list);
|
||||
|
||||
array_append(input_display_list, [
|
||||
["Fill", false, 8], 9, _sep, 15, 18, 16, 17,
|
||||
["Stroke", false, 10], 11, 13, 14, 12, _sep, 19, 22, 20, 21,
|
||||
["Corner", true, 23], 24, 25, 26, 33,
|
||||
["Highlight", true, 27], 28, 29, 30, 31, 32,
|
||||
]);
|
||||
|
||||
temp_surfaces = [ 0 ];
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _pbase = getSingleValue(0);
|
||||
var _pbbox = getSingleValue(1);
|
||||
|
||||
if(is(_pbase, __pbBox)) {
|
||||
draw_set_color(COLORS._main_icon);
|
||||
_pbase.drawOverlayBBOX(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
}
|
||||
|
||||
return _nbox.content;
|
||||
if(is(_pbbox, __pbBox)) _pbbox.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny, self);
|
||||
}
|
||||
}
|
||||
|
||||
#macro PB_DRAW_CREATE_MASK _nbox.mask = surface_verify(_nbox.mask, _nbox.w, _nbox.h); \
|
||||
surface_set_shader(_nbox.mask, sh_pb_to_mask); \
|
||||
draw_surface_safe(_nbox.content); \
|
||||
|
||||
static getBBOX = function(_data) {
|
||||
var _dim = group.dimension;
|
||||
var _pbase = _data[0];
|
||||
var _pbbox = _data[1];
|
||||
|
||||
if(inputs[0].value_from == noone) _pbase.base_bbox = [ 0, 0, _dim[0], _dim[1] ];
|
||||
if(inputs[2].value_from != noone || inputs[2].is_anim) _pbbox.anchor_l = _data[2];
|
||||
if(inputs[3].value_from != noone || inputs[3].is_anim) _pbbox.anchor_t = _data[3];
|
||||
if(inputs[4].value_from != noone || inputs[4].is_anim) _pbbox.anchor_r = _data[4];
|
||||
if(inputs[5].value_from != noone || inputs[5].is_anim) _pbbox.anchor_b = _data[5];
|
||||
if(inputs[6].value_from != noone || inputs[6].is_anim) _pbbox.anchor_w = _data[6];
|
||||
if(inputs[7].value_from != noone || inputs[7].is_anim) _pbbox.anchor_h = _data[7];
|
||||
|
||||
_pbbox.base_bbox = is(_pbase, __pbBox)? _pbase.getBBOX() : [ 0, 0, _dim[0], _dim[1] ];
|
||||
return _pbbox.getBBOX();
|
||||
}
|
||||
|
||||
static pbDrawSurface = function(_data, _bbox) {}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _dim = group.dimension;
|
||||
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
|
||||
temp_surfaces[0] = surface_verify(temp_surfaces[0], _dim[0], _dim[1]);
|
||||
|
||||
var _pbbox = _data[1];
|
||||
var _bbox = getBBOX(_data);
|
||||
|
||||
var _fil = _data[8];
|
||||
var _fil_col = _data[9];
|
||||
|
||||
var _fil_pat = _data[15];
|
||||
var _fil_pat_col = _data[16]; inputs[16].setVisible(_fil_pat);
|
||||
var _fil_pat_int = _data[17]; inputs[17].setVisible(_fil_pat);
|
||||
var _fil_pat_sca = _data[18]; inputs[18].setVisible(_fil_pat);
|
||||
|
||||
var _stk = _data[10];
|
||||
var _stk_thk = _data[11];
|
||||
var _stk_col = _data[12];
|
||||
var _stk_pos = _data[13];
|
||||
var _stk_cor = _data[14];
|
||||
|
||||
var _stk_pat = _data[19];
|
||||
var _stk_pat_col = _data[20]; inputs[20].setVisible(_stk_pat);
|
||||
var _stk_pat_int = _data[21]; inputs[21].setVisible(_stk_pat);
|
||||
var _stk_pat_sca = _data[22]; inputs[22].setVisible(_stk_pat);
|
||||
|
||||
var _crn = _data[23];
|
||||
var _crn_rad = _data[24];
|
||||
var _crn_col = _data[25];
|
||||
var _crn_eff = _data[26];
|
||||
var _crn_sub = _data[33];
|
||||
|
||||
var _hig = _data[27];
|
||||
var _hig_wid = _data[28];
|
||||
var _hig_l = _data[29];
|
||||
var _hig_r = _data[30];
|
||||
var _hig_t = _data[31];
|
||||
var _hig_b = _data[32];
|
||||
|
||||
var _draws = temp_surfaces[0];
|
||||
|
||||
surface_set_shader(_draws, noone);
|
||||
draw_set_color(c_white);
|
||||
pbDrawSurface(_data, _bbox);
|
||||
surface_reset_shader();
|
||||
|
||||
#macro PB_DRAW_APPLY_MASK if(_mask) { \
|
||||
BLEND_MULTIPLY \
|
||||
if(is_surface(_pbox.mask)) \
|
||||
draw_surface_safe(_pbox.mask); \
|
||||
BLEND_NORMAL \
|
||||
}
|
||||
surface_set_shader(_outSurf, sh_pb_draw);
|
||||
shader_set_2("dimension", _dim );
|
||||
|
||||
shader_set_i("fill", _fil );
|
||||
shader_set_c("fill_color", _fil_col );
|
||||
shader_set_i("fill_pattern", _fil_pat );
|
||||
shader_set_2("fill_pattern_scale", _fil_pat_sca );
|
||||
shader_set_c("fill_pattern_color", _fil_pat_col );
|
||||
shader_set_f("fill_pattern_inten", _fil_pat_int );
|
||||
|
||||
shader_set_i("stroke", _stk );
|
||||
shader_set_f("stroke_thickness", _stk_thk );
|
||||
shader_set_c("stroke_color", _stk_col );
|
||||
shader_set_i("stroke_position", _stk_pos );
|
||||
shader_set_i("stroke_corner", _stk_cor );
|
||||
shader_set_i("stroke_pattern", _stk_pat );
|
||||
shader_set_2("stroke_pattern_scale", _stk_pat_sca );
|
||||
shader_set_c("stroke_pattern_color", _stk_pat_col );
|
||||
shader_set_f("stroke_pattern_inten", _stk_pat_int );
|
||||
|
||||
shader_set_i("corner", _crn );
|
||||
shader_set_f("corner_radius", _crn_rad );
|
||||
shader_set_c("corner_color", _crn_col );
|
||||
shader_set_i("corner_effect", _crn_eff );
|
||||
shader_set_i("corner_subtract", _crn_sub );
|
||||
|
||||
shader_set_i("highlight", _hig );
|
||||
shader_set_4("highlight_width", _hig_wid );
|
||||
shader_set_c("highlight_l", _hig_l );
|
||||
shader_set_c("highlight_r", _hig_r );
|
||||
shader_set_c("highlight_t", _hig_t );
|
||||
shader_set_c("highlight_b", _hig_b );
|
||||
|
||||
draw_surface_safe(_draws);
|
||||
surface_reset_shader();
|
||||
|
||||
return [ _pbbox, _outSurf ];
|
||||
}
|
||||
|
||||
////- Serialize
|
||||
|
||||
static doSerialize = function(_map) {
|
||||
_map.pbi_base_length = pbi;
|
||||
}
|
||||
|
||||
static postDeserialize = function() {
|
||||
var _tlen = struct_try_get(load_map, "pbi_base_length", pbi);
|
||||
|
||||
for( var i = _tlen; i < pbi; i++ )
|
||||
array_insert(load_map.inputs, i, noone);
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
"name":"node_pb_draw",
|
||||
"parent":{
|
||||
"name":"draw",
|
||||
"path":"folders/nodes/data/pixel builder/draw.yy",
|
||||
"path":"folders/nodes/data/PB/draw.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_checkerboard",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,138 +0,0 @@
|
|||
function Node_PB_Draw_Angle(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group) constructor {
|
||||
name = "Angle";
|
||||
|
||||
newInput(3, nodeValue_Enum_Button("Side", self, 0 , array_create(4, THEME.obj_angle) ));
|
||||
|
||||
newInput(4, nodeValue_Bool("Round", self, false ))
|
||||
|
||||
input_display_list = [
|
||||
["Draw", false], 0, 1, 2,
|
||||
["Shape", false], 3, 4,
|
||||
];
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _pbox = _data[0];
|
||||
var _fcol = _data[1];
|
||||
var _mask = _data[2];
|
||||
var _side = _data[3];
|
||||
var _roun = _data[4];
|
||||
|
||||
if(_pbox == noone) return _pbox;
|
||||
|
||||
var _nbox = _pbox.clone();
|
||||
_nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h);
|
||||
|
||||
switch(_side) {
|
||||
case 0 :
|
||||
if( _pbox.mirror_h && _pbox.mirror_v) _side = 2;
|
||||
if( _pbox.mirror_h && !_pbox.mirror_v) _side = 1;
|
||||
if(!_pbox.mirror_h && _pbox.mirror_v) _side = 3;
|
||||
break;
|
||||
case 1 :
|
||||
if( _pbox.mirror_h && _pbox.mirror_v) _side = 3;
|
||||
if( _pbox.mirror_h && !_pbox.mirror_v) _side = 0;
|
||||
if(!_pbox.mirror_h && _pbox.mirror_v) _side = 2;
|
||||
break;
|
||||
case 2 :
|
||||
if( _pbox.mirror_h && _pbox.mirror_v) _side = 0;
|
||||
if( _pbox.mirror_h && !_pbox.mirror_v) _side = 3;
|
||||
if(!_pbox.mirror_h && _pbox.mirror_v) _side = 1;
|
||||
break;
|
||||
case 3 :
|
||||
if( _pbox.mirror_h && _pbox.mirror_v) _side = 1;
|
||||
if( _pbox.mirror_h && !_pbox.mirror_v) _side = 2;
|
||||
if(!_pbox.mirror_h && _pbox.mirror_v) _side = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
surface_set_target(_nbox.content);
|
||||
DRAW_CLEAR
|
||||
|
||||
draw_set_color(_fcol);
|
||||
draw_primitive_begin(pr_trianglelist);
|
||||
|
||||
var as, ae, rx, ry;
|
||||
|
||||
switch(_side) {
|
||||
case 0 :
|
||||
if(_roun) {
|
||||
as = 0;
|
||||
ae = -90;
|
||||
|
||||
rx = 0;
|
||||
ry = 0;
|
||||
} else {
|
||||
draw_vertex(0, 0);
|
||||
draw_vertex(_pbox.w, 0);
|
||||
draw_vertex(0, _pbox.h);
|
||||
}
|
||||
break;
|
||||
case 1 :
|
||||
if(_roun) {
|
||||
as = 180;
|
||||
ae = 270;
|
||||
|
||||
rx = _pbox.w;
|
||||
ry = 0;
|
||||
} else {
|
||||
draw_vertex(0, 0);
|
||||
draw_vertex(_pbox.w, 0);
|
||||
draw_vertex(_pbox.w, _pbox.h);
|
||||
}
|
||||
break;
|
||||
case 2 :
|
||||
if(_roun) {
|
||||
as = 90;
|
||||
ae = 180;
|
||||
|
||||
rx = _pbox.w;
|
||||
ry = _pbox.h;
|
||||
} else {
|
||||
draw_vertex(_pbox.w, 0);
|
||||
draw_vertex(_pbox.w, _pbox.h);
|
||||
draw_vertex(0, _pbox.h);
|
||||
}
|
||||
break;
|
||||
case 3 :
|
||||
if(_roun) {
|
||||
as = 0;
|
||||
ae = 90;
|
||||
|
||||
rx = 0;
|
||||
ry = _pbox.h;
|
||||
} else {
|
||||
draw_vertex(0, 0);
|
||||
draw_vertex(_pbox.w, _pbox.h);
|
||||
draw_vertex(0, _pbox.h);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(_roun) {
|
||||
var ox, oy, nx, ny;
|
||||
|
||||
for( var i = 0; i <= 64; i++ ) {
|
||||
var a = lerp(as, ae, i / 64);
|
||||
nx = rx + lengthdir_x(_pbox.w, a);
|
||||
ny = ry + lengthdir_y(_pbox.h, a);
|
||||
|
||||
if(i) {
|
||||
draw_vertex(rx, ry);
|
||||
draw_vertex(ox, oy);
|
||||
draw_vertex(nx, ny);
|
||||
}
|
||||
|
||||
ox = nx;
|
||||
oy = ny;
|
||||
}
|
||||
}
|
||||
draw_primitive_end();
|
||||
|
||||
PB_DRAW_APPLY_MASK
|
||||
surface_reset_target();
|
||||
|
||||
PB_DRAW_CREATE_MASK
|
||||
|
||||
return _nbox;
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_stripe",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_checkerboard",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,95 +0,0 @@
|
|||
function Node_PB_Draw_Blob(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group) constructor {
|
||||
name = "Blob";
|
||||
|
||||
newInput(3, nodeValue_Float("Top", self, 0.5 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
newInput(4, nodeValue_Float("Bottom", self, 1 ))
|
||||
.setDisplay(VALUE_DISPLAY.slider);
|
||||
|
||||
input_display_list = [
|
||||
["Draw", false], 0, 1, 2,
|
||||
["Shape", false], 3, 4,
|
||||
];
|
||||
|
||||
static drawOverlayPB = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _pbox = getInputData(0);
|
||||
if(_pbox == noone) return;
|
||||
|
||||
var x0 = _pbox.x + _pbox.w / 2;
|
||||
var y0 = _pbox.y;
|
||||
|
||||
x0 = _x + x0 * _s;
|
||||
y0 = _y + y0 * _s;
|
||||
|
||||
//inputs[2].drawOverlay(hover, active, x0, y0, _s, _mx, _my, _snx, _sny);
|
||||
|
||||
var x0 = _pbox.x + _pbox.w / 2;
|
||||
var y0 = _pbox.y + _pbox.h;
|
||||
|
||||
x0 = _x + x0 * _s;
|
||||
y0 = _y + y0 * _s;
|
||||
|
||||
//inputs[3].drawOverlay(hover, active, x0, y0, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _pbox = _data[0];
|
||||
var _fcol = _data[1];
|
||||
var _mask = _data[2];
|
||||
|
||||
var _btop = _data[3];
|
||||
var _bbot = _data[4];
|
||||
|
||||
if(_pbox == noone) return _pbox;
|
||||
|
||||
_btop *= _pbox.w / 2;
|
||||
_bbot *= _pbox.w / 2;
|
||||
|
||||
var _nbox = _pbox.clone();
|
||||
_nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h);
|
||||
|
||||
surface_set_target(_nbox.content);
|
||||
DRAW_CLEAR
|
||||
|
||||
draw_set_color(_fcol);
|
||||
draw_primitive_begin(pr_trianglelist);
|
||||
|
||||
var xc = _pbox.w / 2;
|
||||
|
||||
var _samp = 64;
|
||||
var _ox, _oy, _nx, _ny;
|
||||
for( var i = 0; i <= _samp; i++ ) {
|
||||
var t = i / _samp;
|
||||
var _t = 1 - t;
|
||||
|
||||
_nx = 3 * _btop * t * _t * _t + 3 * _bbot * t * t * _t;
|
||||
_ny = 3 * t * t - 2 * t * t * t;
|
||||
if(_pbox.mirror_v)
|
||||
_ny = 1 - _ny;
|
||||
_ny = _ny * _pbox.h;
|
||||
|
||||
if(i) {
|
||||
draw_vertex(xc, 0);
|
||||
draw_vertex(xc + _ox, _oy);
|
||||
draw_vertex(xc + _nx, _ny);
|
||||
|
||||
draw_vertex(xc, 0);
|
||||
draw_vertex(xc - _ox, _oy);
|
||||
draw_vertex(xc - _nx, _ny);
|
||||
}
|
||||
|
||||
_ox = _nx;
|
||||
_oy = _ny;
|
||||
}
|
||||
|
||||
draw_primitive_end();
|
||||
|
||||
PB_DRAW_APPLY_MASK
|
||||
surface_reset_target();
|
||||
|
||||
PB_DRAW_CREATE_MASK
|
||||
|
||||
return _nbox;
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"$GMScript":"v1",
|
||||
"%Name":"node_pb_draw_blob",
|
||||
"isCompatibility":false,
|
||||
"isDnD":false,
|
||||
"name":"node_pb_draw_blob",
|
||||
"parent":{
|
||||
"name":"draw",
|
||||
"path":"folders/nodes/data/pixel builder/draw.yy",
|
||||
},
|
||||
"resourceType":"GMScript",
|
||||
"resourceVersion":"2.0",
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "generator",
|
||||
"path": "folders/nodes/data/generator.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "node_stripe",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,48 +1,28 @@
|
|||
function Node_PB_Draw_Diamond(_x, _y, _group = noone) : Node_PB_Draw(_x, _y, _group) constructor {
|
||||
name = "Diamond";
|
||||
|
||||
input_display_list = [
|
||||
["Draw", false], 0, 1, 2,
|
||||
];
|
||||
newInput(pbi+0, nodeValue_Enum_Scroll("Corner", self, 0, [ "Scale", "Minimum" ]));
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _pbox = _data[0];
|
||||
var _fcol = _data[1];
|
||||
var _mask = _data[2];
|
||||
array_insert_array(input_display_list, input_display_shape_index, [
|
||||
["Shape", false], pbi+0,
|
||||
]);
|
||||
|
||||
static pbDrawSurface = function(_data, _bbox) {
|
||||
var _x0 = _bbox[0];
|
||||
var _y0 = _bbox[1];
|
||||
var _x1 = _bbox[2];
|
||||
var _y1 = _bbox[3];
|
||||
|
||||
if(_pbox == noone) return _pbox;
|
||||
var _ww = _x1 - _x0;
|
||||
var _hh = _y1 - _y0;
|
||||
|
||||
var _nbox = _pbox.clone();
|
||||
_nbox.content = surface_verify(_nbox.content, _pbox.w, _pbox.h);
|
||||
var _cor = _data[pbi+0];
|
||||
|
||||
var x0 = 0;
|
||||
var y0 = 0;
|
||||
|
||||
var x1 = _pbox.w + !(_pbox.w % 2);
|
||||
var y1 = _pbox.h + !(_pbox.h % 2);
|
||||
|
||||
var xc = _pbox.w / 2;
|
||||
var yc = _pbox.h / 2;
|
||||
|
||||
surface_set_target(_nbox.content);
|
||||
DRAW_CLEAR
|
||||
shader_set(sh_pb_diamond);
|
||||
shader_set_2("dimension", [ _ww, _hh ]);
|
||||
shader_set_i("cornerType", _cor);
|
||||
|
||||
draw_set_color(_fcol);
|
||||
draw_primitive_begin(pr_trianglelist);
|
||||
draw_vertex(xc, y0);
|
||||
draw_vertex(x0, yc);
|
||||
draw_vertex(x1, yc);
|
||||
|
||||
draw_vertex(x0, yc);
|
||||
draw_vertex(x1, yc);
|
||||
draw_vertex(xc, y1);
|
||||
draw_primitive_end();
|
||||
|
||||
PB_DRAW_APPLY_MASK
|
||||
surface_reset_target();
|
||||
|
||||
PB_DRAW_CREATE_MASK
|
||||
|
||||
return _nbox;
|
||||
draw_sprite_stretched(s_fx_pixel, 0, _x0, _y0, _ww, _hh);
|
||||
shader_reset();
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue