1.1.0.1 Update
|
@ -33,10 +33,11 @@
|
||||||
{"id":{"name":"node_2d_light","path":"scripts/node_2d_light/node_2d_light.yy",},"order":40,},
|
{"id":{"name":"node_2d_light","path":"scripts/node_2d_light/node_2d_light.yy",},"order":40,},
|
||||||
{"id":{"name":"s_node_color","path":"sprites/s_node_color/s_node_color.yy",},"order":0,},
|
{"id":{"name":"s_node_color","path":"sprites/s_node_color/s_node_color.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_image_gif","path":"sprites/s_node_image_gif/s_node_image_gif.yy",},"order":7,},
|
{"id":{"name":"s_node_image_gif","path":"sprites/s_node_image_gif/s_node_image_gif.yy",},"order":7,},
|
||||||
{"id":{"name":"node_VFX_effect_wind","path":"scripts/node_VFX_effect_wind/node_VFX_effect_wind.yy",},"order":7,},
|
{"id":{"name":"node_VFX_effect_wind","path":"scripts/node_VFX_effect_wind/node_VFX_effect_wind.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_3d_obj","path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",},"order":3,},
|
{"id":{"name":"s_node_3d_obj","path":"sprites/s_node_3d_obj/s_node_3d_obj.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},"order":6,},
|
{"id":{"name":"s_node_scale","path":"sprites/s_node_scale/s_node_scale.yy",},"order":6,},
|
||||||
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":34,},
|
{"id":{"name":"sh_color_picker_value","path":"shaders/sh_color_picker_value/sh_color_picker_value.yy",},"order":34,},
|
||||||
|
{"id":{"name":"textInput","path":"scripts/textInput/textInput.yy",},"order":24,},
|
||||||
{"id":{"name":"node_dither","path":"scripts/node_dither/node_dither.yy",},"order":11,},
|
{"id":{"name":"node_dither","path":"scripts/node_dither/node_dither.yy",},"order":11,},
|
||||||
{"id":{"name":"sh_perlin_smear","path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},"order":7,},
|
{"id":{"name":"sh_perlin_smear","path":"shaders/sh_perlin_smear/sh_perlin_smear.yy",},"order":7,},
|
||||||
{"id":{"name":"node_switch","path":"scripts/node_switch/node_switch.yy",},"order":8,},
|
{"id":{"name":"node_switch","path":"scripts/node_switch/node_switch.yy",},"order":8,},
|
||||||
|
@ -82,6 +83,7 @@
|
||||||
{"id":{"name":"colToVec4","path":"scripts/colToVec4/colToVec4.yy",},"order":0,},
|
{"id":{"name":"colToVec4","path":"scripts/colToVec4/colToVec4.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_vfx","path":"sprites/s_node_vfx/s_node_vfx.yy",},"order":9,},
|
{"id":{"name":"s_node_vfx","path":"sprites/s_node_vfx/s_node_vfx.yy",},"order":9,},
|
||||||
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
|
{"id":{"name":"draw_surface_blend","path":"scripts/draw_surface_blend/draw_surface_blend.yy",},"order":1,},
|
||||||
|
{"id":{"name":"node_string_get_char","path":"scripts/node_string_get_char/node_string_get_char.yy",},"order":19,},
|
||||||
{"id":{"name":"sh_simplex","path":"shaders/sh_simplex/sh_simplex.yy",},"order":22,},
|
{"id":{"name":"sh_simplex","path":"shaders/sh_simplex/sh_simplex.yy",},"order":22,},
|
||||||
{"id":{"name":"node_noise_grid_tri","path":"scripts/node_noise_grid_tri/node_noise_grid_tri.yy",},"order":25,},
|
{"id":{"name":"node_noise_grid_tri","path":"scripts/node_noise_grid_tri/node_noise_grid_tri.yy",},"order":25,},
|
||||||
{"id":{"name":"blurSurface","path":"scripts/blurSurface/blurSurface.yy",},"order":0,},
|
{"id":{"name":"blurSurface","path":"scripts/blurSurface/blurSurface.yy",},"order":0,},
|
||||||
|
@ -117,7 +119,7 @@
|
||||||
{"id":{"name":"o_dialog_release_note","path":"objects/o_dialog_release_note/o_dialog_release_note.yy",},"order":16,},
|
{"id":{"name":"o_dialog_release_note","path":"objects/o_dialog_release_note/o_dialog_release_note.yy",},"order":16,},
|
||||||
{"id":{"name":"panel_inspector","path":"scripts/panel_inspector/panel_inspector.yy",},"order":0,},
|
{"id":{"name":"panel_inspector","path":"scripts/panel_inspector/panel_inspector.yy",},"order":0,},
|
||||||
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},"order":10,},
|
{"id":{"name":"node_padding","path":"scripts/node_padding/node_padding.yy",},"order":10,},
|
||||||
{"id":{"name":"node_VFX_group","path":"scripts/node_VFX_group/node_VFX_group.yy",},"order":6,},
|
{"id":{"name":"node_VFX_group","path":"scripts/node_VFX_group/node_VFX_group.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},"order":8,},
|
{"id":{"name":"s_node_vfx_attract","path":"sprites/s_node_vfx_attract/s_node_vfx_attract.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},"order":30,},
|
{"id":{"name":"s_node_pixel_cloud","path":"sprites/s_node_pixel_cloud/s_node_pixel_cloud.yy",},"order":30,},
|
||||||
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},"order":8,},
|
{"id":{"name":"node_noise_grid","path":"scripts/node_noise_grid/node_noise_grid.yy",},"order":8,},
|
||||||
|
@ -126,7 +128,7 @@
|
||||||
{"id":{"name":"s_node_compose","path":"sprites/s_node_compose/s_node_compose.yy",},"order":1,},
|
{"id":{"name":"s_node_compose","path":"sprites/s_node_compose/s_node_compose.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_switch","path":"sprites/s_node_switch/s_node_switch.yy",},"order":20,},
|
{"id":{"name":"s_node_switch","path":"sprites/s_node_switch/s_node_switch.yy",},"order":20,},
|
||||||
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},"order":2,},
|
{"id":{"name":"s_node_crop","path":"sprites/s_node_crop/s_node_crop.yy",},"order":2,},
|
||||||
{"id":{"name":"__VFX","path":"scripts/__VFX/__VFX.yy",},"order":3,},
|
{"id":{"name":"__VFX","path":"scripts/__VFX/__VFX.yy",},"order":2,},
|
||||||
{"id":{"name":"s_menu_black","path":"sprites/s_menu_black/s_menu_black.yy",},"order":2,},
|
{"id":{"name":"s_menu_black","path":"sprites/s_menu_black/s_menu_black.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_blend_multiply","path":"shaders/sh_blend_multiply/sh_blend_multiply.yy",},"order":0,},
|
{"id":{"name":"sh_blend_multiply","path":"shaders/sh_blend_multiply/sh_blend_multiply.yy",},"order":0,},
|
||||||
{"id":{"name":"node_bevel","path":"scripts/node_bevel/node_bevel.yy",},"order":3,},
|
{"id":{"name":"node_bevel","path":"scripts/node_bevel/node_bevel.yy",},"order":3,},
|
||||||
|
@ -136,6 +138,7 @@
|
||||||
{"id":{"name":"node_displacement","path":"scripts/node_displacement/node_displacement.yy",},"order":8,},
|
{"id":{"name":"node_displacement","path":"scripts/node_displacement/node_displacement.yy",},"order":8,},
|
||||||
{"id":{"name":"text_file","path":"scripts/text_file/text_file.yy",},"order":5,},
|
{"id":{"name":"text_file","path":"scripts/text_file/text_file.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_vfx_wind","path":"sprites/s_node_vfx_wind/s_node_vfx_wind.yy",},"order":3,},
|
{"id":{"name":"s_node_vfx_wind","path":"sprites/s_node_vfx_wind/s_node_vfx_wind.yy",},"order":3,},
|
||||||
|
{"id":{"name":"sh_channel_G_grey","path":"shaders/sh_channel_G_grey/sh_channel_G_grey.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_vec4","path":"sprites/s_node_vec4/s_node_vec4.yy",},"order":8,},
|
{"id":{"name":"s_node_vec4","path":"sprites/s_node_vec4/s_node_vec4.yy",},"order":8,},
|
||||||
{"id":{"name":"buttonGroup","path":"scripts/buttonGroup/buttonGroup.yy",},"order":5,},
|
{"id":{"name":"buttonGroup","path":"scripts/buttonGroup/buttonGroup.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_image_sheet","path":"sprites/s_node_image_sheet/s_node_image_sheet.yy",},"order":10,},
|
{"id":{"name":"s_node_image_sheet","path":"sprites/s_node_image_sheet/s_node_image_sheet.yy",},"order":10,},
|
||||||
|
@ -146,6 +149,7 @@
|
||||||
{"id":{"name":"node_color_from_rgb","path":"scripts/node_color_from_rgb/node_color_from_rgb.yy",},"order":5,},
|
{"id":{"name":"node_color_from_rgb","path":"scripts/node_color_from_rgb/node_color_from_rgb.yy",},"order":5,},
|
||||||
{"id":{"name":"node_transform","path":"scripts/node_transform/node_transform.yy",},"order":0,},
|
{"id":{"name":"node_transform","path":"scripts/node_transform/node_transform.yy",},"order":0,},
|
||||||
{"id":{"name":"curveBox","path":"scripts/curveBox/curveBox.yy",},"order":8,},
|
{"id":{"name":"curveBox","path":"scripts/curveBox/curveBox.yy",},"order":8,},
|
||||||
|
{"id":{"name":"preview_overlay_vector","path":"scripts/preview_overlay_vector/preview_overlay_vector.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_gradient_display","path":"shaders/sh_gradient_display/sh_gradient_display.yy",},"order":18,},
|
{"id":{"name":"sh_gradient_display","path":"shaders/sh_gradient_display/sh_gradient_display.yy",},"order":18,},
|
||||||
{"id":{"name":"node_json_file_write","path":"scripts/node_json_file_write/node_json_file_write.yy",},"order":12,},
|
{"id":{"name":"node_json_file_write","path":"scripts/node_json_file_write/node_json_file_write.yy",},"order":12,},
|
||||||
{"id":{"name":"s_node_chromatic_abarration","path":"sprites/s_node_chromatic_abarration/s_node_chromatic_abarration.yy",},"order":12,},
|
{"id":{"name":"s_node_chromatic_abarration","path":"sprites/s_node_chromatic_abarration/s_node_chromatic_abarration.yy",},"order":12,},
|
||||||
|
@ -178,7 +182,7 @@
|
||||||
{"id":{"name":"sh_vertex_normal_pass","path":"shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy",},"order":5,},
|
{"id":{"name":"sh_vertex_normal_pass","path":"shaders/sh_vertex_normal_pass/sh_vertex_normal_pass.yy",},"order":5,},
|
||||||
{"id":{"name":"surface_valid","path":"scripts/surface_valid/surface_valid.yy",},"order":6,},
|
{"id":{"name":"surface_valid","path":"scripts/surface_valid/surface_valid.yy",},"order":6,},
|
||||||
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":5,},
|
{"id":{"name":"sh_blur_radial","path":"shaders/sh_blur_radial/sh_blur_radial.yy",},"order":5,},
|
||||||
{"id":{"name":"node_VFX_renderer","path":"scripts/node_VFX_renderer/node_VFX_renderer.yy",},"order":5,},
|
{"id":{"name":"node_VFX_renderer","path":"scripts/node_VFX_renderer/node_VFX_renderer.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_invert","path":"sprites/s_node_invert/s_node_invert.yy",},"order":25,},
|
{"id":{"name":"s_node_invert","path":"sprites/s_node_invert/s_node_invert.yy",},"order":25,},
|
||||||
{"id":{"name":"node_array_get","path":"scripts/node_array_get/node_array_get.yy",},"order":10,},
|
{"id":{"name":"node_array_get","path":"scripts/node_array_get/node_array_get.yy",},"order":10,},
|
||||||
{"id":{"name":"node_lua_compute","path":"scripts/node_lua_compute/node_lua_compute.yy",},"order":7,},
|
{"id":{"name":"node_lua_compute","path":"scripts/node_lua_compute/node_lua_compute.yy",},"order":7,},
|
||||||
|
@ -206,7 +210,9 @@
|
||||||
{"id":{"name":"node_combine_rgb","path":"scripts/node_combine_rgb/node_combine_rgb.yy",},"order":49,},
|
{"id":{"name":"node_combine_rgb","path":"scripts/node_combine_rgb/node_combine_rgb.yy",},"order":49,},
|
||||||
{"id":{"name":"checkbox","path":"scripts/checkbox/checkbox.yy",},"order":7,},
|
{"id":{"name":"checkbox","path":"scripts/checkbox/checkbox.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},"order":12,},
|
{"id":{"name":"s_node_particle","path":"sprites/s_node_particle/s_node_particle.yy",},"order":12,},
|
||||||
|
{"id":{"name":"s_node_random","path":"sprites/s_node_random/s_node_random.yy",},"order":24,},
|
||||||
{"id":{"name":"s_node_color_remove","path":"sprites/s_node_color_remove/s_node_color_remove.yy",},"order":6,},
|
{"id":{"name":"s_node_color_remove","path":"sprites/s_node_color_remove/s_node_color_remove.yy",},"order":6,},
|
||||||
|
{"id":{"name":"sh_average","path":"shaders/sh_average/sh_average.yy",},"order":7,},
|
||||||
{"id":{"name":"node_mirror","path":"scripts/node_mirror/node_mirror.yy",},"order":3,},
|
{"id":{"name":"node_mirror","path":"scripts/node_mirror/node_mirror.yy",},"order":3,},
|
||||||
{"id":{"name":"node_corner","path":"scripts/node_corner/node_corner.yy",},"order":35,},
|
{"id":{"name":"node_corner","path":"scripts/node_corner/node_corner.yy",},"order":35,},
|
||||||
{"id":{"name":"vertex_function","path":"scripts/vertex_function/vertex_function.yy",},"order":0,},
|
{"id":{"name":"vertex_function","path":"scripts/vertex_function/vertex_function.yy",},"order":0,},
|
||||||
|
@ -216,6 +222,7 @@
|
||||||
{"id":{"name":"s_node_threshold","path":"sprites/s_node_threshold/s_node_threshold.yy",},"order":45,},
|
{"id":{"name":"s_node_threshold","path":"sprites/s_node_threshold/s_node_threshold.yy",},"order":45,},
|
||||||
{"id":{"name":"node_condition","path":"scripts/node_condition/node_condition.yy",},"order":0,},
|
{"id":{"name":"node_condition","path":"scripts/node_condition/node_condition.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_draw_normal","path":"shaders/sh_draw_normal/sh_draw_normal.yy",},"order":12,},
|
{"id":{"name":"sh_draw_normal","path":"shaders/sh_draw_normal/sh_draw_normal.yy",},"order":12,},
|
||||||
|
{"id":{"name":"preview_overlay_rotation","path":"scripts/preview_overlay_rotation/preview_overlay_rotation.yy",},"order":1,},
|
||||||
{"id":{"name":"sh_seperate_shape_index","path":"shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy",},"order":0,},
|
{"id":{"name":"sh_seperate_shape_index","path":"shaders/sh_seperate_shape_index/sh_seperate_shape_index.yy",},"order":0,},
|
||||||
{"id":{"name":"node_registry","path":"scripts/node_registry/node_registry.yy",},"order":5,},
|
{"id":{"name":"node_registry","path":"scripts/node_registry/node_registry.yy",},"order":5,},
|
||||||
{"id":{"name":"sh_checkerboard","path":"shaders/sh_checkerboard/sh_checkerboard.yy",},"order":12,},
|
{"id":{"name":"sh_checkerboard","path":"shaders/sh_checkerboard/sh_checkerboard.yy",},"order":12,},
|
||||||
|
@ -233,7 +240,7 @@
|
||||||
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
{"id":{"name":"node_pin","path":"scripts/node_pin/node_pin.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_noise","path":"shaders/sh_noise/sh_noise.yy",},"order":16,},
|
{"id":{"name":"sh_noise","path":"shaders/sh_noise/sh_noise.yy",},"order":16,},
|
||||||
{"id":{"name":"sh_skew","path":"shaders/sh_skew/sh_skew.yy",},"order":6,},
|
{"id":{"name":"sh_skew","path":"shaders/sh_skew/sh_skew.yy",},"order":6,},
|
||||||
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},"order":14,},
|
{"id":{"name":"node_VFX_effect_destroy","path":"scripts/node_VFX_effect_destroy/node_VFX_effect_destroy.yy",},"order":12,},
|
||||||
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},"order":1,},
|
{"id":{"name":"sh_bw","path":"shaders/sh_bw/sh_bw.yy",},"order":1,},
|
||||||
{"id":{"name":"real_comparison","path":"scripts/real_comparison/real_comparison.yy",},"order":1,},
|
{"id":{"name":"real_comparison","path":"scripts/real_comparison/real_comparison.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_stripe","path":"sprites/s_node_stripe/s_node_stripe.yy",},"order":16,},
|
{"id":{"name":"s_node_stripe","path":"sprites/s_node_stripe/s_node_stripe.yy",},"order":16,},
|
||||||
|
@ -252,9 +259,9 @@
|
||||||
{"id":{"name":"sh_threshold","path":"shaders/sh_threshold/sh_threshold.yy",},"order":48,},
|
{"id":{"name":"sh_threshold","path":"shaders/sh_threshold/sh_threshold.yy",},"order":48,},
|
||||||
{"id":{"name":"ac_flash","path":"animcurves/ac_flash/ac_flash.yy",},"order":0,},
|
{"id":{"name":"ac_flash","path":"animcurves/ac_flash/ac_flash.yy",},"order":0,},
|
||||||
{"id":{"name":"o_dialog_drag_folder","path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},"order":2,},
|
{"id":{"name":"o_dialog_drag_folder","path":"objects/o_dialog_drag_folder/o_dialog_drag_folder.yy",},"order":2,},
|
||||||
{"id":{"name":"node_VFX_effect_repel","path":"scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy",},"order":11,},
|
{"id":{"name":"node_VFX_effect_repel","path":"scripts/node_VFX_effect_repel/node_VFX_effect_repel.yy",},"order":9,},
|
||||||
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},"order":1,},
|
{"id":{"name":"s_node_alpha_cut","path":"sprites/s_node_alpha_cut/s_node_alpha_cut.yy",},"order":1,},
|
||||||
{"id":{"name":"node_VFX_effect_attract","path":"scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy",},"order":10,},
|
{"id":{"name":"node_VFX_effect_attract","path":"scripts/node_VFX_effect_attract/node_VFX_effect_attract.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_text_splice","path":"sprites/s_node_text_splice/s_node_text_splice.yy",},"order":17,},
|
{"id":{"name":"s_node_text_splice","path":"sprites/s_node_text_splice/s_node_text_splice.yy",},"order":17,},
|
||||||
{"id":{"name":"sh_blend_multiply_alpha","path":"shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy",},"order":4,},
|
{"id":{"name":"sh_blend_multiply_alpha","path":"shaders/sh_blend_multiply_alpha/sh_blend_multiply_alpha.yy",},"order":4,},
|
||||||
{"id":{"name":"node_3d_object_transform","path":"scripts/node_3d_object_transform/node_3d_object_transform.yy",},"order":11,},
|
{"id":{"name":"node_3d_object_transform","path":"scripts/node_3d_object_transform/node_3d_object_transform.yy",},"order":11,},
|
||||||
|
@ -271,11 +278,13 @@
|
||||||
{"id":{"name":"node_palette","path":"scripts/node_palette/node_palette.yy",},"order":2,},
|
{"id":{"name":"node_palette","path":"scripts/node_palette/node_palette.yy",},"order":2,},
|
||||||
{"id":{"name":"buttonColor","path":"scripts/buttonColor/buttonColor.yy",},"order":3,},
|
{"id":{"name":"buttonColor","path":"scripts/buttonColor/buttonColor.yy",},"order":3,},
|
||||||
{"id":{"name":"notification_system","path":"scripts/notification_system/notification_system.yy",},"order":6,},
|
{"id":{"name":"notification_system","path":"scripts/notification_system/notification_system.yy",},"order":6,},
|
||||||
|
{"id":{"name":"sh_shadow_cast","path":"shaders/sh_shadow_cast/sh_shadow_cast.yy",},"order":0,},
|
||||||
{"id":{"name":"node_color_from_hsv","path":"scripts/node_color_from_hsv/node_color_from_hsv.yy",},"order":6,},
|
{"id":{"name":"node_color_from_hsv","path":"scripts/node_color_from_hsv/node_color_from_hsv.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_image_copy","path":"sprites/s_node_image_copy/s_node_image_copy.yy",},"order":6,},
|
{"id":{"name":"s_node_image_copy","path":"sprites/s_node_image_copy/s_node_image_copy.yy",},"order":6,},
|
||||||
{"id":{"name":"node_boolean","path":"scripts/node_boolean/node_boolean.yy",},"order":17,},
|
{"id":{"name":"node_boolean","path":"scripts/node_boolean/node_boolean.yy",},"order":17,},
|
||||||
{"id":{"name":"node_grid_tri","path":"scripts/node_grid_tri/node_grid_tri.yy",},"order":21,},
|
{"id":{"name":"node_grid_tri","path":"scripts/node_grid_tri/node_grid_tri.yy",},"order":21,},
|
||||||
{"id":{"name":"window_command_hook","path":"extensions/window_command_hook/window_command_hook.yy",},"order":6,},
|
{"id":{"name":"window_command_hook","path":"extensions/window_command_hook/window_command_hook.yy",},"order":6,},
|
||||||
|
{"id":{"name":"node_average","path":"scripts/node_average/node_average.yy",},"order":56,},
|
||||||
{"id":{"name":"slider","path":"scripts/slider/slider.yy",},"order":15,},
|
{"id":{"name":"slider","path":"scripts/slider/slider.yy",},"order":15,},
|
||||||
{"id":{"name":"s_node_convolution","path":"sprites/s_node_convolution/s_node_convolution.yy",},"order":46,},
|
{"id":{"name":"s_node_convolution","path":"sprites/s_node_convolution/s_node_convolution.yy",},"order":46,},
|
||||||
{"id":{"name":"node_9slice","path":"scripts/node_9slice/node_9slice.yy",},"order":6,},
|
{"id":{"name":"node_9slice","path":"scripts/node_9slice/node_9slice.yy",},"order":6,},
|
||||||
|
@ -305,6 +314,7 @@
|
||||||
{"id":{"name":"node_noise_simplex","path":"scripts/node_noise_simplex/node_noise_simplex.yy",},"order":23,},
|
{"id":{"name":"node_noise_simplex","path":"scripts/node_noise_simplex/node_noise_simplex.yy",},"order":23,},
|
||||||
{"id":{"name":"ds_list","path":"scripts/ds_list/ds_list.yy",},"order":1,},
|
{"id":{"name":"ds_list","path":"scripts/ds_list/ds_list.yy",},"order":1,},
|
||||||
{"id":{"name":"o_dialog_gradient","path":"objects/o_dialog_gradient/o_dialog_gradient.yy",},"order":1,},
|
{"id":{"name":"o_dialog_gradient","path":"objects/o_dialog_gradient/o_dialog_gradient.yy",},"order":1,},
|
||||||
|
{"id":{"name":"sh_channel_R_grey","path":"shaders/sh_channel_R_grey/sh_channel_R_grey.yy",},"order":7,},
|
||||||
{"id":{"name":"sh_blend_subtract","path":"shaders/sh_blend_subtract/sh_blend_subtract.yy",},"order":5,},
|
{"id":{"name":"sh_blend_subtract","path":"shaders/sh_blend_subtract/sh_blend_subtract.yy",},"order":5,},
|
||||||
{"id":{"name":"o_dialog_file_name","path":"objects/o_dialog_file_name/o_dialog_file_name.yy",},"order":0,},
|
{"id":{"name":"o_dialog_file_name","path":"objects/o_dialog_file_name/o_dialog_file_name.yy",},"order":0,},
|
||||||
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},"order":4,},
|
{"id":{"name":"panel_animation","path":"scripts/panel_animation/panel_animation.yy",},"order":4,},
|
||||||
|
@ -317,13 +327,14 @@
|
||||||
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":20,},
|
{"id":{"name":"sh_posterize","path":"shaders/sh_posterize/sh_posterize.yy",},"order":20,},
|
||||||
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},"order":3,},
|
{"id":{"name":"s_node_mirror","path":"sprites/s_node_mirror/s_node_mirror.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_blur_simple","path":"sprites/s_node_blur_simple/s_node_blur_simple.yy",},"order":41,},
|
{"id":{"name":"s_node_blur_simple","path":"sprites/s_node_blur_simple/s_node_blur_simple.yy",},"order":41,},
|
||||||
{"id":{"name":"node_VFX_spawner","path":"scripts/node_VFX_spawner/node_VFX_spawner.yy",},"order":2,},
|
{"id":{"name":"node_VFX_spawner","path":"scripts/node_VFX_spawner/node_VFX_spawner.yy",},"order":1,},
|
||||||
{"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":3,},
|
{"id":{"name":"libfilesystem","path":"extensions/libfilesystem/libfilesystem.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_equation","path":"sprites/s_node_equation/s_node_equation.yy",},"order":22,},
|
{"id":{"name":"s_node_equation","path":"sprites/s_node_equation/s_node_equation.yy",},"order":22,},
|
||||||
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":4,},
|
{"id":{"name":"sh_color_replace","path":"shaders/sh_color_replace/sh_color_replace.yy",},"order":4,},
|
||||||
{"id":{"name":"Apollo","path":"extensions/Apollo/Apollo.yy",},"order":8,},
|
{"id":{"name":"Apollo","path":"extensions/Apollo/Apollo.yy",},"order":8,},
|
||||||
{"id":{"name":"rotator","path":"scripts/rotator/rotator.yy",},"order":11,},
|
{"id":{"name":"rotator","path":"scripts/rotator/rotator.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_edge_detect","path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},"order":20,},
|
{"id":{"name":"s_node_edge_detect","path":"sprites/s_node_edge_detect/s_node_edge_detect.yy",},"order":20,},
|
||||||
|
{"id":{"name":"fontScrollBox","path":"scripts/fontScrollBox/fontScrollBox.yy",},"order":26,},
|
||||||
{"id":{"name":"node_grid_hex","path":"scripts/node_grid_hex/node_grid_hex.yy",},"order":22,},
|
{"id":{"name":"node_grid_hex","path":"scripts/node_grid_hex/node_grid_hex.yy",},"order":22,},
|
||||||
{"id":{"name":"s_node_text_display","path":"sprites/s_node_text_display/s_node_text_display.yy",},"order":19,},
|
{"id":{"name":"s_node_text_display","path":"sprites/s_node_text_display/s_node_text_display.yy",},"order":19,},
|
||||||
{"id":{"name":"luaRenderer","path":"scripts/luaRenderer/luaRenderer.yy",},"order":2,},
|
{"id":{"name":"luaRenderer","path":"scripts/luaRenderer/luaRenderer.yy",},"order":2,},
|
||||||
|
@ -336,19 +347,21 @@
|
||||||
{"id":{"name":"sh_shape","path":"shaders/sh_shape/sh_shape.yy",},"order":3,},
|
{"id":{"name":"sh_shape","path":"shaders/sh_shape/sh_shape.yy",},"order":3,},
|
||||||
{"id":{"name":"draw_line_width2","path":"scripts/draw_line_width2/draw_line_width2.yy",},"order":2,},
|
{"id":{"name":"draw_line_width2","path":"scripts/draw_line_width2/draw_line_width2.yy",},"order":2,},
|
||||||
{"id":{"name":"matrixGrid","path":"scripts/matrixGrid/matrixGrid.yy",},"order":23,},
|
{"id":{"name":"matrixGrid","path":"scripts/matrixGrid/matrixGrid.yy",},"order":23,},
|
||||||
{"id":{"name":"_node_VFX_effector","path":"scripts/_node_VFX_effector/_node_VFX_effector.yy",},"order":1,},
|
{"id":{"name":"ase_object","path":"scripts/ase_object/ase_object.yy",},"order":7,},
|
||||||
|
{"id":{"name":"_node_VFX_effector","path":"scripts/_node_VFX_effector/_node_VFX_effector.yy",},"order":0,},
|
||||||
{"id":{"name":"areaBox","path":"scripts/areaBox/areaBox.yy",},"order":1,},
|
{"id":{"name":"areaBox","path":"scripts/areaBox/areaBox.yy",},"order":1,},
|
||||||
{"id":{"name":"node_noise_grid_hex","path":"scripts/node_noise_grid_hex/node_noise_grid_hex.yy",},"order":24,},
|
{"id":{"name":"node_noise_grid_hex","path":"scripts/node_noise_grid_hex/node_noise_grid_hex.yy",},"order":24,},
|
||||||
{"id":{"name":"node_lua_global","path":"scripts/node_lua_global/node_lua_global.yy",},"order":6,},
|
{"id":{"name":"node_lua_global","path":"scripts/node_lua_global/node_lua_global.yy",},"order":6,},
|
||||||
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
{"id":{"name":"o_dialog_preset","path":"objects/o_dialog_preset/o_dialog_preset.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":21,},
|
{"id":{"name":"s_node_erode","path":"sprites/s_node_erode/s_node_erode.yy",},"order":21,},
|
||||||
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":19,},
|
{"id":{"name":"node_particle","path":"scripts/node_particle/node_particle.yy",},"order":14,},
|
||||||
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
{"id":{"name":"level_histogram","path":"scripts/level_histogram/level_histogram.yy",},"order":1,},
|
||||||
{"id":{"name":"node_array_range","path":"scripts/node_array_range/node_array_range.yy",},"order":12,},
|
{"id":{"name":"node_array_range","path":"scripts/node_array_range/node_array_range.yy",},"order":12,},
|
||||||
{"id":{"name":"o_dialog_graph_grid","path":"objects/o_dialog_graph_grid/o_dialog_graph_grid.yy",},"order":3,},
|
{"id":{"name":"o_dialog_graph_grid","path":"objects/o_dialog_graph_grid/o_dialog_graph_grid.yy",},"order":3,},
|
||||||
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},"order":1,},
|
{"id":{"name":"append_function","path":"scripts/append_function/append_function.yy",},"order":1,},
|
||||||
{"id":{"name":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},"order":2,},
|
{"id":{"name":"obj_reader","path":"scripts/obj_reader/obj_reader.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_invert","path":"shaders/sh_invert/sh_invert.yy",},"order":27,},
|
{"id":{"name":"sh_invert","path":"shaders/sh_invert/sh_invert.yy",},"order":27,},
|
||||||
|
{"id":{"name":"preview_overlay_puppet","path":"scripts/preview_overlay_puppet/preview_overlay_puppet.yy",},"order":4,},
|
||||||
{"id":{"name":"save_function","path":"scripts/save_function/save_function.yy",},"order":0,},
|
{"id":{"name":"save_function","path":"scripts/save_function/save_function.yy",},"order":0,},
|
||||||
{"id":{"name":"node_perlin_smear","path":"scripts/node_perlin_smear/node_perlin_smear.yy",},"order":6,},
|
{"id":{"name":"node_perlin_smear","path":"scripts/node_perlin_smear/node_perlin_smear.yy",},"order":6,},
|
||||||
{"id":{"name":"node_alpha_cutoff","path":"scripts/node_alpha_cutoff/node_alpha_cutoff.yy",},"order":37,},
|
{"id":{"name":"node_alpha_cutoff","path":"scripts/node_alpha_cutoff/node_alpha_cutoff.yy",},"order":37,},
|
||||||
|
@ -359,10 +372,13 @@
|
||||||
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},"order":2,},
|
{"id":{"name":"point_rect_overlap","path":"scripts/point_rect_overlap/point_rect_overlap.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},"order":4,},
|
{"id":{"name":"s_node_bevel","path":"sprites/s_node_bevel/s_node_bevel.yy",},"order":4,},
|
||||||
{"id":{"name":"color_selector","path":"scripts/color_selector/color_selector.yy",},"order":4,},
|
{"id":{"name":"color_selector","path":"scripts/color_selector/color_selector.yy",},"order":4,},
|
||||||
{"id":{"name":"node_VFX_effect_turbulence","path":"scripts/node_VFX_effect_turbulence/node_VFX_effect_turbulence.yy",},"order":13,},
|
{"id":{"name":"node_VFX_effect_turbulence","path":"scripts/node_VFX_effect_turbulence/node_VFX_effect_turbulence.yy",},"order":11,},
|
||||||
|
{"id":{"name":"node_ase_file_read","path":"scripts/node_ase_file_read/node_ase_file_read.yy",},"order":14,},
|
||||||
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
{"id":{"name":"sh_seperate_shape_counter","path":"shaders/sh_seperate_shape_counter/sh_seperate_shape_counter.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":35,},
|
{"id":{"name":"s_node_stack","path":"sprites/s_node_stack/s_node_stack.yy",},"order":35,},
|
||||||
|
{"id":{"name":"s_node_text_char_get","path":"sprites/s_node_text_char_get/s_node_text_char_get.yy",},"order":23,},
|
||||||
{"id":{"name":"node_timeline_preview","path":"scripts/node_timeline_preview/node_timeline_preview.yy",},"order":2,},
|
{"id":{"name":"node_timeline_preview","path":"scripts/node_timeline_preview/node_timeline_preview.yy",},"order":2,},
|
||||||
|
{"id":{"name":"o_dialog_fontscrollbox","path":"objects/o_dialog_fontscrollbox/o_dialog_fontscrollbox.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_vfx_output","path":"sprites/s_node_vfx_output/s_node_vfx_output.yy",},"order":11,},
|
{"id":{"name":"s_node_vfx_output","path":"sprites/s_node_vfx_output/s_node_vfx_output.yy",},"order":11,},
|
||||||
{"id":{"name":"sh_greyscale","path":"shaders/sh_greyscale/sh_greyscale.yy",},"order":6,},
|
{"id":{"name":"sh_greyscale","path":"shaders/sh_greyscale/sh_greyscale.yy",},"order":6,},
|
||||||
{"id":{"name":"node_global","path":"scripts/node_global/node_global.yy",},"order":3,},
|
{"id":{"name":"node_global","path":"scripts/node_global/node_global.yy",},"order":3,},
|
||||||
|
@ -383,10 +399,12 @@
|
||||||
{"id":{"name":"s_node_array_get","path":"sprites/s_node_array_get/s_node_array_get.yy",},"order":11,},
|
{"id":{"name":"s_node_array_get","path":"sprites/s_node_array_get/s_node_array_get.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_BW","path":"sprites/s_node_BW/s_node_BW.yy",},"order":11,},
|
{"id":{"name":"s_node_BW","path":"sprites/s_node_BW/s_node_BW.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_compare","path":"sprites/s_node_compare/s_node_compare.yy",},"order":20,},
|
{"id":{"name":"s_node_compare","path":"sprites/s_node_compare/s_node_compare.yy",},"order":20,},
|
||||||
|
{"id":{"name":"sh_camera","path":"shaders/sh_camera/sh_camera.yy",},"order":43,},
|
||||||
{"id":{"name":"s_node_vfx_spawn","path":"sprites/s_node_vfx_spawn/s_node_vfx_spawn.yy",},"order":2,},
|
{"id":{"name":"s_node_vfx_spawn","path":"sprites/s_node_vfx_spawn/s_node_vfx_spawn.yy",},"order":2,},
|
||||||
{"id":{"name":"node_shadow","path":"scripts/node_shadow/node_shadow.yy",},"order":17,},
|
{"id":{"name":"node_shadow","path":"scripts/node_shadow/node_shadow.yy",},"order":17,},
|
||||||
{"id":{"name":"s_node_color_data","path":"sprites/s_node_color_data/s_node_color_data.yy",},"order":2,},
|
{"id":{"name":"s_node_color_data","path":"sprites/s_node_color_data/s_node_color_data.yy",},"order":2,},
|
||||||
{"id":{"name":"node_simple_shape","path":"scripts/node_simple_shape/node_simple_shape.yy",},"order":4,},
|
{"id":{"name":"node_simple_shape","path":"scripts/node_simple_shape/node_simple_shape.yy",},"order":4,},
|
||||||
|
{"id":{"name":"node_random","path":"scripts/node_random/node_random.yy",},"order":20,},
|
||||||
{"id":{"name":"sh_channel_A","path":"shaders/sh_channel_A/sh_channel_A.yy",},"order":0,},
|
{"id":{"name":"sh_channel_A","path":"shaders/sh_channel_A/sh_channel_A.yy",},"order":0,},
|
||||||
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},"order":42,},
|
{"id":{"name":"node_atlas","path":"scripts/node_atlas/node_atlas.yy",},"order":42,},
|
||||||
{"id":{"name":"s_node_feedback","path":"sprites/s_node_feedback/s_node_feedback.yy",},"order":3,},
|
{"id":{"name":"s_node_feedback","path":"sprites/s_node_feedback/s_node_feedback.yy",},"order":3,},
|
||||||
|
@ -398,12 +416,14 @@
|
||||||
{"id":{"name":"s_node_twirl","path":"sprites/s_node_twirl/s_node_twirl.yy",},"order":39,},
|
{"id":{"name":"s_node_twirl","path":"sprites/s_node_twirl/s_node_twirl.yy",},"order":39,},
|
||||||
{"id":{"name":"sh_2d_light","path":"shaders/sh_2d_light/sh_2d_light.yy",},"order":11,},
|
{"id":{"name":"sh_2d_light","path":"shaders/sh_2d_light/sh_2d_light.yy",},"order":11,},
|
||||||
{"id":{"name":"node_image_animated","path":"scripts/node_image_animated/node_image_animated.yy",},"order":2,},
|
{"id":{"name":"node_image_animated","path":"scripts/node_image_animated/node_image_animated.yy",},"order":2,},
|
||||||
|
{"id":{"name":"node_palette_extract","path":"scripts/node_palette_extract/node_palette_extract.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_solid","path":"sprites/s_node_solid/s_node_solid.yy",},"order":15,},
|
{"id":{"name":"s_node_solid","path":"sprites/s_node_solid/s_node_solid.yy",},"order":15,},
|
||||||
{"id":{"name":"string_hexadecimal","path":"scripts/string_hexadecimal/string_hexadecimal.yy",},"order":1,},
|
{"id":{"name":"string_hexadecimal","path":"scripts/string_hexadecimal/string_hexadecimal.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_camera","path":"sprites/s_node_camera/s_node_camera.yy",},"order":3,},
|
{"id":{"name":"s_node_camera","path":"sprites/s_node_camera/s_node_camera.yy",},"order":3,},
|
||||||
{"id":{"name":"sh_vertex_pnt_light","path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},"order":4,},
|
{"id":{"name":"sh_vertex_pnt_light","path":"shaders/sh_vertex_pnt_light/sh_vertex_pnt_light.yy",},"order":4,},
|
||||||
{"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},"order":22,},
|
{"id":{"name":"surfaceBox","path":"scripts/surfaceBox/surfaceBox.yy",},"order":22,},
|
||||||
{"id":{"name":"s_node_csv_file_read","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},"order":12,},
|
{"id":{"name":"s_node_csv_file_read","path":"sprites/s_node_csv_file_read/s_node_csv_file_read.yy",},"order":12,},
|
||||||
|
{"id":{"name":"s_node_repeat","path":"sprites/s_node_repeat/s_node_repeat.yy",},"order":23,},
|
||||||
{"id":{"name":"s_node_array_length","path":"sprites/s_node_array_length/s_node_array_length.yy",},"order":12,},
|
{"id":{"name":"s_node_array_length","path":"sprites/s_node_array_length/s_node_array_length.yy",},"order":12,},
|
||||||
{"id":{"name":"string_splice","path":"scripts/string_splice/string_splice.yy",},"order":5,},
|
{"id":{"name":"string_splice","path":"scripts/string_splice/string_splice.yy",},"order":5,},
|
||||||
{"id":{"name":"s_node_vfx_input","path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},"order":12,},
|
{"id":{"name":"s_node_vfx_input","path":"sprites/s_node_vfx_input/s_node_vfx_input.yy",},"order":12,},
|
||||||
|
@ -413,7 +433,8 @@
|
||||||
{"id":{"name":"sh_convolution","path":"shaders/sh_convolution/sh_convolution.yy",},"order":50,},
|
{"id":{"name":"sh_convolution","path":"shaders/sh_convolution/sh_convolution.yy",},"order":50,},
|
||||||
{"id":{"name":"s_node_statistic","path":"sprites/s_node_statistic/s_node_statistic.yy",},"order":4,},
|
{"id":{"name":"s_node_statistic","path":"sprites/s_node_statistic/s_node_statistic.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_blend_alpha_addition","path":"shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy",},"order":13,},
|
{"id":{"name":"sh_blend_alpha_addition","path":"shaders/sh_blend_alpha_addition/sh_blend_alpha_addition.yy",},"order":13,},
|
||||||
{"id":{"name":"node_VFX_effect_vortex","path":"scripts/node_VFX_effect_vortex/node_VFX_effect_vortex.yy",},"order":12,},
|
{"id":{"name":"widget","path":"scripts/widget/widget.yy",},"order":25,},
|
||||||
|
{"id":{"name":"node_VFX_effect_vortex","path":"scripts/node_VFX_effect_vortex/node_VFX_effect_vortex.yy",},"order":10,},
|
||||||
{"id":{"name":"s_node_skew","path":"sprites/s_node_skew/s_node_skew.yy",},"order":11,},
|
{"id":{"name":"s_node_skew","path":"sprites/s_node_skew/s_node_skew.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_feedback_input","path":"sprites/s_node_feedback_input/s_node_feedback_input.yy",},"order":10,},
|
{"id":{"name":"s_node_feedback_input","path":"sprites/s_node_feedback_input/s_node_feedback_input.yy",},"order":10,},
|
||||||
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":8,},
|
{"id":{"name":"s_node_noise","path":"sprites/s_node_noise/s_node_noise.yy",},"order":8,},
|
||||||
|
@ -429,9 +450,11 @@
|
||||||
{"id":{"name":"s_node_vec2","path":"sprites/s_node_vec2/s_node_vec2.yy",},"order":6,},
|
{"id":{"name":"s_node_vec2","path":"sprites/s_node_vec2/s_node_vec2.yy",},"order":6,},
|
||||||
{"id":{"name":"node_twirl","path":"scripts/node_twirl/node_twirl.yy",},"order":30,},
|
{"id":{"name":"node_twirl","path":"scripts/node_twirl/node_twirl.yy",},"order":30,},
|
||||||
{"id":{"name":"s_node_decorner","path":"sprites/s_node_decorner/s_node_decorner.yy",},"order":15,},
|
{"id":{"name":"s_node_decorner","path":"sprites/s_node_decorner/s_node_decorner.yy",},"order":15,},
|
||||||
|
{"id":{"name":"s_node_text_combine","path":"sprites/s_node_text_combine/s_node_text_combine.yy",},"order":25,},
|
||||||
{"id":{"name":"s_node_gradient","path":"sprites/s_node_gradient/s_node_gradient.yy",},"order":1,},
|
{"id":{"name":"s_node_gradient","path":"sprites/s_node_gradient/s_node_gradient.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_padding","path":"sprites/s_node_padding/s_node_padding.yy",},"order":4,},
|
{"id":{"name":"s_node_padding","path":"sprites/s_node_padding/s_node_padding.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_blend_add_alpha_adj","path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},"order":2,},
|
{"id":{"name":"sh_blend_add_alpha_adj","path":"shaders/sh_blend_add_alpha_adj/sh_blend_add_alpha_adj.yy",},"order":2,},
|
||||||
|
{"id":{"name":"preview_overlay_area","path":"scripts/preview_overlay_area/preview_overlay_area.yy",},"order":3,},
|
||||||
{"id":{"name":"node_text","path":"scripts/node_text/node_text.yy",},"order":10,},
|
{"id":{"name":"node_text","path":"scripts/node_text/node_text.yy",},"order":10,},
|
||||||
{"id":{"name":"panel_collection","path":"scripts/panel_collection/panel_collection.yy",},"order":7,},
|
{"id":{"name":"panel_collection","path":"scripts/panel_collection/panel_collection.yy",},"order":7,},
|
||||||
{"id":{"name":"node_string_trim","path":"scripts/node_string_trim/node_string_trim.yy",},"order":15,},
|
{"id":{"name":"node_string_trim","path":"scripts/node_string_trim/node_string_trim.yy",},"order":15,},
|
||||||
|
@ -455,10 +478,10 @@
|
||||||
{"id":{"name":"s_node_loop_output","path":"sprites/s_node_loop_output/s_node_loop_output.yy",},"order":13,},
|
{"id":{"name":"s_node_loop_output","path":"sprites/s_node_loop_output/s_node_loop_output.yy",},"order":13,},
|
||||||
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
{"id":{"name":"_p_dialog","path":"objects/_p_dialog/_p_dialog.yy",},"order":0,},
|
||||||
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
{"id":{"name":"render_data","path":"scripts/render_data/render_data.yy",},"order":2,},
|
||||||
{"id":{"name":"_node_VFX","path":"scripts/_node_VFX/_node_VFX.yy",},"order":4,},
|
|
||||||
{"id":{"name":"addon_key_displayer","path":"objects/addon_key_displayer/addon_key_displayer.yy",},"order":0,},
|
{"id":{"name":"addon_key_displayer","path":"objects/addon_key_displayer/addon_key_displayer.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_blur_directional","path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},"order":9,},
|
{"id":{"name":"s_node_blur_directional","path":"sprites/s_node_blur_directional/s_node_blur_directional.yy",},"order":9,},
|
||||||
{"id":{"name":"distance_to_line","path":"scripts/distance_to_line/distance_to_line.yy",},"order":0,},
|
{"id":{"name":"distance_to_line","path":"scripts/distance_to_line/distance_to_line.yy",},"order":0,},
|
||||||
|
{"id":{"name":"s_node_average","path":"sprites/s_node_average/s_node_average.yy",},"order":48,},
|
||||||
{"id":{"name":"s_node_sprite_sheet","path":"sprites/s_node_sprite_sheet/s_node_sprite_sheet.yy",},"order":1,},
|
{"id":{"name":"s_node_sprite_sheet","path":"sprites/s_node_sprite_sheet/s_node_sprite_sheet.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_grid_hex","path":"sprites/s_node_grid_hex/s_node_grid_hex.yy",},"order":4,},
|
{"id":{"name":"s_node_grid_hex","path":"sprites/s_node_grid_hex/s_node_grid_hex.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_3d_cube","path":"sprites/s_node_3d_cube/s_node_3d_cube.yy",},"order":0,},
|
{"id":{"name":"s_node_3d_cube","path":"sprites/s_node_3d_cube/s_node_3d_cube.yy",},"order":0,},
|
||||||
|
@ -494,6 +517,7 @@
|
||||||
{"id":{"name":"node_sprite_sheet","path":"scripts/node_sprite_sheet/node_sprite_sheet.yy",},"order":0,},
|
{"id":{"name":"node_sprite_sheet","path":"scripts/node_sprite_sheet/node_sprite_sheet.yy",},"order":0,},
|
||||||
{"id":{"name":"value_snap","path":"scripts/value_snap/value_snap.yy",},"order":10,},
|
{"id":{"name":"value_snap","path":"scripts/value_snap/value_snap.yy",},"order":10,},
|
||||||
{"id":{"name":"compat_path_array","path":"scripts/compat_path_array/compat_path_array.yy",},"order":0,},
|
{"id":{"name":"compat_path_array","path":"scripts/compat_path_array/compat_path_array.yy",},"order":0,},
|
||||||
|
{"id":{"name":"sh_mirror_mask","path":"shaders/sh_mirror_mask/sh_mirror_mask.yy",},"order":8,},
|
||||||
{"id":{"name":"node_export","path":"scripts/node_export/node_export.yy",},"order":10,},
|
{"id":{"name":"node_export","path":"scripts/node_export/node_export.yy",},"order":10,},
|
||||||
{"id":{"name":"controlPointBox","path":"scripts/controlPointBox/controlPointBox.yy",},"order":21,},
|
{"id":{"name":"controlPointBox","path":"scripts/controlPointBox/controlPointBox.yy",},"order":21,},
|
||||||
{"id":{"name":"sh_vertex_pt","path":"shaders/sh_vertex_pt/sh_vertex_pt.yy",},"order":2,},
|
{"id":{"name":"sh_vertex_pt","path":"shaders/sh_vertex_pt/sh_vertex_pt.yy",},"order":2,},
|
||||||
|
@ -518,6 +542,7 @@
|
||||||
{"id":{"name":"sh_gradient_points","path":"shaders/sh_gradient_points/sh_gradient_points.yy",},"order":19,},
|
{"id":{"name":"sh_gradient_points","path":"shaders/sh_gradient_points/sh_gradient_points.yy",},"order":19,},
|
||||||
{"id":{"name":"s_node_vfx_turb","path":"sprites/s_node_vfx_turb/s_node_vfx_turb.yy",},"order":5,},
|
{"id":{"name":"s_node_vfx_turb","path":"sprites/s_node_vfx_turb/s_node_vfx_turb.yy",},"order":5,},
|
||||||
{"id":{"name":"GmlLua","path":"scripts/GmlLua/GmlLua.yy",},"order":0,},
|
{"id":{"name":"GmlLua","path":"scripts/GmlLua/GmlLua.yy",},"order":0,},
|
||||||
|
{"id":{"name":"sh_shadow_cast_light_sep","path":"shaders/sh_shadow_cast_light_sep/sh_shadow_cast_light_sep.yy",},"order":1,},
|
||||||
{"id":{"name":"node_grid","path":"scripts/node_grid/node_grid.yy",},"order":16,},
|
{"id":{"name":"node_grid","path":"scripts/node_grid/node_grid.yy",},"order":16,},
|
||||||
{"id":{"name":"node_edge_detect","path":"scripts/node_edge_detect/node_edge_detect.yy",},"order":44,},
|
{"id":{"name":"node_edge_detect","path":"scripts/node_edge_detect/node_edge_detect.yy",},"order":44,},
|
||||||
{"id":{"name":"node_anim_priority","path":"scripts/node_anim_priority/node_anim_priority.yy",},"order":2,},
|
{"id":{"name":"node_anim_priority","path":"scripts/node_anim_priority/node_anim_priority.yy",},"order":2,},
|
||||||
|
@ -544,6 +569,7 @@
|
||||||
{"id":{"name":"scrollPane","path":"scripts/scrollPane/scrollPane.yy",},"order":14,},
|
{"id":{"name":"scrollPane","path":"scripts/scrollPane/scrollPane.yy",},"order":14,},
|
||||||
{"id":{"name":"s_node_normal_light","path":"sprites/s_node_normal_light/s_node_normal_light.yy",},"order":29,},
|
{"id":{"name":"s_node_normal_light","path":"sprites/s_node_normal_light/s_node_normal_light.yy",},"order":29,},
|
||||||
{"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},"order":1,},
|
{"id":{"name":"node_transform_single","path":"scripts/node_transform_single/node_transform_single.yy",},"order":1,},
|
||||||
|
{"id":{"name":"preview_overlay_scalar","path":"scripts/preview_overlay_scalar/preview_overlay_scalar.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":2,},
|
{"id":{"name":"s_node_3d_extrude","path":"sprites/s_node_3d_extrude/s_node_3d_extrude.yy",},"order":2,},
|
||||||
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
{"id":{"name":"buttonGradient","path":"scripts/buttonGradient/buttonGradient.yy",},"order":4,},
|
||||||
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":36,},
|
{"id":{"name":"s_node_texture_map","path":"sprites/s_node_texture_map/s_node_texture_map.yy",},"order":36,},
|
||||||
|
@ -563,6 +589,7 @@
|
||||||
{"id":{"name":"sh_grid_tri","path":"shaders/sh_grid_tri/sh_grid_tri.yy",},"order":20,},
|
{"id":{"name":"sh_grid_tri","path":"shaders/sh_grid_tri/sh_grid_tri.yy",},"order":20,},
|
||||||
{"id":{"name":"s_node_text","path":"sprites/s_node_text/s_node_text.yy",},"order":16,},
|
{"id":{"name":"s_node_text","path":"sprites/s_node_text/s_node_text.yy",},"order":16,},
|
||||||
{"id":{"name":"panel_menu","path":"scripts/panel_menu/panel_menu.yy",},"order":2,},
|
{"id":{"name":"panel_menu","path":"scripts/panel_menu/panel_menu.yy",},"order":2,},
|
||||||
|
{"id":{"name":"s_node_ase_file","path":"sprites/s_node_ase_file/s_node_ase_file.yy",},"order":18,},
|
||||||
{"id":{"name":"draw_line_round","path":"scripts/draw_line_round/draw_line_round.yy",},"order":4,},
|
{"id":{"name":"draw_line_round","path":"scripts/draw_line_round/draw_line_round.yy",},"order":4,},
|
||||||
{"id":{"name":"vectorBox","path":"scripts/vectorBox/vectorBox.yy",},"order":18,},
|
{"id":{"name":"vectorBox","path":"scripts/vectorBox/vectorBox.yy",},"order":18,},
|
||||||
{"id":{"name":"sh_blend_normal_dim","path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},"order":10,},
|
{"id":{"name":"sh_blend_normal_dim","path":"shaders/sh_blend_normal_dim/sh_blend_normal_dim.yy",},"order":10,},
|
||||||
|
@ -579,9 +606,11 @@
|
||||||
{"id":{"name":"s_node_array_add","path":"sprites/s_node_array_add/s_node_array_add.yy",},"order":13,},
|
{"id":{"name":"s_node_array_add","path":"sprites/s_node_array_add/s_node_array_add.yy",},"order":13,},
|
||||||
{"id":{"name":"s_node_counter","path":"sprites/s_node_counter/s_node_counter.yy",},"order":0,},
|
{"id":{"name":"s_node_counter","path":"sprites/s_node_counter/s_node_counter.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_image_sequence_to_anim","path":"sprites/s_node_image_sequence_to_anim/s_node_image_sequence_to_anim.yy",},"order":9,},
|
{"id":{"name":"s_node_image_sequence_to_anim","path":"sprites/s_node_image_sequence_to_anim/s_node_image_sequence_to_anim.yy",},"order":9,},
|
||||||
{"id":{"name":"_node_VFX_spawner","path":"scripts/_node_VFX_spawner/_node_VFX_spawner.yy",},"order":15,},
|
{"id":{"name":"_node_VFX_spawner","path":"scripts/_node_VFX_spawner/_node_VFX_spawner.yy",},"order":13,},
|
||||||
|
{"id":{"name":"sh_channel_B_grey","path":"shaders/sh_channel_B_grey/sh_channel_B_grey.yy",},"order":9,},
|
||||||
{"id":{"name":"draw_UI_scale","path":"scripts/draw_UI_scale/draw_UI_scale.yy",},"order":8,},
|
{"id":{"name":"draw_UI_scale","path":"scripts/draw_UI_scale/draw_UI_scale.yy",},"order":8,},
|
||||||
{"id":{"name":"s_node_RGB_combine","path":"sprites/s_node_RGB_combine/s_node_RGB_combine.yy",},"order":43,},
|
{"id":{"name":"s_node_RGB_combine","path":"sprites/s_node_RGB_combine/s_node_RGB_combine.yy",},"order":43,},
|
||||||
|
{"id":{"name":"s_node_shadow_cast","path":"sprites/s_node_shadow_cast/s_node_shadow_cast.yy",},"order":47,},
|
||||||
{"id":{"name":"path_function","path":"scripts/path_function/path_function.yy",},"order":4,},
|
{"id":{"name":"path_function","path":"scripts/path_function/path_function.yy",},"order":4,},
|
||||||
{"id":{"name":"sh_channel_H","path":"shaders/sh_channel_H/sh_channel_H.yy",},"order":3,},
|
{"id":{"name":"sh_channel_H","path":"shaders/sh_channel_H/sh_channel_H.yy",},"order":3,},
|
||||||
{"id":{"name":"s_node_RGB","path":"sprites/s_node_RGB/s_node_RGB.yy",},"order":32,},
|
{"id":{"name":"s_node_RGB","path":"sprites/s_node_RGB/s_node_RGB.yy",},"order":32,},
|
||||||
|
@ -596,6 +625,7 @@
|
||||||
{"id":{"name":"draw_line_curve","path":"scripts/draw_line_curve/draw_line_curve.yy",},"order":5,},
|
{"id":{"name":"draw_line_curve","path":"scripts/draw_line_curve/draw_line_curve.yy",},"order":5,},
|
||||||
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},"order":3,},
|
{"id":{"name":"sh_blend_screen","path":"shaders/sh_blend_screen/sh_blend_screen.yy",},"order":3,},
|
||||||
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},"order":2,},
|
{"id":{"name":"node_group_output","path":"scripts/node_group_output/node_group_output.yy",},"order":2,},
|
||||||
|
{"id":{"name":"s_node_palette_extract","path":"sprites/s_node_palette_extract/s_node_palette_extract.yy",},"order":11,},
|
||||||
{"id":{"name":"node_palette_replacement","path":"scripts/node_palette_replacement/node_palette_replacement.yy",},"order":54,},
|
{"id":{"name":"node_palette_replacement","path":"scripts/node_palette_replacement/node_palette_replacement.yy",},"order":54,},
|
||||||
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},"order":19,},
|
{"id":{"name":"s_node_scatter","path":"sprites/s_node_scatter/s_node_scatter.yy",},"order":19,},
|
||||||
{"id":{"name":"sh_vertex_depth_pass","path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},"order":6,},
|
{"id":{"name":"sh_vertex_depth_pass","path":"shaders/sh_vertex_depth_pass/sh_vertex_depth_pass.yy",},"order":6,},
|
||||||
|
@ -604,15 +634,18 @@
|
||||||
{"id":{"name":"sh_lum2alpha","path":"shaders/sh_lum2alpha/sh_lum2alpha.yy",},"order":43,},
|
{"id":{"name":"sh_lum2alpha","path":"shaders/sh_lum2alpha/sh_lum2alpha.yy",},"order":43,},
|
||||||
{"id":{"name":"button","path":"scripts/button/button.yy",},"order":2,},
|
{"id":{"name":"button","path":"scripts/button/button.yy",},"order":2,},
|
||||||
{"id":{"name":"s_node_3d_sphere","path":"sprites/s_node_3d_sphere/s_node_3d_sphere.yy",},"order":8,},
|
{"id":{"name":"s_node_3d_sphere","path":"sprites/s_node_3d_sphere/s_node_3d_sphere.yy",},"order":8,},
|
||||||
{"id":{"name":"node_VFX_effector","path":"scripts/node_VFX_effector/node_VFX_effector.yy",},"order":8,},
|
{"id":{"name":"node_VFX_effector","path":"scripts/node_VFX_effector/node_VFX_effector.yy",},"order":6,},
|
||||||
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},"order":0,},
|
{"id":{"name":"sh_blur_gaussian","path":"shaders/sh_blur_gaussian/sh_blur_gaussian.yy",},"order":0,},
|
||||||
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},"order":1,},
|
{"id":{"name":"s_node_3d_cylinder","path":"sprites/s_node_3d_cylinder/s_node_3d_cylinder.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},"order":5,},
|
{"id":{"name":"s_node_vec_split","path":"sprites/s_node_vec_split/s_node_vec_split.yy",},"order":5,},
|
||||||
{"id":{"name":"paddingBox","path":"scripts/paddingBox/paddingBox.yy",},"order":9,},
|
{"id":{"name":"paddingBox","path":"scripts/paddingBox/paddingBox.yy",},"order":9,},
|
||||||
|
{"id":{"name":"s_node_ase_layer","path":"sprites/s_node_ase_layer/s_node_ase_layer.yy",},"order":17,},
|
||||||
{"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},"order":1,},
|
{"id":{"name":"_f_p1","path":"fonts/_f_p1/_f_p1.yy",},"order":1,},
|
||||||
{"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},"order":0,},
|
{"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},"order":0,},
|
||||||
{"id":{"name":"sh_blur_simple","path":"shaders/sh_blur_simple/sh_blur_simple.yy",},"order":6,},
|
{"id":{"name":"sh_blur_simple","path":"shaders/sh_blur_simple/sh_blur_simple.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_image_animation","path":"sprites/s_node_image_animation/s_node_image_animation.yy",},"order":5,},
|
{"id":{"name":"s_node_image_animation","path":"sprites/s_node_image_animation/s_node_image_animation.yy",},"order":5,},
|
||||||
|
{"id":{"name":"node_string_merge","path":"scripts/node_string_merge/node_string_merge.yy",},"order":21,},
|
||||||
|
{"id":{"name":"bin_function","path":"scripts/bin_function/bin_function.yy",},"order":11,},
|
||||||
{"id":{"name":"s_node_feedback_output","path":"sprites/s_node_feedback_output/s_node_feedback_output.yy",},"order":9,},
|
{"id":{"name":"s_node_feedback_output","path":"sprites/s_node_feedback_output/s_node_feedback_output.yy",},"order":9,},
|
||||||
{"id":{"name":"node_3d_combine","path":"scripts/node_3d_combine/node_3d_combine.yy",},"order":10,},
|
{"id":{"name":"node_3d_combine","path":"scripts/node_3d_combine/node_3d_combine.yy",},"order":10,},
|
||||||
{"id":{"name":"draw_line_dashed","path":"scripts/draw_line_dashed/draw_line_dashed.yy",},"order":7,},
|
{"id":{"name":"draw_line_dashed","path":"scripts/draw_line_dashed/draw_line_dashed.yy",},"order":7,},
|
||||||
|
@ -624,6 +657,7 @@
|
||||||
{"id":{"name":"s_node_group_output","path":"sprites/s_node_group_output/s_node_group_output.yy",},"order":15,},
|
{"id":{"name":"s_node_group_output","path":"sprites/s_node_group_output/s_node_group_output.yy",},"order":15,},
|
||||||
{"id":{"name":"sh_channel_S","path":"shaders/sh_channel_S/sh_channel_S.yy",},"order":5,},
|
{"id":{"name":"sh_channel_S","path":"shaders/sh_channel_S/sh_channel_S.yy",},"order":5,},
|
||||||
{"id":{"name":"string_scale","path":"scripts/string_scale/string_scale.yy",},"order":6,},
|
{"id":{"name":"string_scale","path":"scripts/string_scale/string_scale.yy",},"order":6,},
|
||||||
|
{"id":{"name":"node_repeat","path":"scripts/node_repeat/node_repeat.yy",},"order":26,},
|
||||||
{"id":{"name":"s_node_image","path":"sprites/s_node_image/s_node_image.yy",},"order":4,},
|
{"id":{"name":"s_node_image","path":"sprites/s_node_image/s_node_image.yy",},"order":4,},
|
||||||
{"id":{"name":"__node_value_processor","path":"scripts/__node_value_processor/__node_value_processor.yy",},"order":7,},
|
{"id":{"name":"__node_value_processor","path":"scripts/__node_value_processor/__node_value_processor.yy",},"order":7,},
|
||||||
{"id":{"name":"s_node_group_input","path":"sprites/s_node_group_input/s_node_group_input.yy",},"order":16,},
|
{"id":{"name":"s_node_group_input","path":"sprites/s_node_group_input/s_node_group_input.yy",},"order":16,},
|
||||||
|
@ -639,7 +673,7 @@
|
||||||
{"id":{"name":"sh_displace","path":"shaders/sh_displace/sh_displace.yy",},"order":5,},
|
{"id":{"name":"sh_displace","path":"shaders/sh_displace/sh_displace.yy",},"order":5,},
|
||||||
{"id":{"name":"node_group","path":"scripts/node_group/node_group.yy",},"order":0,},
|
{"id":{"name":"node_group","path":"scripts/node_group/node_group.yy",},"order":0,},
|
||||||
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},"order":10,},
|
{"id":{"name":"rangeBox","path":"scripts/rangeBox/rangeBox.yy",},"order":10,},
|
||||||
{"id":{"name":"node_VFX_effect_accelerate","path":"scripts/node_VFX_effect_accelerate/node_VFX_effect_accelerate.yy",},"order":9,},
|
{"id":{"name":"node_VFX_effect_accelerate","path":"scripts/node_VFX_effect_accelerate/node_VFX_effect_accelerate.yy",},"order":7,},
|
||||||
{"id":{"name":"node_frame","path":"scripts/node_frame/node_frame.yy",},"order":1,},
|
{"id":{"name":"node_frame","path":"scripts/node_frame/node_frame.yy",},"order":1,},
|
||||||
{"id":{"name":"s_node_scale_algo","path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",},"order":7,},
|
{"id":{"name":"s_node_scale_algo","path":"sprites/s_node_scale_algo/s_node_scale_algo.yy",},"order":7,},
|
||||||
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":20,},
|
{"id":{"name":"node_bw","path":"scripts/node_bw/node_bw.yy",},"order":20,},
|
||||||
|
@ -672,11 +706,14 @@
|
||||||
{"id":{"name":"node_solid","path":"scripts/node_solid/node_solid.yy",},"order":14,},
|
{"id":{"name":"node_solid","path":"scripts/node_solid/node_solid.yy",},"order":14,},
|
||||||
{"id":{"name":"node_iterator_output","path":"scripts/node_iterator_output/node_iterator_output.yy",},"order":3,},
|
{"id":{"name":"node_iterator_output","path":"scripts/node_iterator_output/node_iterator_output.yy",},"order":3,},
|
||||||
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},"order":9,},
|
{"id":{"name":"debug","path":"scripts/debug/debug.yy",},"order":9,},
|
||||||
|
{"id":{"name":"node_shadow_cast","path":"scripts/node_shadow_cast/node_shadow_cast.yy",},"order":55,},
|
||||||
{"id":{"name":"s_node_3d_obj_combine","path":"sprites/s_node_3d_obj_combine/s_node_3d_obj_combine.yy",},"order":5,},
|
{"id":{"name":"s_node_3d_obj_combine","path":"sprites/s_node_3d_obj_combine/s_node_3d_obj_combine.yy",},"order":5,},
|
||||||
{"id":{"name":"o_dialog_assetbox","path":"objects/o_dialog_assetbox/o_dialog_assetbox.yy",},"order":3,},
|
{"id":{"name":"o_dialog_assetbox","path":"objects/o_dialog_assetbox/o_dialog_assetbox.yy",},"order":3,},
|
||||||
{"id":{"name":"node_lerp","path":"scripts/node_lerp/node_lerp.yy",},"order":6,},
|
{"id":{"name":"node_lerp","path":"scripts/node_lerp/node_lerp.yy",},"order":6,},
|
||||||
{"id":{"name":"s_node_pixel_sort","path":"sprites/s_node_pixel_sort/s_node_pixel_sort.yy",},"order":40,},
|
{"id":{"name":"s_node_pixel_sort","path":"sprites/s_node_pixel_sort/s_node_pixel_sort.yy",},"order":40,},
|
||||||
{"id":{"name":"node_texture_remap","path":"scripts/node_texture_remap/node_texture_remap.yy",},"order":32,},
|
{"id":{"name":"node_texture_remap","path":"scripts/node_texture_remap/node_texture_remap.yy",},"order":32,},
|
||||||
|
{"id":{"name":"node_ase_layer","path":"scripts/node_ase_layer/node_ase_layer.yy",},"order":15,},
|
||||||
|
{"id":{"name":"font_sprite_loader","path":"scripts/font_sprite_loader/font_sprite_loader.yy",},"order":10,},
|
||||||
{"id":{"name":"s_node_noise_aniso","path":"sprites/s_node_noise_aniso/s_node_noise_aniso.yy",},"order":9,},
|
{"id":{"name":"s_node_noise_aniso","path":"sprites/s_node_noise_aniso/s_node_noise_aniso.yy",},"order":9,},
|
||||||
{"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},"order":2,},
|
{"id":{"name":"sh_perlin_tiled","path":"shaders/sh_perlin_tiled/sh_perlin_tiled.yy",},"order":2,},
|
||||||
{"id":{"name":"sh_time_remap","path":"shaders/sh_time_remap/sh_time_remap.yy",},"order":2,},
|
{"id":{"name":"sh_time_remap","path":"shaders/sh_time_remap/sh_time_remap.yy",},"order":2,},
|
||||||
|
@ -776,6 +813,7 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/panels/data.yy","order":9,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"data","folderPath":"folders/panels/data.yy","order":9,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"inspectors","folderPath":"folders/panels/data/inspectors.yy","order":6,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"inspectors","folderPath":"folders/panels/data/inspectors.yy","order":6,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"preview","folderPath":"folders/panels/preview.yy","order":7,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"preview","folderPath":"folders/panels/preview.yy","order":7,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"overlay","folderPath":"folders/panels/preview/overlay.yy","order":4,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shader","folderPath":"folders/shader.yy","order":9,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shader","folderPath":"folders/shader.yy","order":9,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3d","folderPath":"folders/shader/3d.yy","order":29,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"3d","folderPath":"folders/shader/3d.yy","order":29,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blend","folderPath":"folders/shader/blend.yy","order":18,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"blend","folderPath":"folders/shader/blend.yy","order":18,},
|
||||||
|
@ -783,6 +821,7 @@
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"channels","folderPath":"folders/shader/channels.yy","order":42,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"channels","folderPath":"folders/shader/channels.yy","order":42,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/shader/draw.yy","order":39,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"draw","folderPath":"folders/shader/draw.yy","order":39,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/shader/filter.yy","order":30,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"filter","folderPath":"folders/shader/filter.yy","order":30,},
|
||||||
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shadow caster","folderPath":"folders/shader/filter/shadow caster.yy","order":52,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/shader/generator.yy","order":19,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"generator","folderPath":"folders/shader/generator.yy","order":19,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shape seperator","folderPath":"folders/shader/shape seperator.yy","order":35,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"shape seperator","folderPath":"folders/shader/shape seperator.yy","order":35,},
|
||||||
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/shader/sprites.yy","order":20,},
|
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"sprites","folderPath":"folders/shader/sprites.yy","order":20,},
|
||||||
|
@ -949,7 +988,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_rotator_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_rotator_bg.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_anchor_rotate_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_anchor_rotate_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cursor_path_remove.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cursor_path_remove.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_anchor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_anchor_scale_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_anchor_scale_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cursor_path_add.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cursor_path_add.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cursor_path_move.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cursor_path_move.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
|
@ -1006,7 +1044,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ui_panel_active.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ui_panel_active.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ui_panel_bg_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_ui_panel_bg_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_menu_button.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_menu_button.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"A9Rwvus4g_1fk5bwb_iqs.tmp","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_checkbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_checkbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_bg_name.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_bg_name.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_inspector_area_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_inspector_area_strip2.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
|
@ -1038,7 +1075,6 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array_hover.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array_hover.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_node_junctions_array.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_vfx.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_vfx.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"anchor_arrow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"anchor_arrow.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_tick.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_noti_icon_tick.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Assets.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Assets.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
||||||
|
@ -1053,17 +1089,24 @@
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/node",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"FiraCode-Medium.ttf","CopyToMask":-1,"filePath":"datafiles/data/themes/default/fonts",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"FiraCode-Medium.ttf","CopyToMask":-1,"filePath":"datafiles/data/themes/default/fonts",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_code_line.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_textbox_code_line.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_prop_on_end.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_prop_on_end.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"1.png.tmp$$","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"1.png.tmp$$","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_view_group.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_view_group.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_key_display.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_key_display.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/UI",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_ease_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_timeline_ease_strip4.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/timeline",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphic.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_widget_highlight.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/widget",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_prop_area_type.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/inspector",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_file_explorer.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_anchor_solid.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics x2.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_cursor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/icon",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"graphics.ai","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"s_anchor.png","CopyToMask":-1,"filePath":"datafiles/data/themes/default/graphics/preview",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"default.zip","CopyToMask":-1,"filePath":"datafiles/data/themes",},
|
||||||
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Collections.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Collections.zip","CopyToMask":-1,"filePath":"datafiles/data",},
|
||||||
],
|
],
|
||||||
|
|
|
@ -2,41 +2,41 @@
|
||||||
"h3": {
|
"h3": {
|
||||||
"path": "./NotoSans-Bold.ttf",
|
"path": "./NotoSans-Bold.ttf",
|
||||||
"size": 20,
|
"size": 20,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
},
|
},
|
||||||
"h5": {
|
"h5": {
|
||||||
"path": "./NotoSans-Bold.ttf",
|
"path": "./NotoSans-Bold.ttf",
|
||||||
"size": 16,
|
"size": 16,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
},
|
},
|
||||||
"p0": {
|
"p0": {
|
||||||
"path": "./NotoSans-Medium.ttf",
|
"path": "./NotoSans-Medium.ttf",
|
||||||
"size": 12,
|
"size": 12,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
},
|
},
|
||||||
"p0b": {
|
"p0b": {
|
||||||
"path": "./NotoSans-Bold.ttf",
|
"path": "./NotoSans-Bold.ttf",
|
||||||
"size": 12,
|
"size": 12,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
},
|
},
|
||||||
"p1": {
|
"p1": {
|
||||||
"path": "./NotoSans-SemiBold.ttf",
|
"path": "./NotoSans-SemiBold.ttf",
|
||||||
"size": 11,
|
"size": 11,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
},
|
},
|
||||||
"p2": {
|
"p2": {
|
||||||
"path": "./NotoSans-SemiBold.ttf",
|
"path": "./NotoSans-SemiBold.ttf",
|
||||||
"size": 10,
|
"size": 10,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
},
|
},
|
||||||
"p3": {
|
"p3": {
|
||||||
"path": "./NotoSans-SemiBold.ttf",
|
"path": "./NotoSans-SemiBold.ttf",
|
||||||
"size": 9,
|
"size": 9,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
},
|
},
|
||||||
"code": {
|
"code": {
|
||||||
"path": "./FiraCode-Medium.ttf",
|
"path": "./FiraCode-Medium.ttf",
|
||||||
"size": 12,
|
"size": 12,
|
||||||
"range": [32, 127]
|
"range": [32, 255]
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -158,6 +158,13 @@
|
||||||
"yorigin": 24,
|
"yorigin": 24,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
|
"cursor_select": {
|
||||||
|
"path": "./icon/s_cursor.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 16,
|
||||||
|
"yorigin": 16,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
"file": {
|
"file": {
|
||||||
"path": "./icon/s_file.png",
|
"path": "./icon/s_file.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
|
@ -165,6 +172,13 @@
|
||||||
"yorigin": 24,
|
"yorigin": 24,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
|
"explorer": {
|
||||||
|
"path": "./icon/s_file_explorer.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 20,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
"fill": {
|
"fill": {
|
||||||
"path": "./icon/s_fill_16.png",
|
"path": "./icon/s_fill_16.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
|
@ -410,6 +424,13 @@
|
||||||
"yorigin": 72,
|
"yorigin": 72,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
|
"inspector_area_type": {
|
||||||
|
"path": "./inspector/s_prop_area_type.png",
|
||||||
|
"subimages": 3,
|
||||||
|
"xorigin": 16,
|
||||||
|
"yorigin": 16,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
"inspector_padding": {
|
"inspector_padding": {
|
||||||
"path": "./inspector/s_inspector_padding.png",
|
"path": "./inspector/s_inspector_padding.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
|
@ -564,16 +585,10 @@
|
||||||
},
|
},
|
||||||
"node_pin_bg_active": {
|
"node_pin_bg_active": {
|
||||||
"path": "./node/s_node_pin_active.png",
|
"path": "./node/s_node_pin_active.png",
|
||||||
"subimages": 2,
|
"subimages": 1,
|
||||||
"xorigin": 20,
|
"xorigin": 20,
|
||||||
"yorigin": 20,
|
"yorigin": 20,
|
||||||
"slice": {
|
"slice": null
|
||||||
"enabled": true,
|
|
||||||
"left": 9,
|
|
||||||
"right": 9,
|
|
||||||
"top": 9,
|
|
||||||
"bottom": 9
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_active": {
|
"node_active": {
|
||||||
"path": "./node/s_node_active.png",
|
"path": "./node/s_node_active.png",
|
||||||
|
@ -656,8 +671,8 @@
|
||||||
"node_resize": {
|
"node_resize": {
|
||||||
"path": "./icon/s_node_resize.png",
|
"path": "./icon/s_node_resize.png",
|
||||||
"subimages": 1,
|
"subimages": 1,
|
||||||
"xorigin": 16,
|
"xorigin": 32,
|
||||||
"yorigin": 16,
|
"yorigin": 32,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
"node_state": {
|
"node_state": {
|
||||||
|
@ -927,7 +942,7 @@
|
||||||
},
|
},
|
||||||
"anchor": {
|
"anchor": {
|
||||||
"path": "./preview/s_anchor.png",
|
"path": "./preview/s_anchor.png",
|
||||||
"subimages": 1,
|
"subimages": 2,
|
||||||
"xorigin": 20,
|
"xorigin": 20,
|
||||||
"yorigin": 20,
|
"yorigin": 20,
|
||||||
"slice": null
|
"slice": null
|
||||||
|
@ -946,6 +961,13 @@
|
||||||
"yorigin": 24,
|
"yorigin": 24,
|
||||||
"slice": null
|
"slice": null
|
||||||
},
|
},
|
||||||
|
"anchor_solid_hori": {
|
||||||
|
"path": "./preview/s_anchor_solid.png",
|
||||||
|
"subimages": 2,
|
||||||
|
"xorigin": 32,
|
||||||
|
"yorigin": 20,
|
||||||
|
"slice": null
|
||||||
|
},
|
||||||
"anchor_scale_hori": {
|
"anchor_scale_hori": {
|
||||||
"path": "./preview/s_anchor_scale_hori_strip2.png",
|
"path": "./preview/s_anchor_scale_hori_strip2.png",
|
||||||
"subimages": 2,
|
"subimages": 2,
|
||||||
|
@ -1237,6 +1259,19 @@
|
||||||
"bottom": 4
|
"bottom": 4
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"widget_selecting": {
|
||||||
|
"path": "./widget/s_widget_highlight.png",
|
||||||
|
"subimages": 1,
|
||||||
|
"xorigin": 0,
|
||||||
|
"yorigin": 0,
|
||||||
|
"slice": {
|
||||||
|
"enabled": true,
|
||||||
|
"left": 5,
|
||||||
|
"right": 5,
|
||||||
|
"top": 5,
|
||||||
|
"bottom": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
"textbox": {
|
"textbox": {
|
||||||
"path": "./widget/s_textbox_strip4.png",
|
"path": "./widget/s_textbox_strip4.png",
|
||||||
"subimages": 4,
|
"subimages": 4,
|
||||||
|
|
BIN
datafiles/data/themes/default/graphics/icon/s_cursor.png
Normal file
After Width: | Height: | Size: 755 B |
BIN
datafiles/data/themes/default/graphics/icon/s_file_explorer.png
Normal file
After Width: | Height: | Size: 521 B |
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 624 B |
After Width: | Height: | Size: 231 B |
BIN
fonts/_f_p0/_f_p0.old.png
Normal file
After Width: | Height: | Size: 10 KiB |
582
fonts/_f_p0/_f_p0.old.yy
Normal file
|
@ -0,0 +1,582 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMFont",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "_f_p0",
|
||||||
|
"hinting": 0,
|
||||||
|
"glyphOperations": 0,
|
||||||
|
"interpreter": 0,
|
||||||
|
"pointRounding": 0,
|
||||||
|
"applyKerning": 0,
|
||||||
|
"fontName": "Segoe UI",
|
||||||
|
"styleName": "Semibold",
|
||||||
|
"size": 12.0,
|
||||||
|
"bold": true,
|
||||||
|
"italic": false,
|
||||||
|
"charset": 0,
|
||||||
|
"AntiAlias": 1,
|
||||||
|
"first": 0,
|
||||||
|
"last": 0,
|
||||||
|
"sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)",
|
||||||
|
"includeTTF": false,
|
||||||
|
"TTFName": "",
|
||||||
|
"textureGroupId": {
|
||||||
|
"name": "Default",
|
||||||
|
"path": "texturegroups/Default",
|
||||||
|
},
|
||||||
|
"ascenderOffset": 0,
|
||||||
|
"ascender": 0,
|
||||||
|
"glyphs": {
|
||||||
|
"32": {"x":2,"y":2,"w":4,"h":21,"character":32,"shift":4,"offset":0,},
|
||||||
|
"33": {"x":163,"y":48,"w":3,"h":21,"character":33,"shift":5,"offset":1,},
|
||||||
|
"34": {"x":156,"y":48,"w":5,"h":21,"character":34,"shift":7,"offset":1,},
|
||||||
|
"35": {"x":144,"y":48,"w":10,"h":21,"character":35,"shift":9,"offset":0,},
|
||||||
|
"36": {"x":135,"y":48,"w":7,"h":21,"character":36,"shift":9,"offset":1,},
|
||||||
|
"37": {"x":120,"y":48,"w":13,"h":21,"character":37,"shift":13,"offset":0,},
|
||||||
|
"38": {"x":106,"y":48,"w":12,"h":21,"character":38,"shift":11,"offset":0,},
|
||||||
|
"39": {"x":102,"y":48,"w":2,"h":21,"character":39,"shift":4,"offset":1,},
|
||||||
|
"40": {"x":95,"y":48,"w":5,"h":21,"character":40,"shift":5,"offset":1,},
|
||||||
|
"41": {"x":88,"y":48,"w":5,"h":21,"character":41,"shift":5,"offset":0,},
|
||||||
|
"42": {"x":168,"y":48,"w":7,"h":21,"character":42,"shift":7,"offset":0,},
|
||||||
|
"43": {"x":77,"y":48,"w":9,"h":21,"character":43,"shift":11,"offset":1,},
|
||||||
|
"44": {"x":63,"y":48,"w":3,"h":21,"character":44,"shift":4,"offset":0,},
|
||||||
|
"45": {"x":56,"y":48,"w":5,"h":21,"character":45,"shift":6,"offset":1,},
|
||||||
|
"46": {"x":50,"y":48,"w":4,"h":21,"character":46,"shift":4,"offset":0,},
|
||||||
|
"47": {"x":40,"y":48,"w":8,"h":21,"character":47,"shift":7,"offset":-1,},
|
||||||
|
"48": {"x":29,"y":48,"w":9,"h":21,"character":48,"shift":9,"offset":0,},
|
||||||
|
"49": {"x":22,"y":48,"w":5,"h":21,"character":49,"shift":6,"offset":0,},
|
||||||
|
"50": {"x":12,"y":48,"w":8,"h":21,"character":50,"shift":9,"offset":0,},
|
||||||
|
"51": {"x":2,"y":48,"w":8,"h":21,"character":51,"shift":9,"offset":0,},
|
||||||
|
"52": {"x":240,"y":25,"w":9,"h":21,"character":52,"shift":9,"offset":0,},
|
||||||
|
"53": {"x":68,"y":48,"w":7,"h":21,"character":53,"shift":9,"offset":1,},
|
||||||
|
"54": {"x":177,"y":48,"w":9,"h":21,"character":54,"shift":9,"offset":0,},
|
||||||
|
"55": {"x":188,"y":48,"w":9,"h":21,"character":55,"shift":9,"offset":0,},
|
||||||
|
"56": {"x":199,"y":48,"w":9,"h":21,"character":56,"shift":9,"offset":0,},
|
||||||
|
"57": {"x":165,"y":71,"w":9,"h":21,"character":57,"shift":9,"offset":0,},
|
||||||
|
"58": {"x":159,"y":71,"w":4,"h":21,"character":58,"shift":4,"offset":0,},
|
||||||
|
"59": {"x":153,"y":71,"w":4,"h":21,"character":59,"shift":4,"offset":0,},
|
||||||
|
"60": {"x":143,"y":71,"w":8,"h":21,"character":60,"shift":11,"offset":2,},
|
||||||
|
"61": {"x":132,"y":71,"w":9,"h":21,"character":61,"shift":11,"offset":1,},
|
||||||
|
"62": {"x":122,"y":71,"w":8,"h":21,"character":62,"shift":11,"offset":2,},
|
||||||
|
"63": {"x":113,"y":71,"w":7,"h":21,"character":63,"shift":7,"offset":0,},
|
||||||
|
"64": {"x":97,"y":71,"w":14,"h":21,"character":64,"shift":15,"offset":1,},
|
||||||
|
"65": {"x":84,"y":71,"w":11,"h":21,"character":65,"shift":11,"offset":0,},
|
||||||
|
"66": {"x":74,"y":71,"w":8,"h":21,"character":66,"shift":10,"offset":1,},
|
||||||
|
"67": {"x":62,"y":71,"w":10,"h":21,"character":67,"shift":10,"offset":0,},
|
||||||
|
"68": {"x":50,"y":71,"w":10,"h":21,"character":68,"shift":11,"offset":1,},
|
||||||
|
"69": {"x":41,"y":71,"w":7,"h":21,"character":69,"shift":8,"offset":1,},
|
||||||
|
"70": {"x":32,"y":71,"w":7,"h":21,"character":70,"shift":8,"offset":1,},
|
||||||
|
"71": {"x":19,"y":71,"w":11,"h":21,"character":71,"shift":11,"offset":0,},
|
||||||
|
"72": {"x":7,"y":71,"w":10,"h":21,"character":72,"shift":12,"offset":1,},
|
||||||
|
"73": {"x":2,"y":71,"w":3,"h":21,"character":73,"shift":5,"offset":1,},
|
||||||
|
"74": {"x":245,"y":48,"w":6,"h":21,"character":74,"shift":6,"offset":0,},
|
||||||
|
"75": {"x":234,"y":48,"w":9,"h":21,"character":75,"shift":10,"offset":1,},
|
||||||
|
"76": {"x":225,"y":48,"w":7,"h":21,"character":76,"shift":8,"offset":1,},
|
||||||
|
"77": {"x":210,"y":48,"w":13,"h":21,"character":77,"shift":15,"offset":1,},
|
||||||
|
"78": {"x":228,"y":25,"w":10,"h":21,"character":78,"shift":12,"offset":1,},
|
||||||
|
"79": {"x":214,"y":25,"w":12,"h":21,"character":79,"shift":12,"offset":0,},
|
||||||
|
"80": {"x":204,"y":25,"w":8,"h":21,"character":80,"shift":9,"offset":1,},
|
||||||
|
"81": {"x":227,"y":2,"w":13,"h":21,"character":81,"shift":12,"offset":0,},
|
||||||
|
"82": {"x":209,"y":2,"w":10,"h":21,"character":82,"shift":10,"offset":1,},
|
||||||
|
"83": {"x":198,"y":2,"w":9,"h":21,"character":83,"shift":9,"offset":0,},
|
||||||
|
"84": {"x":187,"y":2,"w":9,"h":21,"character":84,"shift":9,"offset":0,},
|
||||||
|
"85": {"x":176,"y":2,"w":9,"h":21,"character":85,"shift":11,"offset":1,},
|
||||||
|
"86": {"x":163,"y":2,"w":11,"h":21,"character":86,"shift":10,"offset":0,},
|
||||||
|
"87": {"x":145,"y":2,"w":16,"h":21,"character":87,"shift":15,"offset":0,},
|
||||||
|
"88": {"x":133,"y":2,"w":10,"h":21,"character":88,"shift":10,"offset":0,},
|
||||||
|
"89": {"x":121,"y":2,"w":10,"h":21,"character":89,"shift":9,"offset":0,},
|
||||||
|
"90": {"x":109,"y":2,"w":10,"h":21,"character":90,"shift":9,"offset":0,},
|
||||||
|
"91": {"x":221,"y":2,"w":4,"h":21,"character":91,"shift":5,"offset":1,},
|
||||||
|
"92": {"x":99,"y":2,"w":8,"h":21,"character":92,"shift":6,"offset":-1,},
|
||||||
|
"93": {"x":85,"y":2,"w":4,"h":21,"character":93,"shift":5,"offset":0,},
|
||||||
|
"94": {"x":74,"y":2,"w":9,"h":21,"character":94,"shift":11,"offset":1,},
|
||||||
|
"95": {"x":65,"y":2,"w":7,"h":21,"character":95,"shift":7,"offset":0,},
|
||||||
|
"96": {"x":58,"y":2,"w":5,"h":21,"character":96,"shift":5,"offset":0,},
|
||||||
|
"97": {"x":48,"y":2,"w":8,"h":21,"character":97,"shift":8,"offset":0,},
|
||||||
|
"98": {"x":38,"y":2,"w":8,"h":21,"character":98,"shift":10,"offset":1,},
|
||||||
|
"99": {"x":29,"y":2,"w":7,"h":21,"character":99,"shift":8,"offset":0,},
|
||||||
|
"100": {"x":18,"y":2,"w":9,"h":21,"character":100,"shift":10,"offset":0,},
|
||||||
|
"101": {"x":8,"y":2,"w":8,"h":21,"character":101,"shift":9,"offset":0,},
|
||||||
|
"102": {"x":91,"y":2,"w":6,"h":21,"character":102,"shift":6,"offset":0,},
|
||||||
|
"103": {"x":242,"y":2,"w":9,"h":21,"character":103,"shift":10,"offset":0,},
|
||||||
|
"104": {"x":91,"y":25,"w":8,"h":21,"character":104,"shift":9,"offset":1,},
|
||||||
|
"105": {"x":2,"y":25,"w":3,"h":21,"character":105,"shift":4,"offset":1,},
|
||||||
|
"106": {"x":187,"y":25,"w":6,"h":21,"character":106,"shift":4,"offset":-2,},
|
||||||
|
"107": {"x":177,"y":25,"w":8,"h":21,"character":107,"shift":8,"offset":1,},
|
||||||
|
"108": {"x":173,"y":25,"w":2,"h":21,"character":108,"shift":4,"offset":1,},
|
||||||
|
"109": {"x":158,"y":25,"w":13,"h":21,"character":109,"shift":14,"offset":1,},
|
||||||
|
"110": {"x":148,"y":25,"w":8,"h":21,"character":110,"shift":9,"offset":1,},
|
||||||
|
"111": {"x":137,"y":25,"w":9,"h":21,"character":111,"shift":10,"offset":0,},
|
||||||
|
"112": {"x":127,"y":25,"w":8,"h":21,"character":112,"shift":10,"offset":1,},
|
||||||
|
"113": {"x":116,"y":25,"w":9,"h":21,"character":113,"shift":10,"offset":0,},
|
||||||
|
"114": {"x":109,"y":25,"w":5,"h":21,"character":114,"shift":6,"offset":1,},
|
||||||
|
"115": {"x":195,"y":25,"w":7,"h":21,"character":115,"shift":7,"offset":0,},
|
||||||
|
"116": {"x":101,"y":25,"w":6,"h":21,"character":116,"shift":6,"offset":0,},
|
||||||
|
"117": {"x":81,"y":25,"w":8,"h":21,"character":117,"shift":9,"offset":1,},
|
||||||
|
"118": {"x":70,"y":25,"w":9,"h":21,"character":118,"shift":8,"offset":0,},
|
||||||
|
"119": {"x":56,"y":25,"w":12,"h":21,"character":119,"shift":12,"offset":0,},
|
||||||
|
"120": {"x":46,"y":25,"w":8,"h":21,"character":120,"shift":8,"offset":0,},
|
||||||
|
"121": {"x":35,"y":25,"w":9,"h":21,"character":121,"shift":8,"offset":0,},
|
||||||
|
"122": {"x":25,"y":25,"w":8,"h":21,"character":122,"shift":7,"offset":0,},
|
||||||
|
"123": {"x":18,"y":25,"w":5,"h":21,"character":123,"shift":5,"offset":0,},
|
||||||
|
"124": {"x":14,"y":25,"w":2,"h":21,"character":124,"shift":4,"offset":1,},
|
||||||
|
"125": {"x":7,"y":25,"w":5,"h":21,"character":125,"shift":5,"offset":0,},
|
||||||
|
"126": {"x":176,"y":71,"w":9,"h":21,"character":126,"shift":11,"offset":1,},
|
||||||
|
"9647": {"x":187,"y":71,"w":10,"h":21,"character":9647,"shift":16,"offset":3,},
|
||||||
|
},
|
||||||
|
"kerningPairs": [
|
||||||
|
{"first":34,"second":969,"amount":-1,},
|
||||||
|
{"first":39,"second":969,"amount":-1,},
|
||||||
|
{"first":40,"second":106,"amount":1,},
|
||||||
|
{"first":40,"second":309,"amount":1,},
|
||||||
|
{"first":42,"second":65,"amount":-1,},
|
||||||
|
{"first":42,"second":74,"amount":-1,},
|
||||||
|
{"first":42,"second":256,"amount":-1,},
|
||||||
|
{"first":42,"second":258,"amount":-1,},
|
||||||
|
{"first":42,"second":260,"amount":-1,},
|
||||||
|
{"first":42,"second":308,"amount":-1,},
|
||||||
|
{"first":42,"second":506,"amount":-1,},
|
||||||
|
{"first":42,"second":508,"amount":-1,},
|
||||||
|
{"first":42,"second":913,"amount":-1,},
|
||||||
|
{"first":42,"second":916,"amount":-1,},
|
||||||
|
{"first":42,"second":923,"amount":-1,},
|
||||||
|
{"first":42,"second":1040,"amount":-1,},
|
||||||
|
{"first":44,"second":8216,"amount":-1,},
|
||||||
|
{"first":44,"second":8217,"amount":-1,},
|
||||||
|
{"first":44,"second":8220,"amount":-1,},
|
||||||
|
{"first":44,"second":8221,"amount":-1,},
|
||||||
|
{"first":46,"second":8216,"amount":-1,},
|
||||||
|
{"first":46,"second":8217,"amount":-1,},
|
||||||
|
{"first":46,"second":8220,"amount":-1,},
|
||||||
|
{"first":46,"second":8221,"amount":-1,},
|
||||||
|
{"first":65,"second":42,"amount":-1,},
|
||||||
|
{"first":65,"second":84,"amount":-1,},
|
||||||
|
{"first":65,"second":86,"amount":-1,},
|
||||||
|
{"first":65,"second":89,"amount":-1,},
|
||||||
|
{"first":65,"second":221,"amount":-1,},
|
||||||
|
{"first":65,"second":354,"amount":-1,},
|
||||||
|
{"first":65,"second":356,"amount":-1,},
|
||||||
|
{"first":65,"second":358,"amount":-1,},
|
||||||
|
{"first":65,"second":374,"amount":-1,},
|
||||||
|
{"first":65,"second":376,"amount":-1,},
|
||||||
|
{"first":65,"second":7922,"amount":-1,},
|
||||||
|
{"first":65,"second":8216,"amount":-1,},
|
||||||
|
{"first":65,"second":8217,"amount":-1,},
|
||||||
|
{"first":65,"second":8220,"amount":-1,},
|
||||||
|
{"first":65,"second":8221,"amount":-1,},
|
||||||
|
{"first":65,"second":8482,"amount":-1,},
|
||||||
|
{"first":68,"second":44,"amount":-1,},
|
||||||
|
{"first":68,"second":46,"amount":-1,},
|
||||||
|
{"first":68,"second":8218,"amount":-1,},
|
||||||
|
{"first":68,"second":8222,"amount":-1,},
|
||||||
|
{"first":68,"second":8230,"amount":-1,},
|
||||||
|
{"first":70,"second":44,"amount":-1,},
|
||||||
|
{"first":70,"second":46,"amount":-1,},
|
||||||
|
{"first":70,"second":65,"amount":-1,},
|
||||||
|
{"first":70,"second":192,"amount":-1,},
|
||||||
|
{"first":70,"second":193,"amount":-1,},
|
||||||
|
{"first":70,"second":194,"amount":-1,},
|
||||||
|
{"first":70,"second":195,"amount":-1,},
|
||||||
|
{"first":70,"second":196,"amount":-1,},
|
||||||
|
{"first":70,"second":197,"amount":-1,},
|
||||||
|
{"first":70,"second":198,"amount":-1,},
|
||||||
|
{"first":70,"second":256,"amount":-1,},
|
||||||
|
{"first":70,"second":258,"amount":-1,},
|
||||||
|
{"first":70,"second":260,"amount":-1,},
|
||||||
|
{"first":70,"second":506,"amount":-1,},
|
||||||
|
{"first":70,"second":508,"amount":-1,},
|
||||||
|
{"first":70,"second":8218,"amount":-1,},
|
||||||
|
{"first":70,"second":8222,"amount":-1,},
|
||||||
|
{"first":70,"second":8230,"amount":-1,},
|
||||||
|
{"first":74,"second":198,"amount":-1,},
|
||||||
|
{"first":74,"second":8218,"amount":-1,},
|
||||||
|
{"first":76,"second":42,"amount":-1,},
|
||||||
|
{"first":76,"second":84,"amount":-1,},
|
||||||
|
{"first":76,"second":86,"amount":-1,},
|
||||||
|
{"first":76,"second":89,"amount":-1,},
|
||||||
|
{"first":76,"second":221,"amount":-1,},
|
||||||
|
{"first":76,"second":354,"amount":-1,},
|
||||||
|
{"first":76,"second":356,"amount":-1,},
|
||||||
|
{"first":76,"second":358,"amount":-1,},
|
||||||
|
{"first":76,"second":374,"amount":-1,},
|
||||||
|
{"first":76,"second":376,"amount":-1,},
|
||||||
|
{"first":76,"second":7922,"amount":-1,},
|
||||||
|
{"first":76,"second":8216,"amount":-1,},
|
||||||
|
{"first":76,"second":8217,"amount":-1,},
|
||||||
|
{"first":76,"second":8220,"amount":-1,},
|
||||||
|
{"first":76,"second":8221,"amount":-1,},
|
||||||
|
{"first":76,"second":8482,"amount":-1,},
|
||||||
|
{"first":79,"second":8218,"amount":-1,},
|
||||||
|
{"first":79,"second":8222,"amount":-1,},
|
||||||
|
{"first":80,"second":44,"amount":-2,},
|
||||||
|
{"first":80,"second":46,"amount":-2,},
|
||||||
|
{"first":80,"second":65,"amount":-1,},
|
||||||
|
{"first":80,"second":74,"amount":-1,},
|
||||||
|
{"first":80,"second":192,"amount":-1,},
|
||||||
|
{"first":80,"second":193,"amount":-1,},
|
||||||
|
{"first":80,"second":194,"amount":-1,},
|
||||||
|
{"first":80,"second":195,"amount":-1,},
|
||||||
|
{"first":80,"second":196,"amount":-1,},
|
||||||
|
{"first":80,"second":197,"amount":-1,},
|
||||||
|
{"first":80,"second":198,"amount":-1,},
|
||||||
|
{"first":80,"second":256,"amount":-1,},
|
||||||
|
{"first":80,"second":258,"amount":-1,},
|
||||||
|
{"first":80,"second":260,"amount":-1,},
|
||||||
|
{"first":80,"second":308,"amount":-1,},
|
||||||
|
{"first":80,"second":506,"amount":-1,},
|
||||||
|
{"first":80,"second":508,"amount":-1,},
|
||||||
|
{"first":80,"second":8218,"amount":-2,},
|
||||||
|
{"first":80,"second":8222,"amount":-2,},
|
||||||
|
{"first":80,"second":8230,"amount":-1,},
|
||||||
|
{"first":81,"second":46,"amount":-1,},
|
||||||
|
{"first":81,"second":8218,"amount":-1,},
|
||||||
|
{"first":81,"second":8222,"amount":-1,},
|
||||||
|
{"first":81,"second":8230,"amount":-1,},
|
||||||
|
{"first":84,"second":44,"amount":-1,},
|
||||||
|
{"first":84,"second":46,"amount":-1,},
|
||||||
|
{"first":84,"second":65,"amount":-1,},
|
||||||
|
{"first":84,"second":74,"amount":-1,},
|
||||||
|
{"first":84,"second":97,"amount":-1,},
|
||||||
|
{"first":84,"second":99,"amount":-1,},
|
||||||
|
{"first":84,"second":100,"amount":-1,},
|
||||||
|
{"first":84,"second":101,"amount":-1,},
|
||||||
|
{"first":84,"second":103,"amount":-1,},
|
||||||
|
{"first":84,"second":109,"amount":-1,},
|
||||||
|
{"first":84,"second":110,"amount":-1,},
|
||||||
|
{"first":84,"second":111,"amount":-1,},
|
||||||
|
{"first":84,"second":112,"amount":-1,},
|
||||||
|
{"first":84,"second":113,"amount":-1,},
|
||||||
|
{"first":84,"second":114,"amount":-1,},
|
||||||
|
{"first":84,"second":115,"amount":-1,},
|
||||||
|
{"first":84,"second":117,"amount":-1,},
|
||||||
|
{"first":84,"second":119,"amount":-1,},
|
||||||
|
{"first":84,"second":120,"amount":-1,},
|
||||||
|
{"first":84,"second":121,"amount":-1,},
|
||||||
|
{"first":84,"second":122,"amount":-1,},
|
||||||
|
{"first":84,"second":192,"amount":-1,},
|
||||||
|
{"first":84,"second":193,"amount":-1,},
|
||||||
|
{"first":84,"second":194,"amount":-1,},
|
||||||
|
{"first":84,"second":195,"amount":-1,},
|
||||||
|
{"first":84,"second":196,"amount":-1,},
|
||||||
|
{"first":84,"second":197,"amount":-1,},
|
||||||
|
{"first":84,"second":198,"amount":-1,},
|
||||||
|
{"first":84,"second":224,"amount":-1,},
|
||||||
|
{"first":84,"second":225,"amount":-1,},
|
||||||
|
{"first":84,"second":226,"amount":-1,},
|
||||||
|
{"first":84,"second":227,"amount":-1,},
|
||||||
|
{"first":84,"second":228,"amount":-1,},
|
||||||
|
{"first":84,"second":229,"amount":-1,},
|
||||||
|
{"first":84,"second":230,"amount":-1,},
|
||||||
|
{"first":84,"second":231,"amount":-1,},
|
||||||
|
{"first":84,"second":232,"amount":-1,},
|
||||||
|
{"first":84,"second":233,"amount":-1,},
|
||||||
|
{"first":84,"second":234,"amount":-1,},
|
||||||
|
{"first":84,"second":235,"amount":-1,},
|
||||||
|
{"first":84,"second":239,"amount":1,},
|
||||||
|
{"first":84,"second":241,"amount":-1,},
|
||||||
|
{"first":84,"second":242,"amount":-1,},
|
||||||
|
{"first":84,"second":243,"amount":-1,},
|
||||||
|
{"first":84,"second":244,"amount":-1,},
|
||||||
|
{"first":84,"second":245,"amount":-1,},
|
||||||
|
{"first":84,"second":246,"amount":-1,},
|
||||||
|
{"first":84,"second":249,"amount":-1,},
|
||||||
|
{"first":84,"second":250,"amount":-1,},
|
||||||
|
{"first":84,"second":251,"amount":-1,},
|
||||||
|
{"first":84,"second":252,"amount":-1,},
|
||||||
|
{"first":84,"second":253,"amount":-1,},
|
||||||
|
{"first":84,"second":255,"amount":-1,},
|
||||||
|
{"first":84,"second":256,"amount":-1,},
|
||||||
|
{"first":84,"second":257,"amount":-1,},
|
||||||
|
{"first":84,"second":258,"amount":-1,},
|
||||||
|
{"first":84,"second":259,"amount":-1,},
|
||||||
|
{"first":84,"second":260,"amount":-1,},
|
||||||
|
{"first":84,"second":261,"amount":-1,},
|
||||||
|
{"first":84,"second":263,"amount":-1,},
|
||||||
|
{"first":84,"second":265,"amount":-1,},
|
||||||
|
{"first":84,"second":269,"amount":-1,},
|
||||||
|
{"first":84,"second":271,"amount":-1,},
|
||||||
|
{"first":84,"second":273,"amount":-1,},
|
||||||
|
{"first":84,"second":275,"amount":-1,},
|
||||||
|
{"first":84,"second":277,"amount":-1,},
|
||||||
|
{"first":84,"second":279,"amount":-1,},
|
||||||
|
{"first":84,"second":281,"amount":-1,},
|
||||||
|
{"first":84,"second":283,"amount":-1,},
|
||||||
|
{"first":84,"second":285,"amount":-1,},
|
||||||
|
{"first":84,"second":287,"amount":-1,},
|
||||||
|
{"first":84,"second":289,"amount":-1,},
|
||||||
|
{"first":84,"second":291,"amount":-1,},
|
||||||
|
{"first":84,"second":297,"amount":1,},
|
||||||
|
{"first":84,"second":299,"amount":1,},
|
||||||
|
{"first":84,"second":301,"amount":1,},
|
||||||
|
{"first":84,"second":308,"amount":-1,},
|
||||||
|
{"first":84,"second":324,"amount":-1,},
|
||||||
|
{"first":84,"second":328,"amount":-1,},
|
||||||
|
{"first":84,"second":331,"amount":-1,},
|
||||||
|
{"first":84,"second":333,"amount":-1,},
|
||||||
|
{"first":84,"second":335,"amount":-1,},
|
||||||
|
{"first":84,"second":337,"amount":-1,},
|
||||||
|
{"first":84,"second":339,"amount":-1,},
|
||||||
|
{"first":84,"second":341,"amount":-1,},
|
||||||
|
{"first":84,"second":343,"amount":-1,},
|
||||||
|
{"first":84,"second":345,"amount":-1,},
|
||||||
|
{"first":84,"second":347,"amount":-1,},
|
||||||
|
{"first":84,"second":349,"amount":-1,},
|
||||||
|
{"first":84,"second":351,"amount":-1,},
|
||||||
|
{"first":84,"second":353,"amount":-1,},
|
||||||
|
{"first":84,"second":361,"amount":-1,},
|
||||||
|
{"first":84,"second":363,"amount":-1,},
|
||||||
|
{"first":84,"second":365,"amount":-1,},
|
||||||
|
{"first":84,"second":367,"amount":-1,},
|
||||||
|
{"first":84,"second":369,"amount":-1,},
|
||||||
|
{"first":84,"second":371,"amount":-1,},
|
||||||
|
{"first":84,"second":373,"amount":-1,},
|
||||||
|
{"first":84,"second":375,"amount":-1,},
|
||||||
|
{"first":84,"second":378,"amount":-1,},
|
||||||
|
{"first":84,"second":380,"amount":-1,},
|
||||||
|
{"first":84,"second":382,"amount":-1,},
|
||||||
|
{"first":84,"second":506,"amount":-1,},
|
||||||
|
{"first":84,"second":507,"amount":-1,},
|
||||||
|
{"first":84,"second":508,"amount":-1,},
|
||||||
|
{"first":84,"second":509,"amount":-1,},
|
||||||
|
{"first":84,"second":511,"amount":-1,},
|
||||||
|
{"first":84,"second":537,"amount":-1,},
|
||||||
|
{"first":84,"second":7809,"amount":-1,},
|
||||||
|
{"first":84,"second":7811,"amount":-1,},
|
||||||
|
{"first":84,"second":7813,"amount":-1,},
|
||||||
|
{"first":84,"second":7923,"amount":-1,},
|
||||||
|
{"first":84,"second":8218,"amount":-1,},
|
||||||
|
{"first":84,"second":8222,"amount":-1,},
|
||||||
|
{"first":84,"second":8230,"amount":-1,},
|
||||||
|
{"first":85,"second":198,"amount":-1,},
|
||||||
|
{"first":86,"second":44,"amount":-1,},
|
||||||
|
{"first":86,"second":46,"amount":-1,},
|
||||||
|
{"first":86,"second":65,"amount":-1,},
|
||||||
|
{"first":86,"second":97,"amount":-1,},
|
||||||
|
{"first":86,"second":99,"amount":-1,},
|
||||||
|
{"first":86,"second":100,"amount":-1,},
|
||||||
|
{"first":86,"second":101,"amount":-1,},
|
||||||
|
{"first":86,"second":103,"amount":-1,},
|
||||||
|
{"first":86,"second":111,"amount":-1,},
|
||||||
|
{"first":86,"second":113,"amount":-1,},
|
||||||
|
{"first":86,"second":191,"amount":-1,},
|
||||||
|
{"first":86,"second":192,"amount":-1,},
|
||||||
|
{"first":86,"second":193,"amount":-1,},
|
||||||
|
{"first":86,"second":194,"amount":-1,},
|
||||||
|
{"first":86,"second":195,"amount":-1,},
|
||||||
|
{"first":86,"second":196,"amount":-1,},
|
||||||
|
{"first":86,"second":197,"amount":-1,},
|
||||||
|
{"first":86,"second":198,"amount":-1,},
|
||||||
|
{"first":86,"second":224,"amount":-1,},
|
||||||
|
{"first":86,"second":225,"amount":-1,},
|
||||||
|
{"first":86,"second":226,"amount":-1,},
|
||||||
|
{"first":86,"second":227,"amount":-1,},
|
||||||
|
{"first":86,"second":228,"amount":-1,},
|
||||||
|
{"first":86,"second":229,"amount":-1,},
|
||||||
|
{"first":86,"second":230,"amount":-1,},
|
||||||
|
{"first":86,"second":231,"amount":-1,},
|
||||||
|
{"first":86,"second":232,"amount":-1,},
|
||||||
|
{"first":86,"second":233,"amount":-1,},
|
||||||
|
{"first":86,"second":234,"amount":-1,},
|
||||||
|
{"first":86,"second":235,"amount":-1,},
|
||||||
|
{"first":86,"second":239,"amount":1,},
|
||||||
|
{"first":86,"second":242,"amount":-1,},
|
||||||
|
{"first":86,"second":243,"amount":-1,},
|
||||||
|
{"first":86,"second":244,"amount":-1,},
|
||||||
|
{"first":86,"second":245,"amount":-1,},
|
||||||
|
{"first":86,"second":246,"amount":-1,},
|
||||||
|
{"first":86,"second":256,"amount":-1,},
|
||||||
|
{"first":86,"second":257,"amount":-1,},
|
||||||
|
{"first":86,"second":258,"amount":-1,},
|
||||||
|
{"first":86,"second":259,"amount":-1,},
|
||||||
|
{"first":86,"second":260,"amount":-1,},
|
||||||
|
{"first":86,"second":261,"amount":-1,},
|
||||||
|
{"first":86,"second":263,"amount":-1,},
|
||||||
|
{"first":86,"second":265,"amount":-1,},
|
||||||
|
{"first":86,"second":269,"amount":-1,},
|
||||||
|
{"first":86,"second":271,"amount":-1,},
|
||||||
|
{"first":86,"second":273,"amount":-1,},
|
||||||
|
{"first":86,"second":275,"amount":-1,},
|
||||||
|
{"first":86,"second":277,"amount":-1,},
|
||||||
|
{"first":86,"second":279,"amount":-1,},
|
||||||
|
{"first":86,"second":281,"amount":-1,},
|
||||||
|
{"first":86,"second":283,"amount":-1,},
|
||||||
|
{"first":86,"second":285,"amount":-1,},
|
||||||
|
{"first":86,"second":287,"amount":-1,},
|
||||||
|
{"first":86,"second":289,"amount":-1,},
|
||||||
|
{"first":86,"second":291,"amount":-1,},
|
||||||
|
{"first":86,"second":333,"amount":-1,},
|
||||||
|
{"first":86,"second":335,"amount":-1,},
|
||||||
|
{"first":86,"second":337,"amount":-1,},
|
||||||
|
{"first":86,"second":339,"amount":-1,},
|
||||||
|
{"first":86,"second":506,"amount":-1,},
|
||||||
|
{"first":86,"second":507,"amount":-1,},
|
||||||
|
{"first":86,"second":508,"amount":-1,},
|
||||||
|
{"first":86,"second":509,"amount":-1,},
|
||||||
|
{"first":86,"second":511,"amount":-1,},
|
||||||
|
{"first":86,"second":8218,"amount":-1,},
|
||||||
|
{"first":86,"second":8222,"amount":-1,},
|
||||||
|
{"first":86,"second":8230,"amount":-1,},
|
||||||
|
{"first":87,"second":44,"amount":-1,},
|
||||||
|
{"first":87,"second":46,"amount":-1,},
|
||||||
|
{"first":87,"second":198,"amount":-1,},
|
||||||
|
{"first":87,"second":239,"amount":1,},
|
||||||
|
{"first":87,"second":8218,"amount":-1,},
|
||||||
|
{"first":87,"second":8222,"amount":-1,},
|
||||||
|
{"first":87,"second":8230,"amount":-1,},
|
||||||
|
{"first":89,"second":44,"amount":-1,},
|
||||||
|
{"first":89,"second":46,"amount":-1,},
|
||||||
|
{"first":89,"second":65,"amount":-1,},
|
||||||
|
{"first":89,"second":97,"amount":-1,},
|
||||||
|
{"first":89,"second":99,"amount":-1,},
|
||||||
|
{"first":89,"second":100,"amount":-1,},
|
||||||
|
{"first":89,"second":101,"amount":-1,},
|
||||||
|
{"first":89,"second":103,"amount":-1,},
|
||||||
|
{"first":89,"second":109,"amount":-1,},
|
||||||
|
{"first":89,"second":110,"amount":-1,},
|
||||||
|
{"first":89,"second":111,"amount":-1,},
|
||||||
|
{"first":89,"second":112,"amount":-1,},
|
||||||
|
{"first":89,"second":113,"amount":-1,},
|
||||||
|
{"first":89,"second":114,"amount":-1,},
|
||||||
|
{"first":89,"second":115,"amount":-1,},
|
||||||
|
{"first":89,"second":117,"amount":-1,},
|
||||||
|
{"first":89,"second":191,"amount":-1,},
|
||||||
|
{"first":89,"second":192,"amount":-1,},
|
||||||
|
{"first":89,"second":193,"amount":-1,},
|
||||||
|
{"first":89,"second":194,"amount":-1,},
|
||||||
|
{"first":89,"second":195,"amount":-1,},
|
||||||
|
{"first":89,"second":196,"amount":-1,},
|
||||||
|
{"first":89,"second":197,"amount":-1,},
|
||||||
|
{"first":89,"second":198,"amount":-1,},
|
||||||
|
{"first":89,"second":224,"amount":-1,},
|
||||||
|
{"first":89,"second":225,"amount":-1,},
|
||||||
|
{"first":89,"second":226,"amount":-1,},
|
||||||
|
{"first":89,"second":227,"amount":-1,},
|
||||||
|
{"first":89,"second":228,"amount":-1,},
|
||||||
|
{"first":89,"second":229,"amount":-1,},
|
||||||
|
{"first":89,"second":230,"amount":-1,},
|
||||||
|
{"first":89,"second":231,"amount":-1,},
|
||||||
|
{"first":89,"second":232,"amount":-1,},
|
||||||
|
{"first":89,"second":233,"amount":-1,},
|
||||||
|
{"first":89,"second":234,"amount":-1,},
|
||||||
|
{"first":89,"second":235,"amount":-1,},
|
||||||
|
{"first":89,"second":239,"amount":1,},
|
||||||
|
{"first":89,"second":241,"amount":-1,},
|
||||||
|
{"first":89,"second":242,"amount":-1,},
|
||||||
|
{"first":89,"second":243,"amount":-1,},
|
||||||
|
{"first":89,"second":244,"amount":-1,},
|
||||||
|
{"first":89,"second":245,"amount":-1,},
|
||||||
|
{"first":89,"second":246,"amount":-1,},
|
||||||
|
{"first":89,"second":249,"amount":-1,},
|
||||||
|
{"first":89,"second":250,"amount":-1,},
|
||||||
|
{"first":89,"second":251,"amount":-1,},
|
||||||
|
{"first":89,"second":252,"amount":-1,},
|
||||||
|
{"first":89,"second":256,"amount":-1,},
|
||||||
|
{"first":89,"second":257,"amount":-1,},
|
||||||
|
{"first":89,"second":258,"amount":-1,},
|
||||||
|
{"first":89,"second":259,"amount":-1,},
|
||||||
|
{"first":89,"second":260,"amount":-1,},
|
||||||
|
{"first":89,"second":261,"amount":-1,},
|
||||||
|
{"first":89,"second":263,"amount":-1,},
|
||||||
|
{"first":89,"second":265,"amount":-1,},
|
||||||
|
{"first":89,"second":269,"amount":-1,},
|
||||||
|
{"first":89,"second":271,"amount":-1,},
|
||||||
|
{"first":89,"second":273,"amount":-1,},
|
||||||
|
{"first":89,"second":275,"amount":-1,},
|
||||||
|
{"first":89,"second":277,"amount":-1,},
|
||||||
|
{"first":89,"second":279,"amount":-1,},
|
||||||
|
{"first":89,"second":281,"amount":-1,},
|
||||||
|
{"first":89,"second":283,"amount":-1,},
|
||||||
|
{"first":89,"second":285,"amount":-1,},
|
||||||
|
{"first":89,"second":287,"amount":-1,},
|
||||||
|
{"first":89,"second":289,"amount":-1,},
|
||||||
|
{"first":89,"second":291,"amount":-1,},
|
||||||
|
{"first":89,"second":324,"amount":-1,},
|
||||||
|
{"first":89,"second":328,"amount":-1,},
|
||||||
|
{"first":89,"second":331,"amount":-1,},
|
||||||
|
{"first":89,"second":333,"amount":-1,},
|
||||||
|
{"first":89,"second":335,"amount":-1,},
|
||||||
|
{"first":89,"second":337,"amount":-1,},
|
||||||
|
{"first":89,"second":339,"amount":-1,},
|
||||||
|
{"first":89,"second":341,"amount":-1,},
|
||||||
|
{"first":89,"second":343,"amount":-1,},
|
||||||
|
{"first":89,"second":345,"amount":-1,},
|
||||||
|
{"first":89,"second":347,"amount":-1,},
|
||||||
|
{"first":89,"second":349,"amount":-1,},
|
||||||
|
{"first":89,"second":351,"amount":-1,},
|
||||||
|
{"first":89,"second":353,"amount":-1,},
|
||||||
|
{"first":89,"second":361,"amount":-1,},
|
||||||
|
{"first":89,"second":363,"amount":-1,},
|
||||||
|
{"first":89,"second":365,"amount":-1,},
|
||||||
|
{"first":89,"second":367,"amount":-1,},
|
||||||
|
{"first":89,"second":369,"amount":-1,},
|
||||||
|
{"first":89,"second":371,"amount":-1,},
|
||||||
|
{"first":89,"second":506,"amount":-1,},
|
||||||
|
{"first":89,"second":507,"amount":-1,},
|
||||||
|
{"first":89,"second":508,"amount":-1,},
|
||||||
|
{"first":89,"second":509,"amount":-1,},
|
||||||
|
{"first":89,"second":511,"amount":-1,},
|
||||||
|
{"first":89,"second":537,"amount":-1,},
|
||||||
|
{"first":89,"second":8218,"amount":-1,},
|
||||||
|
{"first":89,"second":8222,"amount":-1,},
|
||||||
|
{"first":89,"second":8230,"amount":-1,},
|
||||||
|
{"first":91,"second":106,"amount":1,},
|
||||||
|
{"first":91,"second":309,"amount":1,},
|
||||||
|
{"first":101,"second":39,"amount":-1,},
|
||||||
|
{"first":102,"second":41,"amount":1,},
|
||||||
|
{"first":102,"second":44,"amount":-1,},
|
||||||
|
{"first":102,"second":46,"amount":-1,},
|
||||||
|
{"first":102,"second":93,"amount":1,},
|
||||||
|
{"first":102,"second":239,"amount":1,},
|
||||||
|
{"first":102,"second":297,"amount":1,},
|
||||||
|
{"first":102,"second":299,"amount":1,},
|
||||||
|
{"first":102,"second":301,"amount":1,},
|
||||||
|
{"first":102,"second":8230,"amount":-1,},
|
||||||
|
{"first":102,"second":8482,"amount":1,},
|
||||||
|
{"first":102,"second":64831,"amount":1,},
|
||||||
|
{"first":107,"second":45,"amount":-1,},
|
||||||
|
{"first":107,"second":8208,"amount":-1,},
|
||||||
|
{"first":110,"second":39,"amount":-1,},
|
||||||
|
{"first":111,"second":34,"amount":-1,},
|
||||||
|
{"first":111,"second":39,"amount":-1,},
|
||||||
|
{"first":111,"second":8217,"amount":-1,},
|
||||||
|
{"first":111,"second":8221,"amount":-1,},
|
||||||
|
{"first":112,"second":8216,"amount":-1,},
|
||||||
|
{"first":112,"second":8217,"amount":-1,},
|
||||||
|
{"first":112,"second":8221,"amount":-1,},
|
||||||
|
{"first":114,"second":44,"amount":-1,},
|
||||||
|
{"first":114,"second":45,"amount":-1,},
|
||||||
|
{"first":114,"second":46,"amount":-1,},
|
||||||
|
{"first":114,"second":8208,"amount":-1,},
|
||||||
|
{"first":114,"second":8216,"amount":1,},
|
||||||
|
{"first":114,"second":8217,"amount":1,},
|
||||||
|
{"first":114,"second":8218,"amount":-1,},
|
||||||
|
{"first":114,"second":8220,"amount":1,},
|
||||||
|
{"first":114,"second":8221,"amount":1,},
|
||||||
|
{"first":114,"second":8222,"amount":-1,},
|
||||||
|
{"first":114,"second":8230,"amount":-1,},
|
||||||
|
{"first":116,"second":45,"amount":-1,},
|
||||||
|
{"first":116,"second":8208,"amount":-1,},
|
||||||
|
{"first":118,"second":44,"amount":-1,},
|
||||||
|
{"first":118,"second":46,"amount":-1,},
|
||||||
|
{"first":118,"second":8218,"amount":-1,},
|
||||||
|
{"first":118,"second":8222,"amount":-1,},
|
||||||
|
{"first":118,"second":8230,"amount":-1,},
|
||||||
|
{"first":121,"second":44,"amount":-1,},
|
||||||
|
{"first":121,"second":46,"amount":-1,},
|
||||||
|
{"first":121,"second":8218,"amount":-1,},
|
||||||
|
{"first":121,"second":8222,"amount":-1,},
|
||||||
|
{"first":121,"second":8230,"amount":-1,},
|
||||||
|
{"first":123,"second":106,"amount":1,},
|
||||||
|
{"first":123,"second":309,"amount":1,},
|
||||||
|
],
|
||||||
|
"ranges": [
|
||||||
|
{"lower":32,"upper":127,},
|
||||||
|
{"lower":9647,"upper":9647,},
|
||||||
|
],
|
||||||
|
"regenerateBitmap": false,
|
||||||
|
"canGenerateBitmap": true,
|
||||||
|
"maintainGms1Font": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "font",
|
||||||
|
"path": "folders/font.yy",
|
||||||
|
},
|
||||||
|
}
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 9.3 KiB |
|
@ -24,7 +24,7 @@
|
||||||
"path": "texturegroups/Default",
|
"path": "texturegroups/Default",
|
||||||
},
|
},
|
||||||
"ascenderOffset": 0,
|
"ascenderOffset": 0,
|
||||||
"ascender": 0,
|
"ascender": 15,
|
||||||
"glyphs": {
|
"glyphs": {
|
||||||
"32": {"x":2,"y":2,"w":4,"h":21,"character":32,"shift":4,"offset":0,},
|
"32": {"x":2,"y":2,"w":4,"h":21,"character":32,"shift":4,"offset":0,},
|
||||||
"33": {"x":163,"y":48,"w":3,"h":21,"character":33,"shift":5,"offset":1,},
|
"33": {"x":163,"y":48,"w":3,"h":21,"character":33,"shift":5,"offset":1,},
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
if(sHOVER) HOVER = noone;
|
if(sHOVER) HOVER = noone;
|
||||||
if(sFOCUS) setFocus(noone);
|
if(sFOCUS) setFocus(noone);
|
||||||
|
|
||||||
TEXTBOX_ACTIVE = noone;
|
WIDGET_CURRENT = noone;
|
||||||
ds_list_remove(DIALOGS, self);
|
ds_list_remove(DIALOGS, self);
|
|
@ -5,3 +5,17 @@ name = "Key display";
|
||||||
alpha = 0;
|
alpha = 0;
|
||||||
disp_text = "";
|
disp_text = "";
|
||||||
depth = -999;
|
depth = -999;
|
||||||
|
|
||||||
|
extra_keys = [
|
||||||
|
[vk_control, "Ctrl"],
|
||||||
|
[vk_shift, "Shift"],
|
||||||
|
[vk_alt, "Alt"],
|
||||||
|
[vk_tab, "Tab"],
|
||||||
|
[vk_backspace, "Backspace"],
|
||||||
|
[vk_delete, "Delete"],
|
||||||
|
[vk_escape, "Escape"],
|
||||||
|
[vk_up, "Up"],
|
||||||
|
[vk_down, "Down"],
|
||||||
|
[vk_left, "Left"],
|
||||||
|
[vk_right, "Right"],
|
||||||
|
]
|
|
@ -2,12 +2,10 @@
|
||||||
#region draw
|
#region draw
|
||||||
var key = "";
|
var key = "";
|
||||||
|
|
||||||
if(keyboard_check(vk_control))
|
for( var i = 0; i < array_length(extra_keys); i++ ) {
|
||||||
key += "Ctrl";
|
if(keyboard_check(extra_keys[i][0]))
|
||||||
if(keyboard_check(vk_shift))
|
key += key == ""? extra_keys[i][1] : (" + " + extra_keys[i][1]);
|
||||||
key += key == ""? "Shift" : " + Shift";
|
}
|
||||||
if(keyboard_check(vk_alt))
|
|
||||||
key += key == ""? "Alt" : " + Alt";
|
|
||||||
|
|
||||||
if(keyboard_check(vk_anykey)) {
|
if(keyboard_check(vk_anykey)) {
|
||||||
var pres = keyboard_lastkey;
|
var pres = keyboard_lastkey;
|
||||||
|
|
|
@ -195,8 +195,9 @@ event_inherited();
|
||||||
|
|
||||||
var spr_x = _boxx + grid_size / 2;
|
var spr_x = _boxx + grid_size / 2;
|
||||||
var spr_y = yy + grid_size / 2;
|
var spr_y = yy + grid_size / 2;
|
||||||
if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr))
|
|
||||||
draw_sprite_ui_uniform(_node.spr, 0, spr_x, spr_y);
|
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
||||||
|
if(sprite_exists(_node.spr)) draw_sprite_ui_uniform(_node.spr, 0, spr_x, spr_y);
|
||||||
|
|
||||||
if(_node.new_node)
|
if(_node.new_node)
|
||||||
draw_sprite_ui_uniform(THEME.node_new_badge, 0, _boxx + grid_size - ui(12), yy + ui(6));
|
draw_sprite_ui_uniform(THEME.node_new_badge, 0, _boxx + grid_size - ui(12), yy + ui(6));
|
||||||
|
@ -260,7 +261,9 @@ event_inherited();
|
||||||
|
|
||||||
var spr_x = list_height / 2 + ui(14);
|
var spr_x = list_height / 2 + ui(14);
|
||||||
var spr_y = yy + list_height / 2;
|
var spr_y = yy + list_height / 2;
|
||||||
if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr)) {
|
|
||||||
|
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
||||||
|
if(sprite_exists(_node.spr)) {
|
||||||
var ss = (list_height - ui(8)) / max(sprite_get_width(_node.spr), sprite_get_height(_node.spr));
|
var ss = (list_height - ui(8)) / max(sprite_get_width(_node.spr), sprite_get_height(_node.spr));
|
||||||
draw_sprite_ext(_node.spr, 0, spr_x, spr_y, ss, ss, 0, c_white, 1);
|
draw_sprite_ext(_node.spr, 0, spr_x, spr_y, ss, ss, 0, c_white, 1);
|
||||||
}
|
}
|
||||||
|
@ -286,8 +289,8 @@ event_inherited();
|
||||||
|
|
||||||
#region resize
|
#region resize
|
||||||
dialog_resizable = true;
|
dialog_resizable = true;
|
||||||
dialog_w_min = ui(200);
|
dialog_w_min = ui(320);
|
||||||
dialog_h_min = ui(120);
|
dialog_h_min = ui(320);
|
||||||
dialog_w_max = ui(960);
|
dialog_w_max = ui(960);
|
||||||
dialog_h_max = ui(800);
|
dialog_h_max = ui(800);
|
||||||
|
|
||||||
|
@ -313,7 +316,7 @@ event_inherited();
|
||||||
searchNodes();
|
searchNodes();
|
||||||
});
|
});
|
||||||
tb_search.auto_update = true;
|
tb_search.auto_update = true;
|
||||||
TEXTBOX_ACTIVE = tb_search;
|
WIDGET_CURRENT = tb_search;
|
||||||
|
|
||||||
function searchNodes() {
|
function searchNodes() {
|
||||||
ds_list_clear(search_list);
|
ds_list_clear(search_list);
|
||||||
|
@ -394,7 +397,8 @@ event_inherited();
|
||||||
draw_sprite_stretched_ext(THEME.node_bg, 0, _boxx, yy, grid_size, grid_size, COLORS.dialog_add_node_collection, 1);
|
draw_sprite_stretched_ext(THEME.node_bg, 0, _boxx, yy, grid_size, grid_size, COLORS.dialog_add_node_collection, 1);
|
||||||
BLEND_NORMAL
|
BLEND_NORMAL
|
||||||
|
|
||||||
if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr)) {
|
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
||||||
|
if(sprite_exists(_node.spr)) {
|
||||||
var _si = current_time * PREF_MAP[? "collection_preview_speed"] / 3000;
|
var _si = current_time * PREF_MAP[? "collection_preview_speed"] / 3000;
|
||||||
var _sw = sprite_get_width(_node.spr);
|
var _sw = sprite_get_width(_node.spr);
|
||||||
var _sh = sprite_get_height(_node.spr);
|
var _sh = sprite_get_height(_node.spr);
|
||||||
|
@ -460,7 +464,8 @@ event_inherited();
|
||||||
BLEND_NORMAL
|
BLEND_NORMAL
|
||||||
}
|
}
|
||||||
|
|
||||||
if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr)) {
|
if(variable_struct_exists(_node, "getSpr")) _node.getSpr();
|
||||||
|
if(sprite_exists(_node.spr)) {
|
||||||
var _si = current_time * PREF_MAP[? "collection_preview_speed"] / 3000;
|
var _si = current_time * PREF_MAP[? "collection_preview_speed"] / 3000;
|
||||||
var _sw = sprite_get_width(_node.spr);
|
var _sw = sprite_get_width(_node.spr);
|
||||||
var _sh = sprite_get_height(_node.spr);
|
var _sh = sprite_get_height(_node.spr);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/// @description
|
/// @description
|
||||||
event_inherited();
|
event_inherited();
|
||||||
|
|
||||||
TEXTBOX_ACTIVE = noone;
|
WIDGET_CURRENT = noone;
|
|
@ -8,7 +8,7 @@ if !ready exit;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region search
|
#region search
|
||||||
TEXTBOX_ACTIVE = tb_search;
|
WIDGET_CURRENT = tb_search;
|
||||||
|
|
||||||
if(search_string == "") {
|
if(search_string == "") {
|
||||||
tb_search.focus = false;
|
tb_search.focus = false;
|
||||||
|
|
|
@ -87,14 +87,15 @@ event_inherited();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sprite_exists(content.spr)) {
|
var spr = content.getSpr();
|
||||||
var sw = sprite_get_width(content.spr);
|
if(sprite_exists(spr)) {
|
||||||
var sh = sprite_get_height(content.spr);
|
var sw = sprite_get_width(spr);
|
||||||
|
var sh = sprite_get_height(spr);
|
||||||
var ss = img_size / max(sw, sh);
|
var ss = img_size / max(sw, sh);
|
||||||
var sx = xx + (grid_size - sw * ss) / 2;
|
var sx = xx + (grid_size - sw * ss) / 2;
|
||||||
var sy = yy + (grid_size - sh * ss) / 2;
|
var sy = yy + (grid_size - sh * ss) / 2;
|
||||||
|
|
||||||
draw_sprite_ext(content.spr, frame, sx, sy, ss, ss, 0, c_white, 1);
|
draw_sprite_ext(spr, frame, sx, sy, ss, ss, 0, c_white, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,6 @@ event_inherited();
|
||||||
instance_destroy();
|
instance_destroy();
|
||||||
});
|
});
|
||||||
|
|
||||||
TEXTBOX_ACTIVE = tb_name;
|
WIDGET_CURRENT = tb_name;
|
||||||
KEYBOARD_STRING = "";
|
KEYBOARD_STRING = "";
|
||||||
#endregion
|
#endregion
|
9
objects/o_dialog_fontscrollbox/Alarm_0.gml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
/// @description init
|
||||||
|
#region pos
|
||||||
|
var hght = line_height(f_p0, 8);
|
||||||
|
var hh = array_length(FONT_INTERNAL) * hght;
|
||||||
|
|
||||||
|
dialog_h = min(max_h, hh);
|
||||||
|
sc_content.resize(dialog_w, dialog_h);
|
||||||
|
#endregion
|
||||||
|
event_inherited();
|
52
objects/o_dialog_fontscrollbox/Create_0.gml
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/// @description init
|
||||||
|
event_inherited();
|
||||||
|
|
||||||
|
#region
|
||||||
|
dialog_w = 560;
|
||||||
|
max_h = 640;
|
||||||
|
draggable = false;
|
||||||
|
destroy_on_click_out = true;
|
||||||
|
|
||||||
|
scrollbox = noone;
|
||||||
|
|
||||||
|
anchor = ANCHOR.top | ANCHOR.left;
|
||||||
|
|
||||||
|
sc_content = new scrollPane(0, 0, function(_y, _m) {
|
||||||
|
draw_clear_alpha(COLORS.panel_bg_clear, 0);
|
||||||
|
var hght = line_height(f_p0, 8);
|
||||||
|
var data = FONT_INTERNAL;
|
||||||
|
var _h = array_length(data) * hght;
|
||||||
|
var _dw = sc_content.surface_w;
|
||||||
|
|
||||||
|
for(var i = 0; i < array_length(data); i++) {
|
||||||
|
var _ly = _y + i * hght;
|
||||||
|
var fullpath = DIRECTORY + "Fonts/" + data[i];
|
||||||
|
|
||||||
|
if(sHOVER && sc_content.hover && point_in_rectangle(_m[0], _m[1], 0, _ly + 1, _dw, _ly + hght - 1)) {
|
||||||
|
draw_sprite_stretched_ext(THEME.textbox, 3, 0, _ly, _dw, hght, COLORS.dialog_menubox_highlight, 1);
|
||||||
|
|
||||||
|
if(mouse_press(mb_left, sFOCUS)) {
|
||||||
|
scrollbox.onModify(i);
|
||||||
|
instance_destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_set_text(f_p0, fa_left, fa_center, COLORS._main_text);
|
||||||
|
draw_text_cut(ui(8), _ly + hght / 2, data[i], _dw);
|
||||||
|
|
||||||
|
if(ds_map_exists(FONT_SPRITES, fullpath)) {
|
||||||
|
var spr = FONT_SPRITES[? fullpath];
|
||||||
|
var sw = sprite_get_width(spr);
|
||||||
|
var sh = sprite_get_height(spr);
|
||||||
|
var ss = (hght - ui(8)) / sh;
|
||||||
|
|
||||||
|
sw *= ss;
|
||||||
|
sh *= ss;
|
||||||
|
|
||||||
|
draw_sprite_ext(spr, 0, _dw - ui(8) - sw, _ly + hght / 2 - sh / 2, ss, ss, 0, c_white, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return _h;
|
||||||
|
});
|
||||||
|
#endregion
|
4
objects/o_dialog_fontscrollbox/Destroy_0.gml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
/// @description init
|
||||||
|
event_inherited();
|
||||||
|
|
||||||
|
scrollbox.open = false;
|
9
objects/o_dialog_fontscrollbox/Draw_64.gml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
/// @description init
|
||||||
|
#region draw
|
||||||
|
draw_sprite_stretched(THEME.textbox, 3, dialog_x, dialog_y, dialog_w, dialog_h);
|
||||||
|
|
||||||
|
sc_content.active = sHOVER;
|
||||||
|
sc_content.draw(dialog_x, dialog_y);
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.textbox, 1, dialog_x, dialog_y, dialog_w, dialog_h);
|
||||||
|
#endregion
|
39
objects/o_dialog_fontscrollbox/o_dialog_fontscrollbox.yy
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMObject",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "o_dialog_fontscrollbox",
|
||||||
|
"spriteId": null,
|
||||||
|
"solid": false,
|
||||||
|
"visible": true,
|
||||||
|
"managed": true,
|
||||||
|
"spriteMaskId": null,
|
||||||
|
"persistent": false,
|
||||||
|
"parentObjectId": {
|
||||||
|
"name": "_p_dialog",
|
||||||
|
"path": "objects/_p_dialog/_p_dialog.yy",
|
||||||
|
},
|
||||||
|
"physicsObject": false,
|
||||||
|
"physicsSensor": false,
|
||||||
|
"physicsShape": 1,
|
||||||
|
"physicsGroup": 1,
|
||||||
|
"physicsDensity": 0.5,
|
||||||
|
"physicsRestitution": 0.1,
|
||||||
|
"physicsLinearDamping": 0.1,
|
||||||
|
"physicsAngularDamping": 0.1,
|
||||||
|
"physicsFriction": 0.2,
|
||||||
|
"physicsStartAwake": true,
|
||||||
|
"physicsKinematic": false,
|
||||||
|
"physicsShapePoints": [],
|
||||||
|
"eventList": [
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,},
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":2,"collisionObjectId":null,},
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":64,"eventType":8,"collisionObjectId":null,},
|
||||||
|
{"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":1,"collisionObjectId":null,},
|
||||||
|
],
|
||||||
|
"properties": [],
|
||||||
|
"overriddenProperties": [],
|
||||||
|
"parent": {
|
||||||
|
"name": "widget",
|
||||||
|
"path": "folders/dialog/widget.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
event_inherited();
|
event_inherited();
|
||||||
|
|
||||||
#region data
|
#region data
|
||||||
dialog_w = ui(812);
|
dialog_w = ui(1068);
|
||||||
dialog_h = ui(476);
|
dialog_h = ui(476);
|
||||||
|
|
||||||
name = "Gradient editor";
|
name = "Gradient editor";
|
||||||
|
@ -137,6 +137,92 @@ event_inherited();
|
||||||
})
|
})
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region palette
|
||||||
|
palettes = ds_list_create();
|
||||||
|
palette_name = ds_list_create();
|
||||||
|
palette_selecting = -1;
|
||||||
|
|
||||||
|
function paletteCollect() {
|
||||||
|
ds_list_clear(palettes);
|
||||||
|
ds_list_clear(palette_name);
|
||||||
|
|
||||||
|
var path = DIRECTORY + "Palettes/"
|
||||||
|
var file = file_find_first(path + "*", 0);
|
||||||
|
while(file != "") {
|
||||||
|
ds_list_add(palettes, loadPalette(path + file));
|
||||||
|
ds_list_add(palette_name, filename_name(file));
|
||||||
|
file = file_find_next();
|
||||||
|
}
|
||||||
|
file_find_close();
|
||||||
|
}
|
||||||
|
paletteCollect();
|
||||||
|
|
||||||
|
sp_palette_w = ui(240 - 32 - 16);
|
||||||
|
sp_palette_size = ui(24);
|
||||||
|
click_block = false;
|
||||||
|
|
||||||
|
sp_palettes = new scrollPane(sp_palette_w, dialog_h - ui(62), function(_y, _m) {
|
||||||
|
var ww = sp_palette_w - ui(40);
|
||||||
|
var hh = ui(32);
|
||||||
|
var _gs = sp_palette_size;
|
||||||
|
var yy = _y + ui(8);
|
||||||
|
var _height, pre_amo;
|
||||||
|
var _hover = sHOVER && sp_palettes.hover;
|
||||||
|
draw_clear_alpha(COLORS.panel_bg_clear, 0);
|
||||||
|
|
||||||
|
for(var i = 0; i < ds_list_size(palettes); i++) {
|
||||||
|
pre_amo = array_length(palettes[| i]);
|
||||||
|
var col = floor(ww / _gs);
|
||||||
|
var row = ceil(pre_amo / col);
|
||||||
|
|
||||||
|
if(palette_selecting == i)
|
||||||
|
_height = ui(28) + row * _gs + ui(12);
|
||||||
|
else
|
||||||
|
_height = ui(56);
|
||||||
|
|
||||||
|
var isHover = _hover && point_in_rectangle(_m[0], _m[1], ui(4), yy, ui(4) + sp_palette_w - ui(16), yy + _height);
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.ui_panel_bg, 1, ui(4), yy, sp_palette_w - ui(16), _height);
|
||||||
|
if(isHover)
|
||||||
|
draw_sprite_stretched_ext(THEME.node_active, 1, ui(4), yy, sp_palette_w - ui(16), _height, COLORS._main_accent, 1);
|
||||||
|
|
||||||
|
draw_set_text(f_p2, fa_left, fa_top, COLORS._main_text_sub);
|
||||||
|
draw_text(ui(16), yy + ui(8), palette_name[| i]);
|
||||||
|
if(palette_selecting == i)
|
||||||
|
drawPaletteGrid(palettes[| i], ui(16), yy + ui(28), ww, _gs);
|
||||||
|
else
|
||||||
|
drawPalette(palettes[| i], ui(16), yy + ui(28), ww, ui(20));
|
||||||
|
|
||||||
|
if(!click_block && mouse_click(mb_left, sFOCUS)) {
|
||||||
|
if(palette_selecting == i && _hover && point_in_rectangle(_m[0], _m[1], ui(16), yy + ui(28), ui(16) + ww, yy + ui(28) + _height)) {
|
||||||
|
var m_ax = _m[0] - ui(16);
|
||||||
|
var m_ay = _m[1] - (yy + ui(28));
|
||||||
|
|
||||||
|
var m_gx = floor(m_ax / _gs);
|
||||||
|
var m_gy = floor(m_ay / _gs);
|
||||||
|
|
||||||
|
var _index = m_gy * col + m_gx;
|
||||||
|
if(_index < pre_amo && _index >= 0) {
|
||||||
|
selector.setColor(palettes[| i][_index]);
|
||||||
|
selector.setHSV();
|
||||||
|
}
|
||||||
|
} else if(isHover) {
|
||||||
|
palette_selecting = i;
|
||||||
|
click_block = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
yy += _height + ui(4);
|
||||||
|
hh += _height + ui(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mouse_release(mb_left))
|
||||||
|
click_block = false;
|
||||||
|
|
||||||
|
return hh;
|
||||||
|
})
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region action
|
#region action
|
||||||
function checkMouse() {}
|
function checkMouse() {}
|
||||||
#endregion
|
#endregion
|
|
@ -13,7 +13,9 @@ if !ready exit;
|
||||||
var presets_w = ui(240);
|
var presets_w = ui(240);
|
||||||
|
|
||||||
var content_x = dialog_x + presets_w + ui(16);
|
var content_x = dialog_x + presets_w + ui(16);
|
||||||
var content_w = dialog_w - presets_w - ui(16);
|
var content_w = ui(556);
|
||||||
|
|
||||||
|
var palette_x = content_x + content_w + ui(16);
|
||||||
|
|
||||||
draw_sprite_stretched(THEME.dialog_bg, 0, presets_x, dialog_y, presets_w, dialog_h);
|
draw_sprite_stretched(THEME.dialog_bg, 0, presets_x, dialog_y, presets_w, dialog_h);
|
||||||
if(sFOCUS) draw_sprite_stretched_ext(THEME.dialog_active, 0, presets_x, dialog_y, presets_w, dialog_h, COLORS._main_accent, 1);
|
if(sFOCUS) draw_sprite_stretched_ext(THEME.dialog_active, 0, presets_x, dialog_y, presets_w, dialog_h, COLORS._main_accent, 1);
|
||||||
|
@ -21,9 +23,13 @@ if !ready exit;
|
||||||
draw_sprite_stretched(THEME.dialog_bg, 0, content_x, dialog_y, content_w, dialog_h);
|
draw_sprite_stretched(THEME.dialog_bg, 0, content_x, dialog_y, content_w, dialog_h);
|
||||||
if(sFOCUS) draw_sprite_stretched_ext(THEME.dialog_active, 0, content_x, dialog_y, content_w, dialog_h, COLORS._main_accent, 1);
|
if(sFOCUS) draw_sprite_stretched_ext(THEME.dialog_active, 0, content_x, dialog_y, content_w, dialog_h, COLORS._main_accent, 1);
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.dialog_bg, 0, palette_x, dialog_y, presets_w, dialog_h);
|
||||||
|
if(sFOCUS) draw_sprite_stretched_ext(THEME.dialog_active, 0, palette_x, dialog_y, presets_w, dialog_h, COLORS._main_accent, 1);
|
||||||
|
|
||||||
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title);
|
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text_title);
|
||||||
draw_text(presets_x + ui(24), dialog_y + ui(16), "Presets");
|
draw_text(presets_x + ui(24), dialog_y + ui(16), "Presets");
|
||||||
draw_text(content_x + ui(24), dialog_y + ui(16), name);
|
draw_text(content_x + ui(24), dialog_y + ui(16), name);
|
||||||
|
draw_text(palette_x + ui(24), dialog_y + ui(16), "Palettes");
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region presets
|
#region presets
|
||||||
|
@ -72,6 +78,13 @@ if !ready exit;
|
||||||
bx -= ui(32);
|
bx -= ui(32);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region palette
|
||||||
|
draw_sprite_stretched(THEME.ui_panel_bg, 0, palette_x + ui(16), dialog_y + ui(44), ui(240 - 32), dialog_h - ui(60));
|
||||||
|
|
||||||
|
sp_palettes.active = sFOCUS;
|
||||||
|
sp_palettes.draw(palette_x + ui(16 + 8), dialog_y + ui(44));
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region gradient
|
#region gradient
|
||||||
var gr_x = content_x + ui(22);
|
var gr_x = content_x + ui(22);
|
||||||
var gr_y = dialog_y + ui(54);
|
var gr_y = dialog_y + ui(54);
|
||||||
|
|
|
@ -15,6 +15,29 @@ event_inherited();
|
||||||
current_page = 0;
|
current_page = 0;
|
||||||
filter = NOTI_TYPE.log | NOTI_TYPE.warning | NOTI_TYPE.error;
|
filter = NOTI_TYPE.log | NOTI_TYPE.warning | NOTI_TYPE.error;
|
||||||
|
|
||||||
|
rightClickMenu = [
|
||||||
|
[ "Clear log messages", function() {
|
||||||
|
for( var i = ds_list_size(STATUSES) - 1; i >= 0; i-- ) {
|
||||||
|
if(STATUSES[| i].type == NOTI_TYPE.log)
|
||||||
|
ds_list_delete(STATUSES, i);
|
||||||
|
}
|
||||||
|
} ],
|
||||||
|
[ "Clear warning messages", function() {
|
||||||
|
for( var i = ds_list_size(STATUSES) - 1; i >= 0; i-- ) {
|
||||||
|
if(STATUSES[| i].type == NOTI_TYPE.warning)
|
||||||
|
ds_list_delete(STATUSES, i);
|
||||||
|
}
|
||||||
|
} ],
|
||||||
|
-1,
|
||||||
|
[ "Clear all notifications", function() {
|
||||||
|
ds_list_clear(STATUSES);
|
||||||
|
} ],
|
||||||
|
-1,
|
||||||
|
[ "Open log file", function() {
|
||||||
|
shellOpenExplorer(DIRECTORY + "log.txt");
|
||||||
|
} ],
|
||||||
|
];
|
||||||
|
|
||||||
sp_noti = new scrollPane(dialog_w - ui(80), dialog_h - ui(88), function(_y, _m) {
|
sp_noti = new scrollPane(dialog_w - ui(80), dialog_h - ui(88), function(_y, _m) {
|
||||||
draw_clear_alpha(COLORS.panel_bg_clear, 0);
|
draw_clear_alpha(COLORS.panel_bg_clear, 0);
|
||||||
|
|
||||||
|
@ -35,14 +58,17 @@ event_inherited();
|
||||||
var _w = sp_noti.w - ui(12);
|
var _w = sp_noti.w - ui(12);
|
||||||
var _h = ui(8) + string_height_ext(noti.txt, -1, txw) + ui(8);
|
var _h = ui(8) + string_height_ext(noti.txt, -1, txw) + ui(8);
|
||||||
|
|
||||||
var cc = COLORS.dialog_notification_bg;
|
|
||||||
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(2), _w, _h - ui(4), COLORS.dialog_notification_bg, 1);
|
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(2), _w, _h - ui(4), COLORS.dialog_notification_bg, 1);
|
||||||
|
|
||||||
if(sHOVER && sp_noti.hover && point_in_rectangle(_m[0], _m[1], 0, yy, _w, yy + _h - ui(4))) {
|
if(sHOVER && sp_noti.hover && point_in_rectangle(_m[0], _m[1], 0, yy, _w, yy + _h - ui(4))) {
|
||||||
cc = COLORS.dialog_notification_bg_hover;
|
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(2), _w, _h - ui(4), COLORS.dialog_notification_bg_hover, 1);
|
||||||
|
|
||||||
|
if(noti.tooltip != "")
|
||||||
|
TOOLTIP = noti.tooltip;
|
||||||
|
|
||||||
if(noti.onClick != noone && mouse_press(mb_left, sFOCUS))
|
if(noti.onClick != noone && mouse_press(mb_left, sFOCUS))
|
||||||
noti.onClick();
|
noti.onClick();
|
||||||
|
|
||||||
if(mouse_press(mb_right, sFOCUS)) {
|
if(mouse_press(mb_right, sFOCUS)) {
|
||||||
var dia = dialogCall(o_dialog_menubox, mouse_mx + ui(8), mouse_my + ui(8));
|
var dia = dialogCall(o_dialog_menubox, mouse_mx + ui(8), mouse_my + ui(8));
|
||||||
dia.noti = noti;
|
dia.noti = noti;
|
||||||
|
@ -50,12 +76,13 @@ event_inherited();
|
||||||
[ "Copy notification message", function() {
|
[ "Copy notification message", function() {
|
||||||
clipboard_set_text(o_dialog_menubox.noti.txt);
|
clipboard_set_text(o_dialog_menubox.noti.txt);
|
||||||
} ],
|
} ],
|
||||||
|
[ "Delete notification", function() {
|
||||||
|
ds_list_remove(STATUSES, o_dialog_menubox.noti);
|
||||||
|
} ],
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(2), _w, _h - ui(4), cc, 1);
|
|
||||||
|
|
||||||
if(noti.life_max > 0) {
|
if(noti.life_max > 0) {
|
||||||
var _nwx = sp_noti.w - ui(12) - ui(40);
|
var _nwx = sp_noti.w - ui(12) - ui(40);
|
||||||
var _nw = _nwx * noti.life / noti.life_max;
|
var _nw = _nwx * noti.life / noti.life_max;
|
||||||
|
@ -65,6 +92,9 @@ event_inherited();
|
||||||
|
|
||||||
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(2), ui(48), _h - ui(4), noti.color, 1);
|
draw_sprite_stretched_ext(THEME.group_label, 0, 0, yy + ui(2), ui(48), _h - ui(4), noti.color, 1);
|
||||||
|
|
||||||
|
if(noti.icon_end != noone)
|
||||||
|
draw_sprite_ui(noti.icon_end, 1, _w - ui(24), yy + _h / 2,,,, COLORS._main_icon);
|
||||||
|
|
||||||
var ic = noti.icon;
|
var ic = noti.icon;
|
||||||
if(noti.icon == noone) {
|
if(noti.icon == noone) {
|
||||||
switch(noti.type) {
|
switch(noti.type) {
|
||||||
|
@ -78,11 +108,13 @@ event_inherited();
|
||||||
|
|
||||||
var tx = ui(48) + timeW + ui(12);
|
var tx = ui(48) + timeW + ui(12);
|
||||||
|
|
||||||
|
if(yy >= -_h && yy <= sp_noti.h) {
|
||||||
draw_set_text(f_p3, fa_right, fa_center, COLORS._main_text_sub);
|
draw_set_text(f_p3, fa_right, fa_center, COLORS._main_text_sub);
|
||||||
draw_text_ext(tx - ui(4), yy + _h / 2, noti.time, -1, txw);
|
draw_text_ext(tx - ui(4), yy + _h / 2, noti.time, -1, txw);
|
||||||
|
|
||||||
draw_set_text(f_p2, fa_left, fa_center, COLORS._main_text);
|
draw_set_text(f_p2, fa_left, fa_center, COLORS._main_text);
|
||||||
draw_text_ext(tx + ui(4), yy + _h / 2, noti.txt, -1, txw);
|
draw_text_ext(tx + ui(4), yy + _h / 2, noti.txt, -1, txw);
|
||||||
|
}
|
||||||
|
|
||||||
yy += _h;
|
yy += _h;
|
||||||
hh += _h;
|
hh += _h;
|
||||||
|
|
|
@ -17,18 +17,21 @@ if !ready exit;
|
||||||
var by = dialog_y + ui(16) + line_height() / 2 - hh / 2;
|
var by = dialog_y + ui(16) + line_height() / 2 - hh / 2;
|
||||||
|
|
||||||
var error = !!(filter & NOTI_TYPE.error);
|
var error = !!(filter & NOTI_TYPE.error);
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER,, THEME.noti_icon_error, error, c_white, 0.3 + error * 0.7) == 2)
|
var b = buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER,, THEME.noti_icon_error, error, c_white, 0.3 + error * 0.7);
|
||||||
filter = filter ^ NOTI_TYPE.error;
|
if(b == 2) filter = filter ^ NOTI_TYPE.error;
|
||||||
|
if(b == 3) dialogCall(o_dialog_menubox, mouse_mx + ui(8), mouse_my + ui(8)).setMenu(rightClickMenu);
|
||||||
bx -= ui(36);
|
bx -= ui(36);
|
||||||
|
|
||||||
var warn = !!(filter & NOTI_TYPE.warning);
|
var warn = !!(filter & NOTI_TYPE.warning);
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER,, THEME.noti_icon_warning, warn, c_white, 0.3 + warn * 0.7) == 2)
|
var b = buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER,, THEME.noti_icon_warning, warn, c_white, 0.3 + warn * 0.7);
|
||||||
filter = filter ^ NOTI_TYPE.warning;
|
if(b == 2) filter = filter ^ NOTI_TYPE.warning;
|
||||||
|
if(b == 3) dialogCall(o_dialog_menubox, mouse_mx + ui(8), mouse_my + ui(8)).setMenu(rightClickMenu);
|
||||||
bx -= ui(36);
|
bx -= ui(36);
|
||||||
|
|
||||||
var log = !!(filter & NOTI_TYPE.log);
|
var log = !!(filter & NOTI_TYPE.log);
|
||||||
if(buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER,, THEME.noti_icon_log, log, c_white, 0.3 + log * 0.7) == 2)
|
var b = buttonInstant(THEME.button_hide, bx, by, ww, hh, mouse_ui, sFOCUS, sHOVER,, THEME.noti_icon_log, log, c_white, 0.3 + log * 0.7);
|
||||||
filter = filter ^ NOTI_TYPE.log;
|
if(b == 2) filter = filter ^ NOTI_TYPE.log;
|
||||||
|
if(b == 3) dialogCall(o_dialog_menubox, mouse_mx + ui(8), mouse_my + ui(8)).setMenu(rightClickMenu);
|
||||||
|
|
||||||
draw_sprite_stretched(THEME.ui_panel_bg, 0, dialog_x + ui(24), dialog_y + ui(48), dialog_w - ui(48), dialog_h - ui(72));
|
draw_sprite_stretched(THEME.ui_panel_bg, 0, dialog_x + ui(24), dialog_y + ui(48), dialog_w - ui(48), dialog_h - ui(72));
|
||||||
sp_noti.active = sHOVER;
|
sp_noti.active = sHOVER;
|
||||||
|
|
|
@ -281,7 +281,7 @@ event_inherited();
|
||||||
|
|
||||||
var cw = ui(100);
|
var cw = ui(100);
|
||||||
var ch = th - ui(4);
|
var ch = th - ui(4);
|
||||||
var cx = x1 - cw;
|
var cx = x1 - cw - ui(8);
|
||||||
var category = "";
|
var category = "";
|
||||||
|
|
||||||
for( var i = 0; i < array_length(COLOR_KEYS); i++ ) {
|
for( var i = 0; i < array_length(COLOR_KEYS); i++ ) {
|
||||||
|
@ -304,7 +304,7 @@ event_inherited();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ind % 2 == 0)
|
if(ind % 2 == 0)
|
||||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, yy - padd, sp_colors.w, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, yy - padd, sp_colors.surface_w, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
||||||
|
|
||||||
var keyStr = string_replace_all(key, "_", " ");
|
var keyStr = string_replace_all(key, "_", " ");
|
||||||
keyStr = string_replace(keyStr, cat + " ", "");
|
keyStr = string_replace(keyStr, cat + " ", "");
|
||||||
|
@ -355,6 +355,17 @@ event_inherited();
|
||||||
var padd = ui(6);
|
var padd = ui(6);
|
||||||
var ind = 0;
|
var ind = 0;
|
||||||
|
|
||||||
|
for(var i = 0; i < ds_list_size(current_list); i++) {
|
||||||
|
var _pref = current_list[| i];
|
||||||
|
if(is_string(_pref)) continue;
|
||||||
|
|
||||||
|
var name = _pref[0];
|
||||||
|
if(search_text != "" && string_pos(string_lower(search_text), string_lower(name)) == 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
_pref[2].register(sp_pref);
|
||||||
|
}
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(current_list); i++) {
|
for(var i = 0; i < ds_list_size(current_list); i++) {
|
||||||
var _pref = current_list[| i];
|
var _pref = current_list[| i];
|
||||||
|
|
||||||
|
@ -373,7 +384,7 @@ event_inherited();
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(ind % 2 == 0)
|
if(ind % 2 == 0)
|
||||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, yy - padd, sp_pref.w, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, yy - padd, sp_pref.surface_w, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
||||||
|
|
||||||
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text);
|
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text);
|
||||||
draw_text(ui(8), yy + th / 2, _pref[0]);
|
draw_text(ui(8), yy + th / 2, _pref[0]);
|
||||||
|
@ -430,6 +441,8 @@ event_inherited();
|
||||||
var hh = 0;
|
var hh = 0;
|
||||||
var currGroup = -1;
|
var currGroup = -1;
|
||||||
var x1 = sp_hotkey.surface_w;
|
var x1 = sp_hotkey.surface_w;
|
||||||
|
var key_x1 = x1 - ui(32);
|
||||||
|
var modified = false;
|
||||||
|
|
||||||
for(var j = 0; j < ds_list_size(HOTKEY_CONTEXT); j++) {
|
for(var j = 0; j < ds_list_size(HOTKEY_CONTEXT); j++) {
|
||||||
var ll = HOTKEYS[? HOTKEY_CONTEXT[| j]];
|
var ll = HOTKEYS[? HOTKEY_CONTEXT[| j]];
|
||||||
|
@ -439,7 +452,10 @@ event_inherited();
|
||||||
var group = key.context;
|
var group = key.context;
|
||||||
var name = key.name;
|
var name = key.name;
|
||||||
var pkey = key.key;
|
var pkey = key.key;
|
||||||
//var modi = key.modi;
|
var modi = key.modi;
|
||||||
|
|
||||||
|
var dkey = key.dKey;
|
||||||
|
var dmod = key.dModi;
|
||||||
|
|
||||||
if(search_text != "" && string_pos(string_lower(search_text), string_lower(name)) == 0)
|
if(search_text != "" && string_pos(string_lower(search_text), string_lower(name)) == 0)
|
||||||
continue;
|
continue;
|
||||||
|
@ -457,7 +473,7 @@ event_inherited();
|
||||||
|
|
||||||
if(i % 2 == 0) {
|
if(i % 2 == 0) {
|
||||||
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _y + hh - padd,
|
draw_sprite_stretched_ext(THEME.ui_panel_bg, 0, 0, _y + hh - padd,
|
||||||
sp_hotkey.w, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
sp_hotkey.surface_w, th + padd * 2, COLORS.dialog_preference_prop_bg, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text);
|
draw_set_text(f_p0, fa_left, fa_top, COLORS._main_text);
|
||||||
|
@ -480,20 +496,25 @@ event_inherited();
|
||||||
PREF_SAVE();
|
PREF_SAVE();
|
||||||
} else if(keyboard_check_pressed(vk_anykey)) {
|
} else if(keyboard_check_pressed(vk_anykey)) {
|
||||||
var press = false;
|
var press = false;
|
||||||
for(var a = 32; a <= 126; a++) {
|
|
||||||
if(keyboard_check_pressed(a)) {
|
|
||||||
key.key = ord(string_upper(ansi_char(a)));
|
|
||||||
press = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!press) {
|
|
||||||
for(var a = 0; a < array_length(vk_list); a++) {
|
for(var a = 0; a < array_length(vk_list); a++) {
|
||||||
if(keyboard_check_pressed(vk_list[a])) {
|
if(!keyboard_check_pressed(vk_list[a])) continue;
|
||||||
key.key = vk_list[a];
|
key.key = vk_list[a];
|
||||||
press = true;
|
press = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!press) {
|
||||||
|
var k = ds_map_find_first(global.KEY_STRING_MAP);
|
||||||
|
var amo = ds_map_size(global.KEY_STRING_MAP);
|
||||||
|
repeat(amo) {
|
||||||
|
if(!keyboard_check_pressed(k)) {
|
||||||
|
k = ds_map_find_next(global.KEY_STRING_MAP, k);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
key.key = k;
|
||||||
|
press = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -501,21 +522,47 @@ event_inherited();
|
||||||
PREF_SAVE();
|
PREF_SAVE();
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_sprite_stretched(THEME.button_hide, 2, x1 - ui(40) - kw, _y + hh - ui(6), kw + ui(32), th + ui(12));
|
draw_sprite_stretched(THEME.button_hide, 2, key_x1 - ui(40) - kw, _y + hh - ui(6), kw + ui(32), th + ui(12));
|
||||||
} else {
|
} else {
|
||||||
if(buttonInstant(THEME.button_hide, x1 - ui(40) - kw, _y + hh - ui(6), kw + ui(32), th + ui(12),
|
var bx = key_x1 - ui(40) - kw;
|
||||||
_m, sFOCUS, sHOVER && sp_hotkey.hover) == 2) {
|
var by = _y + hh - ui(6);
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, kw + ui(32), th + ui(12), _m, sFOCUS, sHOVER && sp_hotkey.hover) == 2) {
|
||||||
hk_editing = key;
|
hk_editing = key;
|
||||||
keyboard_lastchar = pkey;
|
keyboard_lastchar = pkey;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
draw_set_text(f_p0, fa_right, fa_top, hk_editing == key? COLORS._main_text_accent : COLORS._main_text);
|
draw_set_text(f_p0, fa_right, fa_top, hk_editing == key? COLORS._main_text_accent : COLORS._main_text);
|
||||||
draw_text(x1 - ui(24), _y + hh, dk);
|
draw_text(key_x1 - ui(24), _y + hh, dk);
|
||||||
|
|
||||||
|
if(key.key != dkey || key.modi != dmod) {
|
||||||
|
modified = true;
|
||||||
|
var bx = x1 - ui(32);
|
||||||
|
var by = _y + hh;
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, ui(24), ui(24), _m, sFOCUS, sHOVER && sp_hotkey.hover, "Reset", THEME.refresh_s) == 2) {
|
||||||
|
key.key = dkey;
|
||||||
|
key.modi = dmod;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
hh += th + padd * 2;
|
hh += th + padd * 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(modified) {
|
||||||
|
var bx = x1 - ui(32);
|
||||||
|
var by = _y + ui(2);
|
||||||
|
if(buttonInstant(THEME.button_hide, bx, by, ui(24), ui(24), _m, sFOCUS, sHOVER && sp_hotkey.hover, "Reset all", THEME.refresh_s) == 2) {
|
||||||
|
for(var j = 0; j < ds_list_size(HOTKEY_CONTEXT); j++) {
|
||||||
|
var ll = HOTKEYS[? HOTKEY_CONTEXT[| j]];
|
||||||
|
for(var i = 0; i < ds_list_size(ll); i++) {
|
||||||
|
var key = ll[| i];
|
||||||
|
key.key = key.dKey;
|
||||||
|
key.modi = key.dModi;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return hh;
|
return hh;
|
||||||
})
|
})
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -79,7 +79,7 @@ if !ready exit;
|
||||||
|
|
||||||
sp_colors.active = sHOVER;
|
sp_colors.active = sHOVER;
|
||||||
sp_colors.draw(dialog_x + ui(168), yy + ui(40));
|
sp_colors.draw(dialog_x + ui(168), yy + ui(40));
|
||||||
} else if(page_current == 2) {
|
} else if(page_current == 4) {
|
||||||
if(mouse_press(mb_left, sFOCUS))
|
if(mouse_press(mb_left, sFOCUS))
|
||||||
hk_editing = noone;
|
hk_editing = noone;
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
addHotkey("", "Undo", "Z", MOD_KEY.ctrl, function() { UNDO(); });
|
addHotkey("", "Undo", "Z", MOD_KEY.ctrl, function() { UNDO(); });
|
||||||
addHotkey("", "Redo", "Z", MOD_KEY.ctrl | MOD_KEY.shift, function() { REDO(); });
|
addHotkey("", "Redo", "Z", MOD_KEY.ctrl | MOD_KEY.shift, function() { REDO(); });
|
||||||
|
|
||||||
addHotkey("", "Full panel", vk_tab, MOD_KEY.none, set_focus_fullscreen);
|
addHotkey("", "Full panel", "`", MOD_KEY.none, set_focus_fullscreen);
|
||||||
|
|
||||||
addHotkey("", "Render all", vk_f5, MOD_KEY.none, function() {
|
addHotkey("", "Render all", vk_f5, MOD_KEY.none, function() {
|
||||||
UPDATE |= RENDER_TYPE.full;
|
UPDATE |= RENDER_TYPE.full;
|
||||||
|
@ -84,6 +84,10 @@
|
||||||
case ".json" :
|
case ".json" :
|
||||||
node = Node_create_Json_File_Read_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
node = Node_create_Json_File_Read_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
||||||
break;
|
break;
|
||||||
|
case ".ase" :
|
||||||
|
case ".aseprite" :
|
||||||
|
node = Node_create_ASE_File_Read_path(PANEL_GRAPH.mouse_grid_x, PANEL_GRAPH.mouse_grid_y, path);
|
||||||
|
break;
|
||||||
case ".png" :
|
case ".png" :
|
||||||
case ".jpg" :
|
case ".jpg" :
|
||||||
case ".jpeg" :
|
case ".jpeg" :
|
||||||
|
|
|
@ -1,4 +1,18 @@
|
||||||
/// @description init
|
/// @description init
|
||||||
|
#region widget scroll
|
||||||
|
if(keyboard_check_pressed(vk_tab) && keyboard_check(vk_shift))
|
||||||
|
widget_previous();
|
||||||
|
else if(keyboard_check_pressed(vk_tab))
|
||||||
|
widget_next();
|
||||||
|
|
||||||
|
if(keyboard_check_pressed(vk_enter))
|
||||||
|
widget_trigger();
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region register UI element
|
||||||
|
WIDGET_ACTIVE = [];
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region panels
|
#region panels
|
||||||
if(PANEL_MAIN != 0) {
|
if(PANEL_MAIN != 0) {
|
||||||
PANEL_MAIN.draw();
|
PANEL_MAIN.draw();
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
/// @description init
|
/// @description init
|
||||||
MODIFIED = false;
|
MODIFIED = false;
|
||||||
|
PREF_LOAD();
|
|
@ -50,6 +50,7 @@
|
||||||
var l = HOTKEYS[? ""];
|
var l = HOTKEYS[? ""];
|
||||||
for(var i = 0; i < ds_list_size(l); i++) {
|
for(var i = 0; i < ds_list_size(l); i++) {
|
||||||
var hotkey = l[| i];
|
var hotkey = l[| i];
|
||||||
|
var name = hotkey.name;
|
||||||
|
|
||||||
if(key_press(hotkey.key, hotkey.modi)) {
|
if(key_press(hotkey.key, hotkey.modi)) {
|
||||||
hotkey.action();
|
hotkey.action();
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
_k = ds_map_find_next(NODE_MAP, _k);
|
_k = ds_map_find_next(NODE_MAP, _k);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(UPDATE & RENDER_TYPE.full || ANIMATOR.rendering)
|
if(UPDATE & RENDER_TYPE.full || (ANIMATOR.rendering && ANIMATOR.frame_progress))
|
||||||
Render();
|
Render();
|
||||||
if(UPDATE & RENDER_TYPE.partial)
|
if(UPDATE & RENDER_TYPE.partial)
|
||||||
Render(true);
|
Render(true);
|
||||||
|
|
|
@ -2,9 +2,12 @@
|
||||||
"resourceType": "GMWindowsOptions",
|
"resourceType": "GMWindowsOptions",
|
||||||
"resourceVersion": "1.1",
|
"resourceVersion": "1.1",
|
||||||
"name": "Windows",
|
"name": "Windows",
|
||||||
"option_windows_display_name": "Pixel Composer 1.0.9",
|
"ConfigValues": {
|
||||||
"option_windows_executable_name": "${project_name} 1.0.9.exe",
|
"Tester": {"option_windows_version":"1.1.0.1","option_windows_executable_name":"${project_name} 1.1.0.1.exe","option_windows_display_name":"Pixel Composer 1.1.0.1",},
|
||||||
"option_windows_version": "1.0.9.0",
|
},
|
||||||
|
"option_windows_display_name": "Pixel Composer 1.1.0",
|
||||||
|
"option_windows_executable_name": "${project_name} 1.1.0.exe",
|
||||||
|
"option_windows_version": "1.1.0.0",
|
||||||
"option_windows_company_info": "MakhamDev",
|
"option_windows_company_info": "MakhamDev",
|
||||||
"option_windows_product_info": "Pixel Composer",
|
"option_windows_product_info": "Pixel Composer",
|
||||||
"option_windows_copyright_info": "",
|
"option_windows_copyright_info": "",
|
||||||
|
|
|
@ -66,13 +66,13 @@ enum CAMERA_PROJ {
|
||||||
vertex_add_pnt(VB, [_0, _0, _0], [0, 0, -1], [0, 0]);
|
vertex_add_pnt(VB, [_0, _0, _0], [0, 0, -1], [0, 0]);
|
||||||
vertex_add_pnt(VB, [_0, _1, _0], [0, 0, -1], [0, 1]);
|
vertex_add_pnt(VB, [_0, _1, _0], [0, 0, -1], [0, 1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [_1, _0, _1], [0, 0, 1], [1, 0]);
|
vertex_add_pnt(VB, [_1, _0, _1], [0, 0, 1], [0, 0]);
|
||||||
vertex_add_pnt(VB, [_0, _0, _1], [0, 0, 1], [0, 0]);
|
vertex_add_pnt(VB, [_0, _0, _1], [0, 0, 1], [1, 0]);
|
||||||
vertex_add_pnt(VB, [_1, _1, _1], [0, 0, 1], [1, 1]);
|
vertex_add_pnt(VB, [_1, _1, _1], [0, 0, 1], [0, 1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [_1, _1, _1], [0, 0, 1], [1, 1]);
|
vertex_add_pnt(VB, [_1, _1, _1], [0, 0, 1], [0, 1]);
|
||||||
vertex_add_pnt(VB, [_0, _0, _1], [0, 0, 1], [0, 0]);
|
vertex_add_pnt(VB, [_0, _0, _1], [0, 0, 1], [1, 0]);
|
||||||
vertex_add_pnt(VB, [_0, _1, _1], [0, 0, 1], [0, 1]);
|
vertex_add_pnt(VB, [_0, _1, _1], [0, 0, 1], [1, 1]);
|
||||||
|
|
||||||
|
|
||||||
vertex_add_pnt(VB, [_1, _0, _0], [0, 1, 0], [1, 0]);
|
vertex_add_pnt(VB, [_1, _0, _0], [0, 1, 0], [1, 0]);
|
||||||
|
@ -92,13 +92,13 @@ enum CAMERA_PROJ {
|
||||||
vertex_add_pnt(VB, [_0, _1, _1], [0, -1, 0], [0, 1]);
|
vertex_add_pnt(VB, [_0, _1, _1], [0, -1, 0], [0, 1]);
|
||||||
|
|
||||||
|
|
||||||
vertex_add_pnt(VB, [_0, _1, _0], [1, 0, 0], [0, 1]);
|
vertex_add_pnt(VB, [_0, _1, _0], [1, 0, 0], [1, 1]);
|
||||||
vertex_add_pnt(VB, [_0, _0, _0], [1, 0, 0], [0, 0]);
|
vertex_add_pnt(VB, [_0, _0, _0], [1, 0, 0], [1, 0]);
|
||||||
vertex_add_pnt(VB, [_0, _1, _1], [1, 0, 0], [1, 1]);
|
vertex_add_pnt(VB, [_0, _1, _1], [1, 0, 0], [0, 1]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [_0, _1, _1], [1, 0, 0], [1, 1]);
|
vertex_add_pnt(VB, [_0, _1, _1], [1, 0, 0], [0, 1]);
|
||||||
vertex_add_pnt(VB, [_0, _0, _0], [1, 0, 0], [0, 0]);
|
vertex_add_pnt(VB, [_0, _0, _0], [1, 0, 0], [1, 0]);
|
||||||
vertex_add_pnt(VB, [_0, _0, _1], [1, 0, 0], [1, 0]);
|
vertex_add_pnt(VB, [_0, _0, _1], [1, 0, 0], [0, 0]);
|
||||||
|
|
||||||
vertex_add_pnt(VB, [_1, _1, _0], [-1, 0, 0], [0, 1]);
|
vertex_add_pnt(VB, [_1, _1, _0], [-1, 0, 0], [0, 1]);
|
||||||
vertex_add_pnt(VB, [_1, _0, _0], [-1, 0, 0], [0, 0]);
|
vertex_add_pnt(VB, [_1, _0, _0], [-1, 0, 0], [0, 0]);
|
||||||
|
|
|
@ -31,14 +31,16 @@ function __part(_node) constructor {
|
||||||
|
|
||||||
scx = 1;
|
scx = 1;
|
||||||
scy = 1;
|
scy = 1;
|
||||||
scx_s = 1;
|
sc_sx = 1;
|
||||||
scy_s = 1;
|
sc_sy = 1;
|
||||||
|
sct = CURVE_DEF_11;
|
||||||
|
|
||||||
rot = 0;
|
rot = 0;
|
||||||
follow = false;
|
follow = false;
|
||||||
rot_s = 0;
|
rot_s = 0;
|
||||||
|
|
||||||
col = -1;
|
col = -1;
|
||||||
|
blend = c_white;
|
||||||
alp = 1;
|
alp = 1;
|
||||||
alp_draw = alp;
|
alp_draw = alp;
|
||||||
alp_fade = 0;
|
alp_fade = 0;
|
||||||
|
@ -70,17 +72,18 @@ function __part(_node) constructor {
|
||||||
|
|
||||||
wig = _wig;
|
wig = _wig;
|
||||||
}
|
}
|
||||||
function setTransform(_scx, _scy, _scxs, _scys, _rot, _rots, _follow) {
|
function setTransform(_scx, _scy, _sct, _rot, _rots, _follow) {
|
||||||
scx = _scx;
|
sc_sx = _scx;
|
||||||
scy = _scy;
|
sc_sy = _scy;
|
||||||
scx_s = _scxs;
|
sct = _sct;
|
||||||
scy_s = _scys;
|
|
||||||
rot = _rot;
|
rot = _rot;
|
||||||
rot_s = _rots;
|
rot_s = _rots;
|
||||||
follow = _follow;
|
follow = _follow;
|
||||||
}
|
}
|
||||||
function setDraw(_col, _alp, _fade) {
|
function setDraw(_col, _blend, _alp, _fade) {
|
||||||
col = _col;
|
col = _col;
|
||||||
|
blend = _blend;
|
||||||
alp = _alp;
|
alp = _alp;
|
||||||
alp_draw = _alp;
|
alp_draw = _alp;
|
||||||
alp_fade = _fade;
|
alp_fade = _fade;
|
||||||
|
@ -109,23 +112,17 @@ function __part(_node) constructor {
|
||||||
gy += g;
|
gy += g;
|
||||||
y += gy;
|
y += gy;
|
||||||
|
|
||||||
if(scx_s < 0) scx = max(scx + scx_s, 0);
|
|
||||||
else scx = scx + scx_s;
|
|
||||||
if(scy_s < 0) scy = max(scy + scy_s, 0);
|
|
||||||
else scy = scy + scy_s;
|
|
||||||
|
|
||||||
if(follow)
|
if(follow)
|
||||||
rot = point_direction(xp, yp, x, y);
|
rot = point_direction(xp, yp, x, y);
|
||||||
else
|
else
|
||||||
rot += rot_s;
|
rot += rot_s;
|
||||||
alp_draw = alp * eval_curve_bezier_cubic_x(alp_fade, 1 - life / life_total);
|
|
||||||
|
|
||||||
if(step_int > 0 && safe_mod(life, step_int) == 0)
|
if(step_int > 0 && safe_mod(life, step_int) == 0)
|
||||||
node.onPartStep(self);
|
node.onPartStep(self);
|
||||||
if(life-- < 0) kill();
|
if(life-- < 0) kill();
|
||||||
}
|
}
|
||||||
|
|
||||||
function draw(exact) {
|
function draw(exact, surf_w, surf_h) {
|
||||||
if(!active) return;
|
if(!active) return;
|
||||||
var ss = surf;
|
var ss = surf;
|
||||||
if(is_array(surf)) {
|
if(is_array(surf)) {
|
||||||
|
@ -148,7 +145,9 @@ function __part(_node) constructor {
|
||||||
}
|
}
|
||||||
if(!is_surface(ss)) return;
|
if(!is_surface(ss)) return;
|
||||||
|
|
||||||
var cc = (col == -1)? c_white : gradient_eval(col, 1 - life / life_total);
|
scx = sc_sx * eval_curve_bezier_cubic_x(sct, 1 - life / life_total);
|
||||||
|
scy = sc_sy * eval_curve_bezier_cubic_x(sct, 1 - life / life_total);
|
||||||
|
|
||||||
var _xx, _yy;
|
var _xx, _yy;
|
||||||
var s_w = surface_get_width(ss) * scx;
|
var s_w = surface_get_width(ss) * scx;
|
||||||
var s_h = surface_get_height(ss) * scy;
|
var s_h = surface_get_height(ss) * scy;
|
||||||
|
@ -175,6 +174,16 @@ function __part(_node) constructor {
|
||||||
_yy = round(_yy);
|
_yy = round(_yy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var x0 = _xx - s_w * 1.5;
|
||||||
|
var y0 = _yy - s_h * 1.5;
|
||||||
|
var x1 = _xx + s_w * 1.5;
|
||||||
|
var y1 = _yy + s_h * 1.5;
|
||||||
|
|
||||||
|
if(x0 > surf_w || y0 > surf_h || x1 < 0 || y1 < 0) return;
|
||||||
|
|
||||||
|
var cc = (col == -1)? c_white : gradient_eval(col, 1 - life / life_total);
|
||||||
|
cc = colorMultiply(blend, cc);
|
||||||
|
alp_draw = alp * eval_curve_bezier_cubic_x(alp_fade, 1 - life / life_total);
|
||||||
draw_surface_ext_safe(ss, _xx, _yy, scx, scy, rot, cc, alp_draw);
|
draw_surface_ext_safe(ss, _xx, _yy, scx, scy, rot, cc, alp_draw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,367 +0,0 @@
|
||||||
/* Backup
|
|
||||||
function Node_VFX(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
|
||||||
name = "VFX";
|
|
||||||
use_cache = true;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Particle sprite", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, 0)
|
|
||||||
.setDisplay(noone, "particles");
|
|
||||||
|
|
||||||
inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2)
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
|
||||||
|
|
||||||
inputs[| 2] = nodeValue(2, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4);
|
|
||||||
inputs[| 3] = nodeValue(3, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
|
||||||
inputs[| 4] = nodeValue(4, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.area, function() { return inputs[| 1].getValue(); });
|
|
||||||
|
|
||||||
inputs[| 5] = nodeValue(5, "Spawn distribution", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Area", "Border" ]);
|
|
||||||
|
|
||||||
inputs[| 6] = nodeValue(6, "Lifespan", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 20, 30 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 7] = nodeValue(7, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
|
||||||
inputs[| 8] = nodeValue(8, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 9] = nodeValue(9, "Orientation", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [0, 0])
|
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
|
||||||
|
|
||||||
inputs[| 10] = nodeValue(10, "Rotational speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 11] = nodeValue(11, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector_range);
|
|
||||||
inputs[| 12] = nodeValue(12, "Scaling speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
|
||||||
|
|
||||||
inputs[| 13] = nodeValue(13, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
|
||||||
.setDisplay(VALUE_DISPLAY.gradient);
|
|
||||||
inputs[| 14] = nodeValue(14, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
inputs[| 15] = nodeValue(15, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11);
|
|
||||||
|
|
||||||
inputs[| 16] = nodeValue(16, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
|
||||||
|
|
||||||
inputs[| 17] = nodeValue(17, "Spawn type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Stream", "Burst" ]);
|
|
||||||
|
|
||||||
inputs[| 18] = nodeValue(18, "Spawn size", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 19] = nodeValue(19, "Draw exact", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
|
||||||
|
|
||||||
inputs[| 20] = nodeValue(20, "Spawn velocity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [1, 2] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
|
||||||
|
|
||||||
inputs[| 21] = nodeValue(21, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
|
||||||
inputs[| 22] = nodeValue(22, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
|
||||||
|
|
||||||
inputs[| 23] = nodeValue(23, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
|
||||||
|
|
||||||
inputs[| 24] = nodeValue(24, "Blend mode", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Normal", "Additive" ]);
|
|
||||||
|
|
||||||
inputs[| 25] = nodeValue(25, "Surface array", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0 )
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_scroll, [ "Random", "Order", "Animation" ])
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
inputs[| 26] = nodeValue(26, "Animation speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 )
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
inputs[| 27] = nodeValue(27, "Scatter", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 1)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Uniform", "Random", "Data" ]);
|
|
||||||
|
|
||||||
inputs[| 28] = nodeValue(28, "Boundary data", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [])
|
|
||||||
.setVisible(false, true);
|
|
||||||
|
|
||||||
inputs[| 29] = nodeValue(29, "On animation end", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, ANIM_END_ACTION.loop)
|
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Loop", "Ping pong", "Destroy" ])
|
|
||||||
.setVisible(false);
|
|
||||||
|
|
||||||
input_display_list = [
|
|
||||||
["Output", true], 1,
|
|
||||||
["Sprite", false], 0, 25, 26, 29,
|
|
||||||
["Spawn", true], 17, 2, 3, 4, 5, 27, 28, 6,
|
|
||||||
["Movement", true], 7, 20, 8,
|
|
||||||
["Physics", true], 21, 22,
|
|
||||||
["Rotation", true], 16, 9, 10,
|
|
||||||
["Scale", true], 11, 18, 12,
|
|
||||||
["Color", true], 13, 14, 15,
|
|
||||||
["Render", true], 24, 19, 23
|
|
||||||
];
|
|
||||||
|
|
||||||
outputs[| 0] = nodeValue(0, "Surface out", self, JUNCTION_CONNECT.output, VALUE_TYPE.surface, PIXEL_SURFACE);
|
|
||||||
|
|
||||||
seed_origin = irandom(9999999);
|
|
||||||
seed = seed_origin;
|
|
||||||
def_surface = -1;
|
|
||||||
|
|
||||||
parts = ds_list_create();
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
|
||||||
ds_list_add(parts, new __part());
|
|
||||||
|
|
||||||
outputs[| 1] = nodeValue(1, "Particle data", self, JUNCTION_CONNECT.output, VALUE_TYPE.object, parts );
|
|
||||||
|
|
||||||
static spawn = function(_time = ANIMATOR.current_frame) {
|
|
||||||
random_set_seed(seed++);
|
|
||||||
|
|
||||||
var _inSurf = inputs[| 0].getValue(_time);
|
|
||||||
|
|
||||||
if(_inSurf == 0) {
|
|
||||||
if(def_surface == -1 || !surface_exists(def_surface)) {
|
|
||||||
def_surface = PIXEL_SURFACE;
|
|
||||||
surface_set_target(def_surface);
|
|
||||||
draw_clear(c_white);
|
|
||||||
surface_reset_target();
|
|
||||||
}
|
|
||||||
_inSurf = def_surface;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _spawn_amount = inputs[| 3].getValue(_time);
|
|
||||||
var _amo = _spawn_amount;
|
|
||||||
|
|
||||||
var _spawn_area = inputs[| 4].getValue(_time);
|
|
||||||
var _distrib = inputs[| 5].getValue(_time);
|
|
||||||
var _scatter = inputs[| 27].getValue(_time);
|
|
||||||
|
|
||||||
var _life = inputs[| 6].getValue(_time);
|
|
||||||
var _direction = inputs[| 7].getValue(_time);
|
|
||||||
var _velocity = inputs[| 20].getValue(_time);
|
|
||||||
|
|
||||||
var _accel = inputs[| 8].getValue(_time);
|
|
||||||
var _grav = inputs[| 21].getValue(_time);
|
|
||||||
var _wigg = inputs[| 22].getValue(_time);
|
|
||||||
|
|
||||||
var _follow = inputs[| 16].getValue(_time);
|
|
||||||
var _rotation = inputs[| 9].getValue(_time);
|
|
||||||
var _rotation_speed = inputs[| 10].getValue(_time);
|
|
||||||
var _scale = inputs[| 11].getValue(_time);
|
|
||||||
var _size = inputs[| 18].getValue(_time);
|
|
||||||
var _scale_speed = inputs[| 12].getValue(_time);
|
|
||||||
|
|
||||||
var _loop = inputs[| 23].getValue(_time);
|
|
||||||
|
|
||||||
var _color = inputs[| 13].getValue(_time);
|
|
||||||
var _alpha = inputs[| 14].getValue(_time);
|
|
||||||
var _fade = inputs[| 15].getValue(_time);
|
|
||||||
|
|
||||||
var _arr_type = inputs[| 25].getValue(_time);
|
|
||||||
var _anim_speed = inputs[| 26].getValue(_time);
|
|
||||||
var _anim_end = inputs[| 29].getValue(_time);
|
|
||||||
|
|
||||||
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
|
||||||
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
|
||||||
if(!parts[| i].active) {
|
|
||||||
var _spr = _inSurf, _index = 0;
|
|
||||||
if(is_array(_inSurf)) {
|
|
||||||
if(_arr_type == 0) {
|
|
||||||
_index = irandom(array_length(_inSurf) - 1);
|
|
||||||
_spr = _inSurf[_index];
|
|
||||||
} else if(_arr_type == 1) {
|
|
||||||
_index = safe_mod(spawn_index, array_length(_inSurf));
|
|
||||||
_spr = _inSurf[_index];
|
|
||||||
} else if(_arr_type == 2)
|
|
||||||
_spr = _inSurf;
|
|
||||||
}
|
|
||||||
var xx = 0;
|
|
||||||
var yy = 0;
|
|
||||||
|
|
||||||
if(_scatter == 2) {
|
|
||||||
var _b_data = inputs[| 28].getValue(_time);
|
|
||||||
if(!is_array(_b_data) || array_length(_b_data) <= 0) return;
|
|
||||||
var _b = _b_data[safe_mod(_index, array_length(_b_data))];
|
|
||||||
if(!is_array(_b) || array_length(_b) != 4) return;
|
|
||||||
|
|
||||||
xx = array_safe_get(_spawn_area, 0) - array_safe_get(_spawn_area, 2);
|
|
||||||
yy = array_safe_get(_spawn_area, 1) - array_safe_get(_spawn_area, 3);
|
|
||||||
|
|
||||||
parts[| i].boundary_data = _b;
|
|
||||||
} else {
|
|
||||||
var sp = area_get_random_point(_spawn_area, _distrib, _scatter, spawn_index, _spawn_amount);
|
|
||||||
xx = sp[0];
|
|
||||||
yy = sp[1];
|
|
||||||
|
|
||||||
parts[| i].boundary_data = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _lif = random_range(_life[0], _life[1]);
|
|
||||||
|
|
||||||
var _rot = random_range(_rotation[0], _rotation[1]);
|
|
||||||
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
|
||||||
|
|
||||||
var _dirr = random_range(_direction[0], _direction[1]);
|
|
||||||
|
|
||||||
var _velo = random_range(_velocity[0], _velocity[1]);
|
|
||||||
var _vx = lengthdir_x(_velo, _dirr);
|
|
||||||
var _vy = lengthdir_y(_velo, _dirr);
|
|
||||||
var _acc = random_range(_accel[0], _accel[1]);
|
|
||||||
|
|
||||||
var _ss = random_range(_size[0], _size[1]);
|
|
||||||
var _scx = random_range(_scale[0], _scale[1]) * _ss;
|
|
||||||
var _scy = random_range(_scale[2], _scale[3]) * _ss;
|
|
||||||
|
|
||||||
var _alp = random_range(_alpha[0], _alpha[1]);
|
|
||||||
|
|
||||||
parts[| i].create(_spr, xx, yy, _lif);
|
|
||||||
parts[| i].anim_speed = _anim_speed;
|
|
||||||
parts[| i].anim_end = _anim_end;
|
|
||||||
|
|
||||||
parts[| i].setPhysic(_vx, _vy, _acc, _grav, _wigg);
|
|
||||||
parts[| i].setTransform(_scx, _scy, _scale_speed[0], _scale_speed[1], _rot, _rot_spd, _follow);
|
|
||||||
parts[| i].setDraw(_color, _alp, _fade);
|
|
||||||
spawn_index = safe_mod(spawn_index + 1, PREF_MAP[? "part_max_amount"]);
|
|
||||||
|
|
||||||
if(--_amo <= 0)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function reset() {
|
|
||||||
spawn_index = 0;
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
|
||||||
parts[| i].kill();
|
|
||||||
}
|
|
||||||
render();
|
|
||||||
seed = seed_origin;
|
|
||||||
|
|
||||||
var _loop = inputs[| 23].getValue();
|
|
||||||
if(!_loop) return;
|
|
||||||
|
|
||||||
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
|
||||||
runVFX(i);
|
|
||||||
|
|
||||||
seed = seed_origin;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateParticle(_time = ANIMATOR.current_frame) {
|
|
||||||
var jun = outputs[| 1];
|
|
||||||
for(var j = 0; j < ds_list_size(jun.value_to); j++) {
|
|
||||||
if(jun.value_to[| j].value_from == jun)
|
|
||||||
jun.value_to[| j].node.doUpdate();
|
|
||||||
}
|
|
||||||
|
|
||||||
render(_time);
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkPartPool() {
|
|
||||||
var _part_amo = PREF_MAP[? "part_max_amount"];
|
|
||||||
var _curr_amo = ds_list_size(parts);
|
|
||||||
|
|
||||||
if(_part_amo > _curr_amo) {
|
|
||||||
repeat(_part_amo - _curr_amo)
|
|
||||||
ds_list_add(parts, new __part());
|
|
||||||
} else if(_part_amo < _curr_amo) {
|
|
||||||
repeat(_curr_amo - _part_amo)
|
|
||||||
ds_list_delete(parts, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static runVFX = function(_time = ANIMATOR.current_frame) {
|
|
||||||
var _spawn_delay = inputs[| 2].getValue(_time);
|
|
||||||
var _spawn_type = inputs[| 17].getValue(_time);
|
|
||||||
|
|
||||||
switch(_spawn_type) {
|
|
||||||
case 0 :
|
|
||||||
if(safe_mod(_time, _spawn_delay) == 0)
|
|
||||||
spawn(_time);
|
|
||||||
break;
|
|
||||||
case 1 :
|
|
||||||
if(_time == _spawn_delay)
|
|
||||||
spawn(_time);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(parts); i++)
|
|
||||||
parts[| i].step();
|
|
||||||
updateParticle(_time);
|
|
||||||
triggerRender();
|
|
||||||
}
|
|
||||||
|
|
||||||
static step = function() {
|
|
||||||
var _inSurf = inputs[| 0].getValue();
|
|
||||||
var _scatt = inputs[| 27].getValue();
|
|
||||||
var _loop = inputs[| 23].getValue();
|
|
||||||
|
|
||||||
inputs[| 25].setVisible(false);
|
|
||||||
inputs[| 26].setVisible(false);
|
|
||||||
inputs[| 28].setVisible(_scatt == 2);
|
|
||||||
|
|
||||||
if(is_array(_inSurf)) {
|
|
||||||
inputs[| 25].setVisible(true);
|
|
||||||
var _type = inputs[| 25].getValue();
|
|
||||||
if(_type == 2) {
|
|
||||||
inputs[| 26].setVisible(true);
|
|
||||||
inputs[| 29].setVisible(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
checkPartPool();
|
|
||||||
var _spawn_type = inputs[| 17].getValue();
|
|
||||||
if(_spawn_type == 0) inputs[| 2].name = "Spawn delay";
|
|
||||||
else inputs[| 2].name = "Spawn frame";
|
|
||||||
|
|
||||||
if(ANIMATOR.frame_progress) {
|
|
||||||
if(recoverCache()) {
|
|
||||||
triggerRender();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!ANIMATOR.is_playing) return;
|
|
||||||
|
|
||||||
if(ANIMATOR.current_frame == 0) {
|
|
||||||
reset();
|
|
||||||
runVFX(ANIMATOR.current_frame);
|
|
||||||
} else if(cached_output[ANIMATOR.current_frame - 1] != 0) {
|
|
||||||
runVFX(ANIMATOR.current_frame);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static drawOverlay = function(active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
|
||||||
inputs[| 4].drawOverlay(active, _x, _y, _s, _mx, _my, _snx, _sny);
|
|
||||||
if(onDrawOverlay != -1)
|
|
||||||
onDrawOverlay(active, _x, _y, _s, _mx, _my);
|
|
||||||
}
|
|
||||||
|
|
||||||
static onDrawOverlay = -1;
|
|
||||||
|
|
||||||
function render(_time = ANIMATOR.current_frame) {
|
|
||||||
var _dim = inputs[| 1].getValue(_time);
|
|
||||||
var _exact = inputs[| 19].getValue(_time);
|
|
||||||
var _blend = inputs[| 24].getValue(_time);
|
|
||||||
|
|
||||||
var _outSurf = outputs[| 0].getValue();
|
|
||||||
|
|
||||||
if(is_surface(_outSurf))
|
|
||||||
surface_size_to(_outSurf, _dim[0], _dim[1]);
|
|
||||||
else {
|
|
||||||
_outSurf = surface_create_valid(_dim[0], _dim[1]);
|
|
||||||
outputs[| 0].setValue(_outSurf);
|
|
||||||
}
|
|
||||||
|
|
||||||
surface_set_target(_outSurf);
|
|
||||||
draw_clear_alpha(c_white, 0);
|
|
||||||
|
|
||||||
switch(_blend) {
|
|
||||||
case PARTICLE_BLEND_MODE.normal : gpu_set_blendmode(bm_normal); break;
|
|
||||||
case PARTICLE_BLEND_MODE.additive : gpu_set_blendmode(bm_add); break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
|
||||||
parts[| i].draw(_exact);
|
|
||||||
|
|
||||||
gpu_set_blendmode(bm_normal);
|
|
||||||
surface_reset_target();
|
|
||||||
|
|
||||||
cacheCurrentFrame(_outSurf);
|
|
||||||
}
|
|
||||||
|
|
||||||
static update = function() {
|
|
||||||
reset();
|
|
||||||
}
|
|
||||||
render();
|
|
||||||
}
|
|
|
@ -78,8 +78,8 @@ function Node_Particle_Effector(_x, _y, _group = -1) : Node(_x, _y, _group) cons
|
||||||
var _area_y0 = _area_y - _area_h;
|
var _area_y0 = _area_y - _area_h;
|
||||||
var _area_y1 = _area_y + _area_h;
|
var _area_y1 = _area_y + _area_h;
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(parts); i++) {
|
for(var i = 0; i < array_length(parts); i++) {
|
||||||
var part = parts[| i];
|
var part = parts[i];
|
||||||
var pv = part.getPivot();
|
var pv = part.getPivot();
|
||||||
var px = _x + part.x * _s;
|
var px = _x + part.x * _s;
|
||||||
var py = _y + part.y * _s;
|
var py = _y + part.y * _s;
|
||||||
|
@ -91,12 +91,12 @@ function Node_Particle_Effector(_x, _y, _group = -1) : Node(_x, _y, _group) cons
|
||||||
distance_to_line(pv[0], pv[1], _area_x0, _area_y1, _area_x1, _area_y1),
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y1, _area_x1, _area_y1),
|
||||||
distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x0, _area_y1),
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x0, _area_y1),
|
||||||
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
||||||
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
str = eval_curve_bezier_cubic_t(_fall, clamp(_dst / _fads, 0., 1.));
|
||||||
}
|
}
|
||||||
} else if(_area_t == AREA_SHAPE.elipse) {
|
} else if(_area_t == AREA_SHAPE.elipse) {
|
||||||
if(point_in_circle(pv[0], pv[1], _area_x, _area_y, min(_area_w, _area_h))) {
|
if(point_in_circle(pv[0], pv[1], _area_x, _area_y, min(_area_w, _area_h))) {
|
||||||
var _dst = point_distance(pv[0], pv[1], _area_x, _area_y);
|
var _dst = point_distance(pv[0], pv[1], _area_x, _area_y);
|
||||||
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
str = eval_curve_bezier_cubic_t(_fall, clamp(_dst / _fads, 0., 1.));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,6 +141,19 @@ function Node_Particle_Effector(_x, _y, _group = -1) : Node(_x, _y, _group) cons
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static updateParticleForward = function(_render = true) {
|
||||||
|
update();
|
||||||
|
|
||||||
|
var pt = outputs[| 0];
|
||||||
|
for( var i = 0; i < ds_list_size(pt.value_to); i++ ) {
|
||||||
|
var _n = pt.value_to[| i];
|
||||||
|
if(_n.value_from != pt) continue;
|
||||||
|
|
||||||
|
if(variable_struct_exists(_n.node, "updateParticleForward"))
|
||||||
|
_n.node.updateParticleForward();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static step = function() {
|
static step = function() {
|
||||||
var _type = inputs[| 5].getValue();
|
var _type = inputs[| 5].getValue();
|
||||||
switch(_type) {
|
switch(_type) {
|
||||||
|
@ -206,12 +219,12 @@ function Node_Particle_Effector(_x, _y, _group = -1) : Node(_x, _y, _group) cons
|
||||||
distance_to_line(pv[0], pv[1], _area_x0, _area_y1, _area_x1, _area_y1),
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y1, _area_x1, _area_y1),
|
||||||
distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x0, _area_y1),
|
distance_to_line(pv[0], pv[1], _area_x0, _area_y0, _area_x0, _area_y1),
|
||||||
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
||||||
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
str = eval_curve_bezier_cubic_t(_fall, clamp(_dst / _fads, 0., 1.));
|
||||||
}
|
}
|
||||||
} else if(_area_t == AREA_SHAPE.elipse) {
|
} else if(_area_t == AREA_SHAPE.elipse) {
|
||||||
if(point_in_circle(pv[0], pv[1], _area_x, _area_y, min(_area_w, _area_h))) {
|
if(point_in_circle(pv[0], pv[1], _area_x, _area_y, min(_area_w, _area_h))) {
|
||||||
var _dst = point_distance(pv[0], pv[1], _area_x, _area_y);
|
var _dst = point_distance(pv[0], pv[1], _area_x, _area_y);
|
||||||
str = eval_curve_bezier_cubic(_fall, clamp(_dst / _fads, 0., 1.));
|
str = eval_curve_bezier_cubic_t(_fall, clamp(_dst / _fads, 0., 1.));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,7 +310,7 @@ function Node_Particle_Effector(_x, _y, _group = -1) : Node(_x, _y, _group) cons
|
||||||
for(var i = 0; i < ds_list_size(inputs); i++) {
|
for(var i = 0; i < ds_list_size(inputs); i++) {
|
||||||
current_data[i] = inputs[| i].getValue();
|
current_data[i] = inputs[| i].getValue();
|
||||||
}
|
}
|
||||||
for(var i = 0; i < ds_list_size(parts); i++)
|
for(var i = 0; i < array_length(parts); i++)
|
||||||
affect(parts[| i]);
|
affect(parts[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -5,7 +5,9 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
.setDisplay(noone, "particles");
|
.setDisplay(noone, "particles");
|
||||||
|
|
||||||
inputs[| 1] = nodeValue(1, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4);
|
inputs[| 1] = nodeValue(1, "Spawn delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 4);
|
||||||
|
|
||||||
inputs[| 2] = nodeValue(2, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
inputs[| 2] = nodeValue(2, "Spawn amount", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 2);
|
||||||
|
|
||||||
inputs[| 3] = nodeValue(3, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ])
|
inputs[| 3] = nodeValue(3, "Spawn area", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, def_surf_size / 2, AREA_SHAPE.rectangle ])
|
||||||
.setDisplay(VALUE_DISPLAY.area);
|
.setDisplay(VALUE_DISPLAY.area);
|
||||||
|
|
||||||
|
@ -17,6 +19,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
|
|
||||||
inputs[| 6] = nodeValue(6, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
inputs[| 6] = nodeValue(6, "Spawn direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, [ 45, 135 ])
|
||||||
.setDisplay(VALUE_DISPLAY.rotation_range);
|
.setDisplay(VALUE_DISPLAY.rotation_range);
|
||||||
|
|
||||||
inputs[| 7] = nodeValue(7, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
inputs[| 7] = nodeValue(7, "Acceleration", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ])
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
|
@ -28,13 +31,15 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
|
|
||||||
inputs[| 10] = nodeValue(10, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
inputs[| 10] = nodeValue(10, "Spawn scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1, 1, 1 ] )
|
||||||
.setDisplay(VALUE_DISPLAY.vector_range);
|
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||||
inputs[| 11] = nodeValue(11, "Scaling speed", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
inputs[| 11] = nodeValue(11, "Scale over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 );
|
||||||
|
|
||||||
inputs[| 12] = nodeValue(12, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
inputs[| 12] = nodeValue(12, "Color over lifetime", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
||||||
.setDisplay(VALUE_DISPLAY.gradient);
|
.setDisplay(VALUE_DISPLAY.gradient);
|
||||||
|
|
||||||
inputs[| 13] = nodeValue(13, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
inputs[| 13] = nodeValue(13, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
inputs[| 14] = nodeValue(14, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11);
|
inputs[| 14] = nodeValue(14, "Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11);
|
||||||
|
|
||||||
inputs[| 15] = nodeValue(15, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
inputs[| 15] = nodeValue(15, "Rotate by direction", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||||
|
@ -49,6 +54,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
.setDisplay(VALUE_DISPLAY.range);
|
.setDisplay(VALUE_DISPLAY.range);
|
||||||
|
|
||||||
inputs[| 19] = nodeValue(19, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
inputs[| 19] = nodeValue(19, "Gravity", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
|
||||||
inputs[| 20] = nodeValue(20, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
inputs[| 20] = nodeValue(20, "Wiggle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
||||||
|
|
||||||
inputs[| 21] = nodeValue(21, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
inputs[| 21] = nodeValue(21, "Loop", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
@ -71,33 +77,40 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
.setVisible(false);
|
.setVisible(false);
|
||||||
|
|
||||||
inputs[| 27] = nodeValue(27, "Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
inputs[| 27] = nodeValue(27, "Spawn", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true);
|
||||||
|
|
||||||
|
inputs[| 28] = nodeValue(28, "Random blend", self, JUNCTION_CONNECT.input, VALUE_TYPE.color, c_white)
|
||||||
|
.setDisplay(VALUE_DISPLAY.gradient);
|
||||||
|
|
||||||
|
inputs[| 29] = nodeValue(29, "Directed from center", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false);
|
||||||
|
|
||||||
input_len = ds_list_size(inputs);
|
input_len = ds_list_size(inputs);
|
||||||
|
|
||||||
input_display_list = [
|
input_display_list = [
|
||||||
["Sprite", false], 0, 22, 23, 26,
|
["Sprite", false], 0, 22, 23, 26,
|
||||||
["Spawn", true], 27, 16, 1, 2, 3, 4, 24, 25, 5,
|
["Spawn", true], 27, 16, 1, 2, 3, 4, 24, 25, 5,
|
||||||
["Movement", true], 6, 18, 7,
|
["Movement", true], 29, 6, 18, 7,
|
||||||
["Physics", true], 19, 20,
|
["Physics", true], 19, 20,
|
||||||
["Rotation", true], 15, 8, 9,
|
["Rotation", true], 15, 8, 9,
|
||||||
["Scale", true], 10, 17, 11,
|
["Scale", true], 10, 17, 11,
|
||||||
["Color", true], 12, 13, 14,
|
["Color", true], 12, 28, 13, 14,
|
||||||
["Render", true], 21
|
["Render", true], 21
|
||||||
];
|
];
|
||||||
|
|
||||||
parts = ds_list_create();
|
parts = array_create(PREF_MAP[? "part_max_amount"]);
|
||||||
|
parts_runner = 0;
|
||||||
|
|
||||||
seed_origin = irandom(9999999);
|
seed_origin = irandom(9999999);
|
||||||
seed = seed_origin;
|
seed = seed_origin;
|
||||||
spawn_index = 0;
|
spawn_index = 0;
|
||||||
def_surface = -1;
|
def_surface = -1;
|
||||||
|
|
||||||
|
current_data = [];
|
||||||
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++)
|
||||||
ds_list_add(parts, new __part(self));
|
parts[i] = new __part(self);
|
||||||
|
|
||||||
static spawn = function(_time = ANIMATOR.current_frame, _pos = -1) {
|
static spawn = function(_time = ANIMATOR.current_frame, _pos = -1) {
|
||||||
random_set_seed(seed++);
|
var _inSurf = current_data[0];
|
||||||
|
|
||||||
var _inSurf = inputs[| 0].getValue(_time);
|
|
||||||
|
|
||||||
if(_inSurf == 0) {
|
if(_inSurf == 0) {
|
||||||
if(def_surface == -1 || !surface_exists(def_surface)) {
|
if(def_surface == -1 || !surface_exists(def_surface)) {
|
||||||
|
@ -109,40 +122,45 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
_inSurf = def_surface;
|
_inSurf = def_surface;
|
||||||
}
|
}
|
||||||
|
|
||||||
var _spawn_amount = inputs[| 2].getValue(_time);
|
var _spawn_amount = current_data[ 2];
|
||||||
var _amo = _spawn_amount;
|
var _amo = _spawn_amount;
|
||||||
|
|
||||||
var _spawn_area = inputs[| 3].getValue(_time);
|
var _spawn_area = current_data[ 3];
|
||||||
var _distrib = inputs[| 4].getValue(_time);
|
var _distrib = current_data[ 4];
|
||||||
var _scatter = inputs[| 24].getValue(_time);
|
var _scatter = current_data[24];
|
||||||
|
|
||||||
var _life = inputs[| 5].getValue(_time);
|
var _life = current_data[ 5];
|
||||||
var _direction = inputs[| 6].getValue(_time);
|
var _direction = current_data[ 6];
|
||||||
var _velocity = inputs[| 18].getValue(_time);
|
var _directCenter = current_data[29];
|
||||||
|
var _velocity = current_data[18];
|
||||||
|
|
||||||
var _accel = inputs[| 7].getValue(_time);
|
var _accel = current_data[ 7];
|
||||||
var _grav = inputs[| 19].getValue(_time);
|
var _grav = current_data[19];
|
||||||
var _wigg = inputs[| 20].getValue(_time);
|
var _wigg = current_data[20];
|
||||||
|
|
||||||
var _follow = inputs[| 15].getValue(_time);
|
var _follow = current_data[15];
|
||||||
var _rotation = inputs[| 8].getValue(_time);
|
var _rotation = current_data[ 8];
|
||||||
var _rotation_speed = inputs[| 9].getValue(_time);
|
var _rotation_speed = current_data[ 9];
|
||||||
var _scale = inputs[| 10].getValue(_time);
|
var _scale = current_data[10];
|
||||||
var _size = inputs[| 17].getValue(_time);
|
var _size = current_data[17];
|
||||||
var _scale_speed = inputs[| 11].getValue(_time);
|
var _scale_time = current_data[11];
|
||||||
|
|
||||||
var _color = inputs[| 12].getValue(_time);
|
var _color = current_data[12];
|
||||||
var _alpha = inputs[| 13].getValue(_time);
|
var _blend = current_data[28];
|
||||||
var _fade = inputs[| 14].getValue(_time);
|
var _bldTyp = inputs[| 28].getExtraData();
|
||||||
|
var _alpha = current_data[13];
|
||||||
|
var _fade = current_data[14];
|
||||||
|
|
||||||
var _arr_type = inputs[| 22].getValue(_time);
|
var _arr_type = current_data[22];
|
||||||
var _anim_speed = inputs[| 23].getValue(_time);
|
var _anim_speed = current_data[23];
|
||||||
var _anim_end = inputs[| 26].getValue(_time);
|
var _anim_end = current_data[26];
|
||||||
|
|
||||||
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
if(_rotation[1] < _rotation[0]) _rotation[1] += 360;
|
||||||
|
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
repeat(_amo) {
|
||||||
if(parts[| i].active) continue;
|
random_set_seed(seed++);
|
||||||
|
parts_runner = clamp(parts_runner, 0, array_length(parts) - 1);
|
||||||
|
var part = parts[parts_runner];
|
||||||
|
|
||||||
var _spr = _inSurf, _index = 0;
|
var _spr = _inSurf, _index = 0;
|
||||||
if(is_array(_inSurf)) {
|
if(is_array(_inSurf)) {
|
||||||
|
@ -160,7 +178,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
|
|
||||||
if(_pos == -1) {
|
if(_pos == -1) {
|
||||||
if(_scatter == 2) {
|
if(_scatter == 2) {
|
||||||
var _b_data = inputs[| 25].getValue(_time);
|
var _b_data = current_data[25];
|
||||||
if(!is_array(_b_data) || array_length(_b_data) <= 0) return;
|
if(!is_array(_b_data) || array_length(_b_data) <= 0) return;
|
||||||
var _b = _b_data[safe_mod(_index, array_length(_b_data))];
|
var _b = _b_data[safe_mod(_index, array_length(_b_data))];
|
||||||
if(!is_array(_b) || array_length(_b) != 4) return;
|
if(!is_array(_b) || array_length(_b) != 4) return;
|
||||||
|
@ -168,13 +186,13 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
xx = array_safe_get(_spawn_area, 0) - array_safe_get(_spawn_area, 2);
|
xx = array_safe_get(_spawn_area, 0) - array_safe_get(_spawn_area, 2);
|
||||||
yy = array_safe_get(_spawn_area, 1) - array_safe_get(_spawn_area, 3);
|
yy = array_safe_get(_spawn_area, 1) - array_safe_get(_spawn_area, 3);
|
||||||
|
|
||||||
parts[| i].boundary_data = _b;
|
part.boundary_data = _b;
|
||||||
} else {
|
} else {
|
||||||
var sp = area_get_random_point(_spawn_area, _distrib, _scatter, spawn_index, _spawn_amount);
|
var sp = area_get_random_point(_spawn_area, _distrib, _scatter, spawn_index, _spawn_amount, seed);
|
||||||
xx = sp[0];
|
xx = sp[0];
|
||||||
yy = sp[1];
|
yy = sp[1];
|
||||||
|
|
||||||
parts[| i].boundary_data = -1;
|
part.boundary_data = -1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
xx = _pos[0];
|
xx = _pos[0];
|
||||||
|
@ -186,7 +204,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
var _rot = random_range(_rotation[0], _rotation[1]);
|
var _rot = random_range(_rotation[0], _rotation[1]);
|
||||||
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
var _rot_spd = random_range(_rotation_speed[0], _rotation_speed[1]);
|
||||||
|
|
||||||
var _dirr = random_range(_direction[0], _direction[1]);
|
var _dirr = _directCenter? point_direction(_spawn_area[0], _spawn_area[1], xx, yy) : random_range(_direction[0], _direction[1]);
|
||||||
|
|
||||||
var _velo = random_range(_velocity[0], _velocity[1]);
|
var _velo = random_range(_velocity[0], _velocity[1]);
|
||||||
var _vx = lengthdir_x(_velo, _dirr);
|
var _vx = lengthdir_x(_velo, _dirr);
|
||||||
|
@ -198,58 +216,68 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
var _scy = random_range(_scale[2], _scale[3]) * _ss;
|
var _scy = random_range(_scale[2], _scale[3]) * _ss;
|
||||||
|
|
||||||
var _alp = random_range(_alpha[0], _alpha[1]);
|
var _alp = random_range(_alpha[0], _alpha[1]);
|
||||||
|
var _bld = gradient_eval(_blend, random(1), ds_list_get(_bldTyp, 0));
|
||||||
|
|
||||||
parts[| i].create(_spr, xx, yy, _lif);
|
part.seed = irandom(99999);
|
||||||
parts[| i].anim_speed = _anim_speed;
|
part.create(_spr, xx, yy, _lif);
|
||||||
parts[| i].anim_end = _anim_end;
|
part.anim_speed = _anim_speed;
|
||||||
|
part.anim_end = _anim_end;
|
||||||
|
|
||||||
parts[| i].setPhysic(_vx, _vy, _acc, _grav, _wigg);
|
part.setPhysic(_vx, _vy, _acc, _grav, _wigg);
|
||||||
parts[| i].setTransform(_scx, _scy, _scale_speed[0], _scale_speed[1], _rot, _rot_spd, _follow);
|
part.setTransform(_scx, _scy, _scale_time, _rot, _rot_spd, _follow);
|
||||||
parts[| i].setDraw(_color, _alp, _fade);
|
part.setDraw(_color, _bld, _alp, _fade);
|
||||||
spawn_index = safe_mod(spawn_index + 1, PREF_MAP[? "part_max_amount"]);
|
spawn_index = safe_mod(spawn_index + 1, PREF_MAP[? "part_max_amount"]);
|
||||||
onSpawn(_time, parts[| i]);
|
onSpawn(_time, part);
|
||||||
|
|
||||||
if(--_amo <= 0) return;
|
parts_runner = safe_mod((parts_runner + 1), PREF_MAP[? "part_max_amount"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static onSpawn = function(_time, part) {}
|
static onSpawn = function(_time, part) {}
|
||||||
|
|
||||||
|
static updateParticleForward = function(_render = true) {}
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
spawn_index = 0;
|
spawn_index = 0;
|
||||||
for(var i = 0; i < PREF_MAP[? "part_max_amount"]; i++) {
|
for(var i = 0; i < array_length(parts); i++) {
|
||||||
parts[| i].kill();
|
if(!parts[i].active) continue;
|
||||||
|
parts[i].kill();
|
||||||
}
|
}
|
||||||
|
|
||||||
render();
|
render();
|
||||||
seed = seed_origin;
|
seed = seed_origin;
|
||||||
|
|
||||||
var _loop = inputs[| 21].getValue();
|
var _loop = inputs[| 21].getValue();
|
||||||
if(!_loop) return;
|
if(!_loop) return;
|
||||||
|
|
||||||
for(var i = 0; i < ANIMATOR.frames_total; i++)
|
for(var i = 0; i < ANIMATOR.frames_total; i++) {
|
||||||
runVFX(i);
|
runVFX(i, false);
|
||||||
|
updateParticleForward(false);
|
||||||
|
}
|
||||||
|
|
||||||
seed = seed_origin;
|
seed = seed_origin;
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkPartPool() {
|
function checkPartPool() {
|
||||||
var _part_amo = PREF_MAP[? "part_max_amount"];
|
var _part_amo = PREF_MAP[? "part_max_amount"];
|
||||||
var _curr_amo = ds_list_size(parts);
|
var _curr_amo = array_length(parts);
|
||||||
|
|
||||||
if(_part_amo > _curr_amo) {
|
if(_part_amo > _curr_amo) {
|
||||||
repeat(_part_amo - _curr_amo)
|
repeat(_part_amo - _curr_amo)
|
||||||
ds_list_add(parts, new __part(self));
|
array_push(parts, new __part(self));
|
||||||
} else if(_part_amo < _curr_amo) {
|
} else if(_part_amo < _curr_amo) {
|
||||||
repeat(_curr_amo - _part_amo)
|
array_resize(parts, _part_amo);
|
||||||
ds_list_delete(parts, 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static runVFX = function(_time = ANIMATOR.current_frame) {
|
static runVFX = function(_time = ANIMATOR.current_frame, _render = true) {
|
||||||
var _spawn_delay = inputs[| 1].getValue(_time);
|
var _spawn_delay = inputs[| 1].getValue(_time);
|
||||||
var _spawn_type = inputs[| 16].getValue(_time);
|
var _spawn_type = inputs[| 16].getValue(_time);
|
||||||
var _spawn_active = inputs[| 27].getValue(_time);
|
var _spawn_active = inputs[| 27].getValue(_time);
|
||||||
|
|
||||||
|
for( var i = 0; i < ds_list_size(inputs); i++ )
|
||||||
|
current_data[i] = inputs[| i].getValue(_time);
|
||||||
|
|
||||||
if(_spawn_active) {
|
if(_spawn_active) {
|
||||||
switch(_spawn_type) {
|
switch(_spawn_type) {
|
||||||
case 0 :
|
case 0 :
|
||||||
|
@ -263,8 +291,13 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(parts); i++)
|
for(var i = 0; i < array_length(parts); i++) {
|
||||||
parts[| i].step();
|
if(!parts[i].active) continue;
|
||||||
|
parts[i].step();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!_render) return;
|
||||||
|
|
||||||
triggerRender();
|
triggerRender();
|
||||||
render(_time);
|
render(_time);
|
||||||
}
|
}
|
||||||
|
@ -272,7 +305,9 @@ function Node_VFX_Spawner_Base(_x, _y, _group = -1) : Node(_x, _y, _group) const
|
||||||
static step = function() {
|
static step = function() {
|
||||||
var _inSurf = inputs[| 0].getValue();
|
var _inSurf = inputs[| 0].getValue();
|
||||||
var _scatt = inputs[| 24].getValue();
|
var _scatt = inputs[| 24].getValue();
|
||||||
|
var _dirAng = inputs[| 29].getValue();
|
||||||
|
|
||||||
|
inputs[| 6].setVisible(!_dirAng);
|
||||||
inputs[| 22].setVisible(false);
|
inputs[| 22].setVisible(false);
|
||||||
inputs[| 23].setVisible(false);
|
inputs[| 23].setVisible(false);
|
||||||
inputs[| 25].setVisible(_scatt == 2);
|
inputs[| 25].setVisible(_scatt == 2);
|
||||||
|
|
|
@ -3,24 +3,100 @@ enum AREA_SHAPE {
|
||||||
elipse
|
elipse
|
||||||
}
|
}
|
||||||
|
|
||||||
function areaBox(_onModify, _unit = noone) constructor {
|
enum AREA_MODE {
|
||||||
|
area,
|
||||||
|
padding,
|
||||||
|
two_point,
|
||||||
|
}
|
||||||
|
|
||||||
|
function areaBox(_onModify, _unit = noone) : widget() constructor {
|
||||||
onModify = _onModify;
|
onModify = _onModify;
|
||||||
unit = _unit;
|
unit = _unit;
|
||||||
onSurfaceSize = -1;
|
onSurfaceSize = -1;
|
||||||
|
|
||||||
active = false;
|
link_value = false;
|
||||||
hover = false;
|
current_data = [ 0, 0, 0, 0 ];
|
||||||
|
mode = AREA_MODE.area;
|
||||||
|
|
||||||
onModifySingle[0] = function(val) { onModify(0, toNumber(val)); }
|
onModifySingle[0] = function(val) {
|
||||||
onModifySingle[1] = function(val) { onModify(1, toNumber(val)); }
|
if(mode == AREA_MODE.area) {
|
||||||
onModifySingle[2] = function(val) { onModify(2, toNumber(val)); }
|
onModify(0, toNumber(val));
|
||||||
onModifySingle[3] = function(val) { onModify(3, toNumber(val)); }
|
} else if(mode == AREA_MODE.padding) {
|
||||||
|
var v = toNumber(val);
|
||||||
|
if(link_value) current_data = [ v, v, v, v ];
|
||||||
|
else current_data[0] = v;
|
||||||
|
setAllData(current_data);
|
||||||
|
} else if(mode == AREA_MODE.two_point) {
|
||||||
|
onModify(0, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onModifySingle[1] = function(val) {
|
||||||
|
if(mode == AREA_MODE.area) {
|
||||||
|
onModify(1, toNumber(val));
|
||||||
|
} else if(mode == AREA_MODE.padding) {
|
||||||
|
var v = toNumber(val);
|
||||||
|
if(link_value) current_data = [ v, v, v, v ];
|
||||||
|
else current_data[1] = v;
|
||||||
|
setAllData(current_data);
|
||||||
|
} else if(mode == AREA_MODE.two_point) {
|
||||||
|
onModify(1, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onModifySingle[2] = function(val) {
|
||||||
|
if(mode == AREA_MODE.area) {
|
||||||
|
onModify(2, toNumber(val));
|
||||||
|
} else if(mode == AREA_MODE.padding) {
|
||||||
|
var v = toNumber(val);
|
||||||
|
if(link_value) current_data = [ v, v, v, v ];
|
||||||
|
else current_data[2] = v;
|
||||||
|
setAllData(current_data);
|
||||||
|
} else if(mode == AREA_MODE.two_point) {
|
||||||
|
onModify(2, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onModifySingle[3] = function(val) {
|
||||||
|
if(mode == AREA_MODE.area) {
|
||||||
|
onModify(3, toNumber(val));
|
||||||
|
} else if(mode == AREA_MODE.padding) {
|
||||||
|
var v = toNumber(val);
|
||||||
|
if(link_value) current_data = [ v, v, v, v ];
|
||||||
|
else current_data[3] = v;
|
||||||
|
setAllData(current_data);
|
||||||
|
} else if(mode == AREA_MODE.two_point) {
|
||||||
|
onModify(3, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for(var i = 0; i < 4; i++) {
|
for(var i = 0; i < 4; i++) {
|
||||||
tb[i] = new textBox(TEXTBOX_INPUT.number, onModifySingle[i]);
|
tb[i] = new textBox(TEXTBOX_INPUT.number, onModifySingle[i]);
|
||||||
|
tb[i].slidable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _data, _m) {
|
static setAllData = function(data) {
|
||||||
|
onModify(0, data[0]);
|
||||||
|
onModify(1, data[1]);
|
||||||
|
onModify(2, data[2]);
|
||||||
|
onModify(3, data[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
static register = function(parent = noone) {
|
||||||
|
for(var i = 0; i < 4; i++)
|
||||||
|
tb[i].register(parent);
|
||||||
|
|
||||||
|
if(unit != noone && unit.reference != noone)
|
||||||
|
unit.triggerButton.register(parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
static draw = function(_x, _y, _data, _extra_data, _m) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = 0;
|
||||||
|
h = ui(204);
|
||||||
|
mode = ds_list_get(_extra_data, 0);
|
||||||
|
|
||||||
if(buttonInstant(THEME.button_hide, _x - ui(48), _y + ui(64 - 48), ui(96), ui(96), _m, active, hover, "", THEME.inspector_area, array_safe_get(_data, 4), c_white) == 2) {
|
if(buttonInstant(THEME.button_hide, _x - ui(48), _y + ui(64 - 48), ui(96), ui(96), _m, active, hover, "", THEME.inspector_area, array_safe_get(_data, 4), c_white) == 2) {
|
||||||
if(mouse_press(mb_left, active)) {
|
if(mouse_press(mb_left, active)) {
|
||||||
var val = (array_safe_get(_data, 4) + 1) % 2;
|
var val = (array_safe_get(_data, 4) + 1) % 2;
|
||||||
|
@ -36,6 +112,63 @@ function areaBox(_onModify, _unit = noone) constructor {
|
||||||
onModify(2, toNumber(ss[0] / 2));
|
onModify(2, toNumber(ss[0] / 2));
|
||||||
onModify(3, toNumber(ss[1] / 2));
|
onModify(3, toNumber(ss[1] / 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var txt = "";
|
||||||
|
switch(mode) {
|
||||||
|
case AREA_MODE.area : txt = "Center + Span"; break;
|
||||||
|
case AREA_MODE.padding : txt = "Padding"; break;
|
||||||
|
case AREA_MODE.two_point : txt = "Two points"; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(buttonInstant(THEME.button_hide, _x + ui(76 - 24), _y + ui(28 - 12), ui(24), ui(24), _m, active, hover, txt, THEME.inspector_area_type, mode, c_white) == 2) {
|
||||||
|
switch(mode) {
|
||||||
|
case AREA_MODE.area :
|
||||||
|
var cx = array_safe_get(_data, 0);
|
||||||
|
var cy = array_safe_get(_data, 1);
|
||||||
|
var sw = array_safe_get(_data, 2);
|
||||||
|
var sh = array_safe_get(_data, 3);
|
||||||
|
var ss = onSurfaceSize();
|
||||||
|
|
||||||
|
onModify(0, ss[0] - (cx + sw));
|
||||||
|
onModify(1, cy - sh);
|
||||||
|
onModify(2, cx - sw);
|
||||||
|
onModify(3, ss[1] - (cy + sh));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AREA_MODE.padding :
|
||||||
|
var r = array_safe_get(_data, 0);
|
||||||
|
var t = array_safe_get(_data, 1);
|
||||||
|
var l = array_safe_get(_data, 2);
|
||||||
|
var b = array_safe_get(_data, 3);
|
||||||
|
var ss = onSurfaceSize();
|
||||||
|
|
||||||
|
onModify(0, l);
|
||||||
|
onModify(1, t);
|
||||||
|
onModify(2, ss[0] - r);
|
||||||
|
onModify(3, ss[1] - b);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case AREA_MODE.two_point :
|
||||||
|
var x0 = array_safe_get(_data, 0);
|
||||||
|
var y0 = array_safe_get(_data, 1);
|
||||||
|
var x1 = array_safe_get(_data, 2);
|
||||||
|
var y1 = array_safe_get(_data, 3);
|
||||||
|
|
||||||
|
onModify(0, (x0 + x1) / 2);
|
||||||
|
onModify(1, (y0 + y1) / 2);
|
||||||
|
onModify(2, abs(x0 - x1) / 2);
|
||||||
|
onModify(3, abs(y0 - y1) / 2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
_extra_data[| 0] = (mode + 1) % 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mode == AREA_MODE.padding) {
|
||||||
|
var cc = link_value? COLORS._main_accent : COLORS._main_icon;
|
||||||
|
if(buttonInstant(THEME.button_hide, _x - ui(76), _y + ui(88), ui(24), ui(24), _m, active, hover, "Link value", THEME.value_link, link_value, cc) == 2)
|
||||||
|
link_value = !link_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(var i = 0; i < 4; i++) {
|
for(var i = 0; i < 4; i++) {
|
||||||
|
@ -44,11 +177,65 @@ function areaBox(_onModify, _unit = noone) constructor {
|
||||||
tb[i].align = fa_center;
|
tb[i].align = fa_center;
|
||||||
}
|
}
|
||||||
|
|
||||||
tb[0].draw(_x - ui(56) - ui(48), _y - ui(28), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 0), _m);
|
current_data = _data;
|
||||||
tb[1].draw(_x + ui(56) - ui(48), _y - ui(28), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
|
||||||
|
|
||||||
tb[2].draw(_x - ui(48), _y + ui(64 + 48 + 8), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
if(mode == AREA_MODE.area) {
|
||||||
tb[3].draw(_x + ui(68), _y + ui(64 - 16), ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
|
var tb_x0 = _x + ui(6) - ui(64) - ui(48);
|
||||||
|
var tb_x1 = _x + ui(6) + ui(64) - ui(48);
|
||||||
|
var tb_y0 = _y - ui(28);
|
||||||
|
var tb_y1 = _y + ui(64 + 48 + 8);
|
||||||
|
|
||||||
|
draw_set_text(f_p0, fa_right, fa_center, COLORS._main_text_sub);
|
||||||
|
|
||||||
|
draw_text(tb_x0 - ui(4), tb_y0 + TEXTBOX_HEIGHT / 2, "x");
|
||||||
|
draw_text(tb_x1 - ui(4), tb_y0 + TEXTBOX_HEIGHT / 2, "y");
|
||||||
|
|
||||||
|
draw_text(tb_x0 - ui(4), tb_y1 + TEXTBOX_HEIGHT / 2, "w");
|
||||||
|
draw_text(tb_x1 - ui(4), tb_y1 + TEXTBOX_HEIGHT / 2, "h");
|
||||||
|
|
||||||
|
tb[0].draw(tb_x0, tb_y0, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 0), _m);
|
||||||
|
tb[1].draw(tb_x1, tb_y0, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
||||||
|
|
||||||
|
tb[2].draw(tb_x0, tb_y1, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
||||||
|
tb[3].draw(tb_x1, tb_y1, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
|
||||||
|
} else if(mode == AREA_MODE.padding) {
|
||||||
|
var tb_rx = _x + ui(56);
|
||||||
|
var tb_ry = _y + ui(48);
|
||||||
|
|
||||||
|
var tb_tx = _x - ui(48);
|
||||||
|
var tb_ty = _y - ui(28);
|
||||||
|
|
||||||
|
var tb_lx = _x - ui(56 + 96);
|
||||||
|
var tb_ly = _y + ui(48);
|
||||||
|
|
||||||
|
var tb_bx = _x - ui(48);
|
||||||
|
var tb_by = _y + ui(64 + 48 + 8);
|
||||||
|
|
||||||
|
tb[0].draw(tb_rx, tb_ry, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 0), _m);
|
||||||
|
tb[1].draw(tb_tx, tb_ty, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
||||||
|
|
||||||
|
tb[2].draw(tb_lx, tb_ly, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
||||||
|
tb[3].draw(tb_bx, tb_by, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
|
||||||
|
} else if(mode == AREA_MODE.two_point) {
|
||||||
|
var tb_x0 = _x + ui(6) - ui(64) - ui(48);
|
||||||
|
var tb_x1 = _x + ui(6) + ui(64) - ui(48);
|
||||||
|
var tb_y0 = _y - ui(28);
|
||||||
|
var tb_y1 = _y + ui(64 + 48 + 8);
|
||||||
|
|
||||||
|
draw_set_text(f_p0, fa_right, fa_center, COLORS._main_text_sub);
|
||||||
|
|
||||||
|
draw_text(tb_x0 - ui(4), tb_y0 + TEXTBOX_HEIGHT / 2, "x0");
|
||||||
|
draw_text(tb_x1 - ui(4), tb_y0 + TEXTBOX_HEIGHT / 2, "y0");
|
||||||
|
|
||||||
|
draw_text(tb_x0 - ui(4), tb_y1 + TEXTBOX_HEIGHT / 2, "x1");
|
||||||
|
draw_text(tb_x1 - ui(4), tb_y1 + TEXTBOX_HEIGHT / 2, "y1");
|
||||||
|
|
||||||
|
tb[0].draw(tb_x0, tb_y0, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 0), _m);
|
||||||
|
tb[1].draw(tb_x1, tb_y0, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 1), _m);
|
||||||
|
|
||||||
|
tb[2].draw(tb_x0, tb_y1, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 2), _m);
|
||||||
|
tb[3].draw(tb_x1, tb_y1, ui(96), TEXTBOX_HEIGHT, array_safe_get(_data, 3), _m);
|
||||||
|
}
|
||||||
|
|
||||||
if(unit != noone && unit.reference != noone) {
|
if(unit != noone && unit.reference != noone) {
|
||||||
unit.triggerButton.hover = hover;
|
unit.triggerButton.hover = hover;
|
||||||
|
@ -57,7 +244,6 @@ function areaBox(_onModify, _unit = noone) constructor {
|
||||||
unit.draw(_x + ui(56 + 48 + 8), _y - ui(28), ui(32), ui(32), _m);
|
unit.draw(_x + ui(56 + 48 + 8), _y - ui(28), ui(32), ui(32), _m);
|
||||||
}
|
}
|
||||||
|
|
||||||
active = false;
|
resetFocus();
|
||||||
hover = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -8,7 +8,7 @@ enum AREA_SCATTER {
|
||||||
random
|
random
|
||||||
}
|
}
|
||||||
|
|
||||||
function area_get_random_point(area, distrib, scatter, index = 0, total = 1) {
|
function area_get_random_point(area, distrib, scatter, index = 0, total = 1, _sed = 999) {
|
||||||
if(total == 0) return [0, 0];
|
if(total == 0) return [0, 0];
|
||||||
|
|
||||||
var _area_x = array_safe_get(area, 0);
|
var _area_x = array_safe_get(area, 0);
|
||||||
|
@ -32,12 +32,12 @@ function area_get_random_point(area, distrib, scatter, index = 0, total = 1) {
|
||||||
yy = _area_y - _area_h + _irow * _ihig;
|
yy = _area_y - _area_h + _irow * _ihig;
|
||||||
} else if(scatter == AREA_SCATTER.random) {
|
} else if(scatter == AREA_SCATTER.random) {
|
||||||
if(_area_t == AREA_SHAPE.rectangle) {
|
if(_area_t == AREA_SHAPE.rectangle) {
|
||||||
xx = _area_x + random_range(-_area_w, _area_w);
|
xx = _area_x + random_range_seed(-_area_w, _area_w, _sed); _sed++;
|
||||||
yy = _area_y + random_range(-_area_h, _area_h);
|
yy = _area_y + random_range_seed(-_area_h, _area_h, _sed); _sed++;
|
||||||
} else {
|
} else {
|
||||||
var rr = random(360);
|
var rr = random_seed(360, _sed); _sed++;
|
||||||
xx = _area_x + lengthdir_x(1, rr) * random(_area_w);
|
xx = _area_x + lengthdir_x(1, rr) * random_seed(_area_w, _sed); _sed++;
|
||||||
yy = _area_y + lengthdir_y(1, rr) * random(_area_h);
|
yy = _area_y + lengthdir_y(1, rr) * random_seed(_area_h, _sed); _sed++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -48,17 +48,17 @@ function area_get_random_point(area, distrib, scatter, index = 0, total = 1) {
|
||||||
var perimeter = _area_w * 2 + _area_h * 2;
|
var perimeter = _area_w * 2 + _area_h * 2;
|
||||||
var i = perimeter * index / total;
|
var i = perimeter * index / total;
|
||||||
if(i < _area_w) {
|
if(i < _area_w) {
|
||||||
xx = _area_x + random_range(-_area_w, _area_w);
|
xx = _area_x + random_range_seed(-_area_w, _area_w, _sed); _sed++;
|
||||||
yy = _area_y - _area_h;
|
yy = _area_y - _area_h;
|
||||||
} else if(i < _area_w + _area_h) {
|
} else if(i < _area_w + _area_h) {
|
||||||
xx = _area_x - _area_w;
|
xx = _area_x - _area_w;
|
||||||
yy = _area_y + random_range(-_area_h, _area_h);
|
yy = _area_y + random_range_seed(-_area_h, _area_h, _sed); _sed++;
|
||||||
} else if(i < _area_w * 2 + _area_h) {
|
} else if(i < _area_w * 2 + _area_h) {
|
||||||
xx = _area_x + random_range(-_area_w, _area_w);
|
xx = _area_x + random_range_seed(-_area_w, _area_w, _sed); _sed++;
|
||||||
yy = _area_y + _area_h;
|
yy = _area_y + _area_h;
|
||||||
} else {
|
} else {
|
||||||
xx = _area_x + _area_w;
|
xx = _area_x + _area_w;
|
||||||
yy = _area_y + random_range(-_area_h, _area_h);
|
yy = _area_y + random_range_seed(-_area_h, _area_h, _sed); _sed++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var rr = 360 * index / total;
|
var rr = 360 * index / total;
|
||||||
|
@ -68,22 +68,22 @@ function area_get_random_point(area, distrib, scatter, index = 0, total = 1) {
|
||||||
} else if(scatter == AREA_SCATTER.random) {
|
} else if(scatter == AREA_SCATTER.random) {
|
||||||
if(_area_t == AREA_SHAPE.rectangle) {
|
if(_area_t == AREA_SHAPE.rectangle) {
|
||||||
var perimeter = _area_w * 2 + _area_h * 2;
|
var perimeter = _area_w * 2 + _area_h * 2;
|
||||||
var i = random(perimeter);
|
var i = random_seed(perimeter, _sed); _sed++;
|
||||||
if(i < _area_w) {
|
if(i < _area_w) {
|
||||||
xx = _area_x + random_range(-_area_w, _area_w);
|
xx = _area_x + random_range_seed(-_area_w, _area_w, _sed); _sed++;
|
||||||
yy = _area_y - _area_h;
|
yy = _area_y - _area_h;
|
||||||
} else if(i < _area_w + _area_h) {
|
} else if(i < _area_w + _area_h) {
|
||||||
xx = _area_x - _area_w;
|
xx = _area_x - _area_w;
|
||||||
yy = _area_y + random_range(-_area_h, _area_h);
|
yy = _area_y + random_range_seed(-_area_h, _area_h, _sed); _sed++;
|
||||||
} else if(i < _area_w * 2 + _area_h) {
|
} else if(i < _area_w * 2 + _area_h) {
|
||||||
xx = _area_x + random_range(-_area_w, _area_w);
|
xx = _area_x + random_range_seed(-_area_w, _area_w, _sed); _sed++;
|
||||||
yy = _area_y + _area_h;
|
yy = _area_y + _area_h;
|
||||||
} else {
|
} else {
|
||||||
xx = _area_x + _area_w;
|
xx = _area_x + _area_w;
|
||||||
yy = _area_y + random_range(-_area_h, _area_h);
|
yy = _area_y + random_range_seed(-_area_h, _area_h, _sed); _sed++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
var rr = random(360);
|
var rr = random_seed(360, _sed); _sed++;
|
||||||
xx = _area_x + lengthdir_x(_area_w, rr);
|
xx = _area_x + lengthdir_x(_area_w, rr);
|
||||||
yy = _area_y + lengthdir_y(_area_h, rr);
|
yy = _area_y + lengthdir_y(_area_h, rr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ function array_safe_set(arr, index, value) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function array_safe_get(arr, index, def = 0) {
|
function array_safe_get(arr, index, def = 0) {
|
||||||
|
if(index < 0) return def;
|
||||||
if(index >= array_length(arr)) return def;
|
if(index >= array_length(arr)) return def;
|
||||||
return arr[index];
|
return arr[index];
|
||||||
}
|
}
|
||||||
|
|
87
scripts/ase_object/ase_object.gml
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
function ase_cel(_layer, _data, _file) constructor {
|
||||||
|
data = _data;
|
||||||
|
file = _file;
|
||||||
|
layerTarget = _layer;
|
||||||
|
|
||||||
|
static checkSurface = function() {
|
||||||
|
if(is_surface(data[? "Surface"])) return;
|
||||||
|
|
||||||
|
var width = data[? "Width"];
|
||||||
|
var height = data[? "Height"];
|
||||||
|
data[? "Surface"] = surface_create(width, height);
|
||||||
|
|
||||||
|
var color = file[? "Color depth"];
|
||||||
|
|
||||||
|
if(color == 32) {//rgba
|
||||||
|
buffer_set_surface(data[? "Buffer"], data[? "Surface"], 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var size = width * height;
|
||||||
|
var buff = buffer_create(size * 4, buffer_fixed, 1);
|
||||||
|
buffer_seek(buff, buffer_seek_start, 0);
|
||||||
|
buffer_seek(data[? "Buffer"], buffer_seek_start, 0);
|
||||||
|
|
||||||
|
if(color == 16) { //grey
|
||||||
|
repeat(size) {
|
||||||
|
var bin = buffer_read(data[? "Buffer"], buffer_u16);
|
||||||
|
buffer_write(buff, buffer_u8, bin);
|
||||||
|
buffer_write(buff, buffer_u8, bin);
|
||||||
|
buffer_write(buff, buffer_u8, bin);
|
||||||
|
buffer_write(buff, buffer_u8, bin >> 8);
|
||||||
|
}
|
||||||
|
} else if(color == 8) { //index
|
||||||
|
var palet = file[? "Palette"];
|
||||||
|
|
||||||
|
repeat(size) {
|
||||||
|
var bin = buffer_read(data[? "Buffer"], buffer_u8);
|
||||||
|
var cc = array_safe_get(palet, bin);
|
||||||
|
for( var i = 0; i < 4; i++ )
|
||||||
|
buffer_write(buff, buffer_u8, cc[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer_set_surface(buff, data[? "Surface"], 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static getSurface = function() {
|
||||||
|
var type = data[? "Cel type"];
|
||||||
|
|
||||||
|
if(type == 0) {
|
||||||
|
|
||||||
|
} else if(type == 1) {
|
||||||
|
var frTarget = data[? "Frame position"];
|
||||||
|
var cel = layerTarget.getCel(frTarget);
|
||||||
|
if(!cel) return noone;
|
||||||
|
return cel.getSurface();
|
||||||
|
} else if(type == 2) {
|
||||||
|
checkSurface();
|
||||||
|
return data[? "Surface"];
|
||||||
|
}
|
||||||
|
|
||||||
|
return noone;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ase_layer(name) constructor {
|
||||||
|
self.name = name;
|
||||||
|
cels = [];
|
||||||
|
tag = noone;
|
||||||
|
|
||||||
|
static setFrameCel = function(index, cel) {
|
||||||
|
cels[index] = cel;
|
||||||
|
}
|
||||||
|
|
||||||
|
static getCel = function(index = ANIMATOR.current_frame) {
|
||||||
|
var ind;
|
||||||
|
|
||||||
|
if(tag != noone) {
|
||||||
|
var st = tag[? "Frame start"];
|
||||||
|
var ed = tag[? "Frame end"];
|
||||||
|
ind = st + index % (ed - st + 1);
|
||||||
|
} else
|
||||||
|
ind = index % array_length(cels);
|
||||||
|
|
||||||
|
return array_safe_get(cels, ind);
|
||||||
|
}
|
||||||
|
}
|
11
scripts/ase_object/ase_object.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "ase_object",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "importers",
|
||||||
|
"path": "folders/functions/importers.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,32 +1,500 @@
|
||||||
function read_ase(path) {
|
/*
|
||||||
var file = file_bin_open(path, 0);
|
* ASE file reader
|
||||||
var load_str = "";
|
* Author: MakhamDev
|
||||||
|
* File spec from: https://github.com/aseprite/aseprite/blob/main/docs/ase-file-specs.md
|
||||||
|
*/
|
||||||
|
|
||||||
bin_read_dword(file);
|
enum _BIN_TYPE {
|
||||||
bin_read_word(file);
|
byte,
|
||||||
var frames = bin_read_word(file);
|
word,
|
||||||
var width = bin_read_word(file);
|
short,
|
||||||
var height = bin_read_word(file);
|
dword,
|
||||||
|
long,
|
||||||
|
fixed,
|
||||||
|
float,
|
||||||
|
double,
|
||||||
|
qword,
|
||||||
|
long64,
|
||||||
|
|
||||||
var pos = 128;
|
string,
|
||||||
file_bin_seek(file, pos);
|
point,
|
||||||
|
size,
|
||||||
|
rect,
|
||||||
|
color,
|
||||||
|
pixel,
|
||||||
|
}
|
||||||
|
|
||||||
repeat(frames) {
|
//ASE blend mode
|
||||||
bin_read_dword(file);
|
//Normal = 0
|
||||||
bin_read_word(file);
|
//Multiply = 1
|
||||||
|
//Screen = 2
|
||||||
|
//Overlay = 3
|
||||||
|
//Darken = 4
|
||||||
|
//Lighten = 5
|
||||||
|
//Color Dodge = 6
|
||||||
|
//Color Burn = 7
|
||||||
|
//Hard Light = 8
|
||||||
|
//Soft Light = 9
|
||||||
|
//Difference = 10
|
||||||
|
//Exclusion = 11
|
||||||
|
//Hue = 12
|
||||||
|
//Saturation = 13
|
||||||
|
//Color = 14
|
||||||
|
//Luminosity = 15
|
||||||
|
//Addition = 16
|
||||||
|
//Subtract = 17
|
||||||
|
//Divide = 18
|
||||||
|
|
||||||
var old_chunk = bin_read_word(file);
|
global.ASE_LOG = false;
|
||||||
|
|
||||||
bin_read_word(file);
|
globalvar __ase_format_header;
|
||||||
bin_read_word(file);
|
__ase_format_header = [
|
||||||
bin_read_word(file);
|
[_BIN_TYPE.dword, "File size"],
|
||||||
|
[_BIN_TYPE.word, "Magic number"],
|
||||||
|
[_BIN_TYPE.word, "Frame amount"],
|
||||||
|
[_BIN_TYPE.word, "Width"],
|
||||||
|
[_BIN_TYPE.word, "Height"],
|
||||||
|
[_BIN_TYPE.word, "Color depth"], //32: RGBA, 16: Grey, 8: Index
|
||||||
|
[_BIN_TYPE.dword, "Flags"],
|
||||||
|
[_BIN_TYPE.word, "Speed"], //DEPRECATED
|
||||||
|
[_BIN_TYPE.dword, "0"],
|
||||||
|
[_BIN_TYPE.dword, "0"],
|
||||||
|
[_BIN_TYPE.byte, "Palette entry"], //For indexed sprite, index in palette that consider a transparent color.
|
||||||
|
[_BIN_TYPE.byte, "Ignore", 3],
|
||||||
|
[_BIN_TYPE.word, "Number of colors"],
|
||||||
|
[_BIN_TYPE.byte, "Pixel width"], //If zero, then pixel ratio is 1:1
|
||||||
|
[_BIN_TYPE.byte, "Pixel height"], //If zero, then pixel ratio is 1:1
|
||||||
|
[_BIN_TYPE.short, "Grid X"],
|
||||||
|
[_BIN_TYPE.short, "Grid Y"],
|
||||||
|
[_BIN_TYPE.word, "Grid width"], //If zero, no grid
|
||||||
|
[_BIN_TYPE.word, "Grid height"], //If zero, no grid
|
||||||
|
[_BIN_TYPE.byte, "Unused", 84],
|
||||||
|
];
|
||||||
|
|
||||||
var new_chunk = bin_read_dword(file);
|
globalvar __ase_format_frame;
|
||||||
|
__ase_format_frame = [
|
||||||
|
[_BIN_TYPE.dword, "Length"],
|
||||||
|
[_BIN_TYPE.word, "Magic number"],
|
||||||
|
[_BIN_TYPE.word, "Chunk amount"], //If 0xFFFF, use "Chunk amount new"
|
||||||
|
[_BIN_TYPE.word, "Duration"], //In millisec
|
||||||
|
[_BIN_TYPE.byte, "Unused", 2],
|
||||||
|
[_BIN_TYPE.dword, "Chunk amount new"],
|
||||||
|
];
|
||||||
|
|
||||||
var chunks = new_chunk == 0? old_chunk : new_chunk;
|
globalvar __ase_format_chunk;
|
||||||
|
__ase_format_chunk = [
|
||||||
|
[_BIN_TYPE.dword, "Length"],
|
||||||
|
[_BIN_TYPE.word, "Type"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_old_palette;
|
||||||
|
__ase_format_chunk_old_palette = [
|
||||||
|
[_BIN_TYPE.word, "Packet amount"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_old_palette_packet;
|
||||||
|
__ase_format_chunk_old_palette_packet = [
|
||||||
|
[_BIN_TYPE.byte, "Entries skip index"],
|
||||||
|
[_BIN_TYPE.byte, "Color amount"],
|
||||||
|
[_BIN_TYPE.color, "Colors", "Color amount"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_layer;
|
||||||
|
__ase_format_chunk_layer = [
|
||||||
|
[_BIN_TYPE.word, "Flag"], //1: Visible, 2: Editable, 4:Lock, 8:BG
|
||||||
|
[_BIN_TYPE.word, "Layer type"], //0: Normal, 1: Group, 2: Tilemap
|
||||||
|
[_BIN_TYPE.word, "Child level"],
|
||||||
|
[_BIN_TYPE.word, "Ignore"],
|
||||||
|
[_BIN_TYPE.word, "Ignore"],
|
||||||
|
[_BIN_TYPE.word, "Blend mode"],
|
||||||
|
[_BIN_TYPE.byte, "Opacity"],
|
||||||
|
[_BIN_TYPE.byte, "Unused", 3],
|
||||||
|
[_BIN_TYPE.string, "Name"],
|
||||||
|
[_BIN_TYPE.dword, "Tileset index", 1, function(chunk) { return chunk[? "Layer type"] == 2; }],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_cel;
|
||||||
|
__ase_format_chunk_cel = [
|
||||||
|
[_BIN_TYPE.word, "Layer index"],
|
||||||
|
[_BIN_TYPE.short, "X"],
|
||||||
|
[_BIN_TYPE.short, "Y"],
|
||||||
|
[_BIN_TYPE.byte, "Opacity"],
|
||||||
|
[_BIN_TYPE.word, "Cel type"], //0: Raw image, 1: Linked, 2: Compressed image, 3: Compressed tilemap
|
||||||
|
[_BIN_TYPE.byte, "Unused", 7],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_cel_raw_image;
|
||||||
|
__ase_format_chunk_cel_raw_image = [
|
||||||
|
[_BIN_TYPE.word, "Width"],
|
||||||
|
[_BIN_TYPE.word, "Height"],
|
||||||
|
[_BIN_TYPE.pixel, "Pixels", function(chunk) { return chunk[? "Width"] * chunk[? "Width"]; }],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_cel_linked;
|
||||||
|
__ase_format_chunk_cel_linked = [
|
||||||
|
[_BIN_TYPE.word, "Frame position"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_cel_compress_image;
|
||||||
|
__ase_format_chunk_cel_compress_image = [
|
||||||
|
[_BIN_TYPE.word, "Width"],
|
||||||
|
[_BIN_TYPE.word, "Height"],
|
||||||
|
//[_BIN_TYPE.long, "Raw cel", function(chunk) { return chunk[? "Width"] * chunk[? "Width"]; }],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_cel_compress_tilemap;
|
||||||
|
__ase_format_chunk_cel_compress_tilemap = [
|
||||||
|
[_BIN_TYPE.word, "Width"],
|
||||||
|
[_BIN_TYPE.word, "Height"],
|
||||||
|
[_BIN_TYPE.word, "Bits per tile"],
|
||||||
|
[_BIN_TYPE.dword, "Bitmask for tile ID"],
|
||||||
|
[_BIN_TYPE.dword, "X flip"],
|
||||||
|
[_BIN_TYPE.dword, "Y flip"],
|
||||||
|
[_BIN_TYPE.dword, "90CW rotation"],
|
||||||
|
[_BIN_TYPE.byte, "Unused", 10],
|
||||||
|
//[_BIN_TYPE.tile, "Tiles", function(chunk) { return chunk[? "Width"] * chunk[? "Width"]; }],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_cel_extra;
|
||||||
|
__ase_format_chunk_cel_extra = [
|
||||||
|
[_BIN_TYPE.dword, "Flag"],
|
||||||
|
[_BIN_TYPE.fixed, "X"],
|
||||||
|
[_BIN_TYPE.fixed, "Y"],
|
||||||
|
[_BIN_TYPE.fixed, "Width"],
|
||||||
|
[_BIN_TYPE.fixed, "Height"],
|
||||||
|
[_BIN_TYPE.byte, "Unused", 16],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_color_profile;
|
||||||
|
__ase_format_chunk_color_profile = [
|
||||||
|
[_BIN_TYPE.word, "Type"], //0: no profile, 1: sRGB, 2: ICC
|
||||||
|
[_BIN_TYPE.word, "Flag"], //1: Fix gamma
|
||||||
|
[_BIN_TYPE.fixed, "Fixed gamma"],
|
||||||
|
[_BIN_TYPE.byte, "Unused", 8],
|
||||||
|
[_BIN_TYPE.dword, "ICC Data length", 1, function(chunk) { return chunk[? "Type"] == 2; }],
|
||||||
|
[_BIN_TYPE.byte, "ICC Data", "ICC Data length", function(chunk) { return chunk[? "Type"] == 2; }],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_file;
|
||||||
|
__ase_format_chunk_file = [
|
||||||
|
[_BIN_TYPE.dword, "Entries"],
|
||||||
|
[_BIN_TYPE.byte, "Unused", 8],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_file_entry;
|
||||||
|
__ase_format_chunk_file_entry = [
|
||||||
|
[_BIN_TYPE.dword, "ID"],
|
||||||
|
[_BIN_TYPE.byte, "File type"], //0: External palette, 1: External tileset, 2: Extension anme
|
||||||
|
[_BIN_TYPE.byte, "Unused", 7],
|
||||||
|
[_BIN_TYPE.string, "File name"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_tag;
|
||||||
|
__ase_format_chunk_tag = [
|
||||||
|
[_BIN_TYPE.word, "Tag amount"],
|
||||||
|
[_BIN_TYPE.byte, "Unused", 8],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_tag_entry;
|
||||||
|
__ase_format_chunk_tag_entry = [
|
||||||
|
[_BIN_TYPE.word, "Frame start"],
|
||||||
|
[_BIN_TYPE.word, "Frame end"],
|
||||||
|
[_BIN_TYPE.byte, "Loop"], //0: Forward, 1: Backward, 2: Ping pong, 3: Ping pong reverse
|
||||||
|
[_BIN_TYPE.word, "Repeat amount"], //0: Infinite, N: N-times
|
||||||
|
[_BIN_TYPE.byte, "Unused", 6],
|
||||||
|
[_BIN_TYPE.color, "Color"],
|
||||||
|
[_BIN_TYPE.byte, "Extra"],
|
||||||
|
[_BIN_TYPE.string, "Name"],
|
||||||
|
]
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_palette;
|
||||||
|
__ase_format_chunk_palette = [
|
||||||
|
[_BIN_TYPE.dword, "Color amount"],
|
||||||
|
[_BIN_TYPE.dword, "First index"],
|
||||||
|
[_BIN_TYPE.dword, "Last index"],
|
||||||
|
[_BIN_TYPE.byte, "Unused", 8],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_palette_entry;
|
||||||
|
__ase_format_chunk_palette_entry = [
|
||||||
|
[_BIN_TYPE.word, "Flag"], //1: Has name
|
||||||
|
[_BIN_TYPE.byte, "Red"],
|
||||||
|
[_BIN_TYPE.byte, "Green"],
|
||||||
|
[_BIN_TYPE.byte, "Blue"],
|
||||||
|
[_BIN_TYPE.byte, "Alpha"],
|
||||||
|
[_BIN_TYPE.string, "Name", 1, function(chunk) { return chunk[? "Flag"] & (1 << 0); }],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_user_data;
|
||||||
|
__ase_format_chunk_user_data = [
|
||||||
|
[_BIN_TYPE.dword, "Flag"], //1: Text, 2: Color, 4: Properties
|
||||||
|
[_BIN_TYPE.string, "Name", 1, function(chunk) { return chunk[? "Flag"] & (1 << 0); }],
|
||||||
|
[_BIN_TYPE.byte, "Red", 1, function(chunk) { return chunk[? "Flag"] & (1 << 1); }],
|
||||||
|
[_BIN_TYPE.byte, "Green", 1, function(chunk) { return chunk[? "Flag"] & (1 << 1); }],
|
||||||
|
[_BIN_TYPE.byte, "Blue", 1, function(chunk) { return chunk[? "Flag"] & (1 << 1); }],
|
||||||
|
[_BIN_TYPE.byte, "Alpha", 1, function(chunk) { return chunk[? "Flag"] & (1 << 1); }],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_user_data_prop;
|
||||||
|
__ase_format_chunk_user_data_prop = [
|
||||||
|
[_BIN_TYPE.dword, "Length"],
|
||||||
|
[_BIN_TYPE.dword, "Prop amount"],
|
||||||
|
]
|
||||||
|
|
||||||
|
/* TODO: Use data read */
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_slice;
|
||||||
|
__ase_format_chunk_slice = [
|
||||||
|
[_BIN_TYPE.dword, "Slice key amount"],
|
||||||
|
[_BIN_TYPE.dword, "Flag"], //1: 9 slice, 2: pivot
|
||||||
|
[_BIN_TYPE.dword, "Reserved"],
|
||||||
|
[_BIN_TYPE.string, "Name"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_slice_key;
|
||||||
|
__ase_format_chunk_slice_key = [
|
||||||
|
[_BIN_TYPE.dword, "Frame number"],
|
||||||
|
[_BIN_TYPE.long, "X"],
|
||||||
|
[_BIN_TYPE.long, "Y"],
|
||||||
|
[_BIN_TYPE.dword, "Width"],
|
||||||
|
[_BIN_TYPE.dword, "Height"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_slice_nine;
|
||||||
|
__ase_format_chunk_slice_nine = [
|
||||||
|
[_BIN_TYPE.long, "Center X"],
|
||||||
|
[_BIN_TYPE.long, "Center Y"],
|
||||||
|
[_BIN_TYPE.dword, "Center width"],
|
||||||
|
[_BIN_TYPE.dword, "Center height"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_slice_pivot;
|
||||||
|
__ase_format_chunk_slice_pivot = [
|
||||||
|
[_BIN_TYPE.long, "Pivot X"],
|
||||||
|
[_BIN_TYPE.long, "Pivot Y"],
|
||||||
|
];
|
||||||
|
|
||||||
|
globalvar __ase_format_chunk_tileset;
|
||||||
|
__ase_format_chunk_tileset = [
|
||||||
|
[_BIN_TYPE.dword, "ID"],
|
||||||
|
[_BIN_TYPE.dword, "Flag"], //1: Link to external file, 2: Include tile in this file, 4: Use ID 0 as empty tiles.
|
||||||
|
[_BIN_TYPE.dword, "Tile amount"],
|
||||||
|
[_BIN_TYPE.word, "Tile width"],
|
||||||
|
[_BIN_TYPE.word, "Tile height"],
|
||||||
|
[_BIN_TYPE.short, "Base index"],
|
||||||
|
[_BIN_TYPE.byte, "Reserved", 14],
|
||||||
|
[_BIN_TYPE.string, "Name"],
|
||||||
|
[_BIN_TYPE.dword, "ID of external file", 1, function(chunk) { return chunk[? "Flag"] & (1 << 1); }],
|
||||||
|
[_BIN_TYPE.dword, "Tileset ID", 1, function(chunk) { return chunk[? "Flag"] & (1 << 1); }],
|
||||||
|
[_BIN_TYPE.dword, "Data length", 1, function(chunk) { return chunk[? "Flag"] & (1 << 2); }],
|
||||||
|
[_BIN_TYPE.pixel, "Compressed image", "Data length", function(chunk) { return chunk[? "Flag"] & (1 << 2); }],
|
||||||
|
];
|
||||||
|
|
||||||
|
function read_format_type(bin, datType, outMap) {
|
||||||
|
switch(datType) {
|
||||||
|
case _BIN_TYPE.byte: return bin_read_byte(bin);
|
||||||
|
case _BIN_TYPE.word: return bin_read_word(bin);
|
||||||
|
case _BIN_TYPE.short: return bin_read_short(bin);
|
||||||
|
case _BIN_TYPE.dword: return bin_read_dword(bin);
|
||||||
|
case _BIN_TYPE.long: return bin_read_long(bin);
|
||||||
|
case _BIN_TYPE.fixed: return bin_read_fixed(bin);
|
||||||
|
case _BIN_TYPE.float: return bin_read_float(bin);
|
||||||
|
case _BIN_TYPE.double: return bin_read_double(bin);
|
||||||
|
case _BIN_TYPE.qword: return bin_read_qword(bin);
|
||||||
|
case _BIN_TYPE.long64: return bin_read_long64(bin);
|
||||||
|
|
||||||
|
case _BIN_TYPE.string: return bin_read_string(bin);
|
||||||
|
case _BIN_TYPE.point: return bin_read_point(bin);
|
||||||
|
case _BIN_TYPE.size: return bin_read_size(bin);
|
||||||
|
case _BIN_TYPE.rect: return bin_read_rect(bin);
|
||||||
|
case _BIN_TYPE.color: return bin_read_color(bin);
|
||||||
|
case _BIN_TYPE.pixel: return bin_read_pixel(bin, outMap[? "Color depth"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
file_bin_close(file);
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function read_format(bin, format, outMap) {
|
||||||
|
var datType = array_safe_get(format, 0, 0);
|
||||||
|
var key = array_safe_get(format, 1, "");
|
||||||
|
var amount = array_safe_get(format, 2, 1);
|
||||||
|
if(is_string(amount))
|
||||||
|
amount = ds_map_exists(outMap, amount)? outMap[? amount] : 1;
|
||||||
|
else if(is_method(amount))
|
||||||
|
amount = amount(outMap);
|
||||||
|
|
||||||
|
if(amount == 1) {
|
||||||
|
var val = read_format_type(bin, datType, outMap);
|
||||||
|
outMap[? key] = val;
|
||||||
|
return val;
|
||||||
|
} else {
|
||||||
|
var a = array_create(amount);
|
||||||
|
for( var i = 0; i < amount; i++ )
|
||||||
|
a[i] = read_format_type(bin, datType, outMap);
|
||||||
|
outMap[? key] = a;
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function read_format_array(bin, formatArr, outMap) {
|
||||||
|
for( var i = 0; i < array_length(formatArr); i++ ) {
|
||||||
|
if(array_length(formatArr[i]) >= 4 && !formatArr[i][3](outMap))
|
||||||
|
continue;
|
||||||
|
var pos = file_bin_position(bin);
|
||||||
|
var val = read_format(bin, formatArr[i], outMap);
|
||||||
|
//printIf(global.ASE_LOG, "Pos " + dec_to_hex(pos) + " - " + dec_to_hex(file_bin_position(bin)));
|
||||||
|
|
||||||
|
if(formatArr[i][1] == "Type")
|
||||||
|
printIf(global.ASE_LOG, "\t" + formatArr[i][1] + ":\t 0x" + dec_to_hex(val, 4));
|
||||||
|
else
|
||||||
|
printIf(global.ASE_LOG, "\t" + formatArr[i][1] + ":\t " + string(val));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function read_ase(path, fileMap) {
|
||||||
|
printIf(global.ASE_LOG, "===== Reading: " + path + " =====");
|
||||||
|
var file = file_bin_open(path, 0);
|
||||||
|
file_bin_seek(file, 0);
|
||||||
|
|
||||||
|
ds_map_clear(fileMap);
|
||||||
|
read_format_array(file, __ase_format_header, fileMap);
|
||||||
|
|
||||||
|
var frames = [];
|
||||||
|
var frameAmo = ds_map_exists(fileMap, "Frame amount")? fileMap[? "Frame amount"] : 0;
|
||||||
|
for( var i = 0; i < frameAmo; i++ ) {
|
||||||
|
printIf(global.ASE_LOG, "\n=== Reading frame " + string(i) + " ===");
|
||||||
|
array_push(frames, read_ase_frame(file));
|
||||||
|
}
|
||||||
|
fileMap[? "Frames"] = frames;
|
||||||
|
|
||||||
|
file_bin_close(file);
|
||||||
|
|
||||||
|
return fileMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
function read_ase_frame(file) {
|
||||||
|
var frame = ds_map_create();
|
||||||
|
|
||||||
|
read_format_array(file, __ase_format_frame, frame);
|
||||||
|
|
||||||
|
var chunks = [];
|
||||||
|
var chunkAmo = ds_map_exists(frame, "Chunk amount")? frame[? "Chunk amount"] : 0;
|
||||||
|
if(chunkAmo == 65535)
|
||||||
|
chunkAmo = ds_map_exists(frame, "Chunk amount new")? frame[? "Chunk amount new"] : chunkAmo;
|
||||||
|
|
||||||
|
for( var i = 0; i < chunkAmo; i++ ) {
|
||||||
|
printIf(global.ASE_LOG, "\n=== Reading chunk " + string(i) + " ===");
|
||||||
|
array_push(chunks, read_ase_chunk(file));
|
||||||
|
}
|
||||||
|
frame[? "Chunks"] = chunks;
|
||||||
|
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
|
||||||
|
function read_ase_chunk(file) {
|
||||||
|
var chunk = ds_map_create();
|
||||||
|
var startPos = file_bin_position(file);
|
||||||
|
|
||||||
|
read_format_array(file, __ase_format_chunk, chunk);
|
||||||
|
|
||||||
|
var skipPos = startPos + chunk[? "Length"];
|
||||||
|
|
||||||
|
switch(chunk[? "Type"]) {
|
||||||
|
case 0x0004: //old palette
|
||||||
|
case 0x0011: //old palette
|
||||||
|
printIf(global.ASE_LOG, "\n -- Reading chunk [Old palette] -- ");
|
||||||
|
read_format_array(file, __ase_format_chunk_old_palette, chunk);
|
||||||
|
var cc = [];
|
||||||
|
for( var i = 0; i < chunk[? "Packet amount"]; i++ ) {
|
||||||
|
cc[i] = ds_map_create();
|
||||||
|
read_format_array(file, __ase_format_chunk_old_palette_packet, cc[i]);
|
||||||
|
}
|
||||||
|
chunk[? "Packets"] = cc;
|
||||||
|
break;
|
||||||
|
case 0x2004: //layer
|
||||||
|
printIf(global.ASE_LOG, "\n -- Reading chunk [Layer] -- ");
|
||||||
|
read_format_array(file, __ase_format_chunk_layer, chunk);
|
||||||
|
break;
|
||||||
|
case 0x2005: //cel
|
||||||
|
printIf(global.ASE_LOG, "\n -- Reading chunk [Cel] -- ");
|
||||||
|
read_format_array(file, __ase_format_chunk_cel, chunk);
|
||||||
|
|
||||||
|
var type = chunk[? "Cel type"];
|
||||||
|
switch(type) {
|
||||||
|
case 0 :
|
||||||
|
read_format_array(file, __ase_format_chunk_cel_raw_image, chunk);
|
||||||
|
break;
|
||||||
|
case 1 :
|
||||||
|
read_format_array(file, __ase_format_chunk_cel_linked, chunk);
|
||||||
|
break;
|
||||||
|
case 2 :
|
||||||
|
read_format_array(file, __ase_format_chunk_cel_compress_image, chunk);
|
||||||
|
chunk[? "Surface"] = noone;
|
||||||
|
|
||||||
|
var compressLength = (skipPos - file_bin_position(file));
|
||||||
|
var _compBuff = buffer_create(compressLength * buffer_sizeof(buffer_u8), buffer_grow, 1);
|
||||||
|
buffer_seek(_compBuff, buffer_seek_start, 0);
|
||||||
|
|
||||||
|
repeat(compressLength) {
|
||||||
|
var byte = file_bin_read_byte(file);
|
||||||
|
buffer_write(_compBuff, buffer_u8, byte);
|
||||||
|
}
|
||||||
|
|
||||||
|
var _rawBuff = buffer_decompress(_compBuff);
|
||||||
|
if(_rawBuff != -1)
|
||||||
|
chunk[? "Buffer"] = _rawBuff;
|
||||||
|
|
||||||
|
buffer_delete(_compBuff);
|
||||||
|
break;
|
||||||
|
case 3 :
|
||||||
|
read_format_array(file, __ase_format_chunk_cel_compress_tilemap, chunk);
|
||||||
|
//TILE READ
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x2006: //cel extra
|
||||||
|
break;
|
||||||
|
case 0x2007: //color profile
|
||||||
|
printIf(global.ASE_LOG, "\n -- Reading chunk [Color profile] -- ");
|
||||||
|
read_format_array(file, __ase_format_chunk_color_profile, chunk);
|
||||||
|
break;
|
||||||
|
case 0x2008: //external file
|
||||||
|
break;
|
||||||
|
case 0x2009: //mask DEPRECATED
|
||||||
|
break;
|
||||||
|
case 0x2017: //path
|
||||||
|
break;
|
||||||
|
case 0x2018: //tag
|
||||||
|
printIf(global.ASE_LOG, "\n -- Reading chunk [Tag] -- ");
|
||||||
|
read_format_array(file, __ase_format_chunk_tag, chunk);
|
||||||
|
var amo = chunk[? "Tag amount"]
|
||||||
|
var tags = [];
|
||||||
|
repeat(amo) {
|
||||||
|
var m = ds_map_create();
|
||||||
|
read_format_array(file, __ase_format_chunk_tag_entry, m);
|
||||||
|
array_push(tags, m);
|
||||||
|
}
|
||||||
|
chunk[? "Tags"] = tags;
|
||||||
|
break;
|
||||||
|
case 0x2019: //palette
|
||||||
|
printIf(global.ASE_LOG, "\n -- Reading chunk [Palette] -- ");
|
||||||
|
read_format_array(file, __ase_format_chunk_palette, chunk);
|
||||||
|
var cc = [];
|
||||||
|
for( var i = 0; i < chunk[? "Color amount"]; i++ ) {
|
||||||
|
cc[i] = ds_map_create();
|
||||||
|
read_format_array(file, __ase_format_chunk_palette_entry, cc[i]);
|
||||||
|
}
|
||||||
|
chunk[? "Palette"] = cc;
|
||||||
|
break;
|
||||||
|
case 0x2020: //user data
|
||||||
|
break;
|
||||||
|
case 0x2022: //slice
|
||||||
|
break;
|
||||||
|
case 0x2023: //tileset
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
file_bin_seek(file, skipPos - file_bin_position(file));
|
||||||
|
|
||||||
|
return chunk;
|
||||||
}
|
}
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
for( var i = 0; i < ds_list_size(_st.content); i++ ) {
|
for( var i = 0; i < ds_list_size(_st.content); i++ ) {
|
||||||
var _f = _st.content[| i];
|
var _f = _st.content[| i];
|
||||||
global.ASSET_MAP[? _f.path] = _f.spr;
|
global.ASSET_MAP[? _f.path] = _f;
|
||||||
}
|
}
|
||||||
|
|
||||||
for( var i = 0; i < ds_list_size(_st.subDir); i++ ) {
|
for( var i = 0; i < ds_list_size(_st.subDir); i++ ) {
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
if(valid) return s;
|
if(valid) return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
var spr = global.ASSET_MAP[? key];
|
var spr = global.ASSET_MAP[? key].getSpr();
|
||||||
global.ASSET_CACHE[? key] = surface_create_from_sprite(spr);
|
global.ASSET_CACHE[? key] = surface_create_from_sprite(spr);
|
||||||
|
|
||||||
return global.ASSET_CACHE[? key];
|
return global.ASSET_CACHE[? key];
|
||||||
|
|
27
scripts/bin_function/bin_function.gml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
function bin_fraction(intVal, len) {
|
||||||
|
var amp = 1;
|
||||||
|
var val = 0;
|
||||||
|
for( var i = len - 1; i >= 0; i-- ) {
|
||||||
|
var _b = (intVal & ~(1 << len)) >> len;
|
||||||
|
amp *= 0.5;
|
||||||
|
val = amp * _b;
|
||||||
|
}
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// GMLscripts.com
|
||||||
|
function dec_to_hex(dec, len = 1) {
|
||||||
|
var hex = "";
|
||||||
|
|
||||||
|
if (dec < 0) {
|
||||||
|
len = max(len, ceil(logn(16, 2 * abs(dec))));
|
||||||
|
}
|
||||||
|
|
||||||
|
var dig = "0123456789ABCDEF";
|
||||||
|
while (len-- || dec) {
|
||||||
|
hex = string_char_at(dig, (dec & $F) + 1) + hex;
|
||||||
|
dec = dec >> 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hex;
|
||||||
|
}
|
11
scripts/bin_function/bin_function.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "bin_function",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "value",
|
||||||
|
"path": "folders/functions/value.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,16 +1,16 @@
|
||||||
function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, clamp_border = false, mask = noone) {
|
function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, sampleMode = 0, overColor = noone) {
|
||||||
static uni_bor = shader_get_uniform(sh_blur_gaussian, "clamp_border");
|
static uni_bor = shader_get_uniform(sh_blur_gaussian, "sampleMode");
|
||||||
static uni_dim = shader_get_uniform(sh_blur_gaussian, "dimension");
|
static uni_dim = shader_get_uniform(sh_blur_gaussian, "dimension");
|
||||||
static uni_hor = shader_get_uniform(sh_blur_gaussian, "horizontal");
|
static uni_hor = shader_get_uniform(sh_blur_gaussian, "horizontal");
|
||||||
static uni_wei = shader_get_uniform(sh_blur_gaussian, "weight");
|
static uni_wei = shader_get_uniform(sh_blur_gaussian, "weight");
|
||||||
static uni_sze = shader_get_uniform(sh_blur_gaussian, "size");
|
static uni_sze = shader_get_uniform(sh_blur_gaussian, "size");
|
||||||
|
static uni_ovr = shader_get_uniform(sh_blur_gaussian, "overrideColor");
|
||||||
static uni_umk = shader_get_uniform(sh_blur_gaussian, "useMask");
|
static uni_ovc = shader_get_uniform(sh_blur_gaussian, "overColor");
|
||||||
static uni_msk = shader_get_sampler_index(sh_blur_gaussian, "mask");
|
|
||||||
|
|
||||||
var hori = surface_create_valid(surface_get_width(surface), surface_get_height(surface));
|
var hori = surface_create_valid(surface_get_width(surface), surface_get_height(surface));
|
||||||
var vert = surface_create_valid(surface_get_width(surface), surface_get_height(surface));
|
var vert = surface_create_valid(surface_get_width(surface), surface_get_height(surface));
|
||||||
|
|
||||||
|
#region kernel generation
|
||||||
size = max(1, round(size));
|
size = max(1, round(size));
|
||||||
var gau_array = array_create(size);
|
var gau_array = array_create(size);
|
||||||
var we = 0;
|
var we = 0;
|
||||||
|
@ -24,7 +24,9 @@ function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, clamp
|
||||||
for(var i = 0; i < size; i++) {
|
for(var i = 0; i < size; i++) {
|
||||||
gau_array[i] /= we;
|
gau_array[i] /= we;
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
BLEND_OVER
|
||||||
surface_set_target(hori);
|
surface_set_target(hori);
|
||||||
draw_clear_alpha(bg_c, bg);
|
draw_clear_alpha(bg_c, bg);
|
||||||
|
|
||||||
|
@ -32,12 +34,12 @@ function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, clamp
|
||||||
shader_set_uniform_f_array(uni_dim, [ surface_get_width(surface), surface_get_height(surface) ]);
|
shader_set_uniform_f_array(uni_dim, [ surface_get_width(surface), surface_get_height(surface) ]);
|
||||||
shader_set_uniform_f_array(uni_wei, gau_array);
|
shader_set_uniform_f_array(uni_wei, gau_array);
|
||||||
|
|
||||||
shader_set_uniform_i(uni_bor, clamp_border? 1 : 0);
|
shader_set_uniform_i(uni_bor, sampleMode);
|
||||||
shader_set_uniform_i(uni_sze, size);
|
shader_set_uniform_i(uni_sze, size);
|
||||||
shader_set_uniform_i(uni_hor, 1);
|
shader_set_uniform_i(uni_hor, 1);
|
||||||
|
|
||||||
shader_set_uniform_i(uni_umk, is_surface(mask));
|
shader_set_uniform_i(uni_ovr, overColor != noone);
|
||||||
texture_set_stage(uni_msk, surface_get_texture(mask));
|
shader_set_uniform_f_array(uni_ovc, colToVec4(overColor));
|
||||||
|
|
||||||
draw_surface_safe(surface, 0, 0);
|
draw_surface_safe(surface, 0, 0);
|
||||||
shader_reset();
|
shader_reset();
|
||||||
|
@ -52,6 +54,7 @@ function surface_apply_gaussian(surface, size, bg = false, bg_c = c_white, clamp
|
||||||
draw_surface_safe(hori, 0, 0);
|
draw_surface_safe(hori, 0, 0);
|
||||||
shader_reset();
|
shader_reset();
|
||||||
surface_reset_target();
|
surface_reset_target();
|
||||||
|
BLEND_NORMAL
|
||||||
|
|
||||||
surface_free(hori);
|
surface_free(hori);
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,7 @@ function button(_onClick, _icon = noone) {
|
||||||
return new buttonClass(_onClick, _icon);
|
return new buttonClass(_onClick, _icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
function buttonClass(_onClick, _icon = noone) constructor {
|
function buttonClass(_onClick, _icon = noone) : widget() constructor {
|
||||||
active = false;
|
|
||||||
hover = false;
|
|
||||||
|
|
||||||
icon = _icon;
|
icon = _icon;
|
||||||
icon_blend = c_white;
|
icon_blend = c_white;
|
||||||
icon_index = 0;
|
icon_index = 0;
|
||||||
|
@ -15,6 +12,11 @@ function buttonClass(_onClick, _icon = noone) constructor {
|
||||||
|
|
||||||
onClick = _onClick;
|
onClick = _onClick;
|
||||||
|
|
||||||
|
static trigger = function() {
|
||||||
|
if(!onClick) return;
|
||||||
|
onClick();
|
||||||
|
}
|
||||||
|
|
||||||
static setIcon = function(_icon, _index = 0, _blend = c_white) {
|
static setIcon = function(_icon, _index = 0, _blend = c_white) {
|
||||||
icon = _icon;
|
icon = _icon;
|
||||||
icon_index = _index;
|
icon_index = _index;
|
||||||
|
@ -33,11 +35,16 @@ function buttonClass(_onClick, _icon = noone) constructor {
|
||||||
}
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _h, _m, spr = THEME.button, blend = c_white) {
|
static draw = function(_x, _y, _w, _h, _m, spr = THEME.button, blend = c_white) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
|
||||||
var click = false;
|
var click = false;
|
||||||
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h)) {
|
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h)) {
|
||||||
draw_sprite_stretched_ext(spr, 1, _x, _y, _w, _h, blend, 1);
|
draw_sprite_stretched_ext(spr, 1, _x, _y, _w, _h, blend, 1);
|
||||||
if(mouse_press(mb_left, active)) {
|
if(mouse_press(mb_left, active)) {
|
||||||
if(onClick) onClick();
|
trigger();
|
||||||
click = true;
|
click = true;
|
||||||
}
|
}
|
||||||
if(mouse_click(mb_left, active))
|
if(mouse_click(mb_left, active))
|
||||||
|
@ -45,15 +52,19 @@ function buttonClass(_onClick, _icon = noone) constructor {
|
||||||
if(tooltip != "") TOOLTIP = tooltip;
|
if(tooltip != "") TOOLTIP = tooltip;
|
||||||
} else {
|
} else {
|
||||||
draw_sprite_stretched_ext(spr, 0, _x, _y, _w, _h, blend, 1);
|
draw_sprite_stretched_ext(spr, 0, _x, _y, _w, _h, blend, 1);
|
||||||
|
if(mouse_press(mb_left)) deactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(icon) draw_sprite_ui_uniform(icon, icon_index, _x + _w / 2, _y + _h / 2,, icon_blend);
|
if(icon) draw_sprite_ui_uniform(icon, icon_index, _x + _w / 2, _y + _h / 2,, icon_blend);
|
||||||
if(text != "") {
|
if(text != "") {
|
||||||
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
||||||
draw_text(_x + _w / 2, _y + _h / 2, text);
|
draw_text(_x + _w / 2, _y + _h / 2, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
hover = false;
|
if(WIDGET_CURRENT == self)
|
||||||
active = false;
|
draw_sprite_stretched(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6));
|
||||||
|
|
||||||
|
resetFocus();
|
||||||
|
|
||||||
return click;
|
return click;
|
||||||
}
|
}
|
||||||
|
@ -67,17 +78,19 @@ function buttonInstant(spr, _x, _y, _w, _h, _m, _act, _hvr, _tip = "", _icon = n
|
||||||
draw_sprite_stretched(spr, 1, _x, _y, _w, _h);
|
draw_sprite_stretched(spr, 1, _x, _y, _w, _h);
|
||||||
if(_tip != "")
|
if(_tip != "")
|
||||||
TOOLTIP = _tip;
|
TOOLTIP = _tip;
|
||||||
|
|
||||||
if(mouse_press(mb_left, _act))
|
if(mouse_press(mb_left, _act))
|
||||||
res = 2;
|
res = 2;
|
||||||
|
if(mouse_press(mb_right, _act))
|
||||||
|
res = 3;
|
||||||
|
|
||||||
if(mouse_click(mb_left, _act))
|
if(mouse_click(mb_left, _act))
|
||||||
draw_sprite_stretched(spr, 2, _x, _y, _w, _h);
|
draw_sprite_stretched(spr, 2, _x, _y, _w, _h);
|
||||||
} else {
|
} else
|
||||||
draw_sprite_stretched(spr, 0, _x, _y, _w, _h);
|
draw_sprite_stretched(spr, 0, _x, _y, _w, _h);
|
||||||
}
|
|
||||||
|
|
||||||
if(_icon) {
|
if(_icon)
|
||||||
draw_sprite_ui_uniform(_icon, _icon_index, _x + _w / 2, _y + _h / 2, 1, _icon_blend, _icon_alpha);
|
draw_sprite_ui_uniform(_icon, _icon_index, _x + _w / 2, _y + _h / 2, 1, _icon_blend, _icon_alpha);
|
||||||
}
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
|
@ -2,10 +2,7 @@ function buttonColor(_onApply) {
|
||||||
return new buttonColorClass(_onApply);
|
return new buttonColorClass(_onApply);
|
||||||
}
|
}
|
||||||
|
|
||||||
function buttonColorClass(_onApply) constructor {
|
function buttonColorClass(_onApply) : widget() constructor {
|
||||||
active = false;
|
|
||||||
hover = false;
|
|
||||||
|
|
||||||
onApply = _onApply;
|
onApply = _onApply;
|
||||||
onColorPick = function() {
|
onColorPick = function() {
|
||||||
var dialog = dialogCall(o_dialog_color_selector, WIN_W / 2, WIN_H / 2);
|
var dialog = dialogCall(o_dialog_color_selector, WIN_W / 2, WIN_H / 2);
|
||||||
|
@ -16,10 +13,24 @@ function buttonColorClass(_onApply) constructor {
|
||||||
|
|
||||||
is_picking = false;
|
is_picking = false;
|
||||||
|
|
||||||
|
current_color = c_black;
|
||||||
b_picker = button(onColorPick);
|
b_picker = button(onColorPick);
|
||||||
b_picker.icon = THEME.color_picker_dropper;
|
b_picker.icon = THEME.color_picker_dropper;
|
||||||
|
|
||||||
|
static trigger = function() {
|
||||||
|
var dialog = dialogCall(o_dialog_color_selector, WIN_W / 2, WIN_H / 2);
|
||||||
|
dialog.selector.setColor(current_color);
|
||||||
|
dialog.selector.onApply = onApply;
|
||||||
|
dialog.onApply = onApply;
|
||||||
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _h, _color, _m) {
|
static draw = function(_x, _y, _w, _h, _color, _m) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
current_color = _color;
|
||||||
|
|
||||||
b_picker.hover = hover;
|
b_picker.hover = hover;
|
||||||
b_picker.active = active;
|
b_picker.active = active;
|
||||||
b_picker.draw(_x + _w - ui(32), _y + _h / 2 - ui(16), ui(32), ui(32), _m, THEME.button_hide);
|
b_picker.draw(_x + _w - ui(32), _y + _h / 2 - ui(16), ui(32), ui(32), _m, THEME.button_hide);
|
||||||
|
@ -40,21 +51,22 @@ function buttonColorClass(_onApply) constructor {
|
||||||
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _cw, _y + _h)) {
|
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _cw, _y + _h)) {
|
||||||
draw_sprite_stretched(THEME.button, 1, _x, _y, _cw, _h);
|
draw_sprite_stretched(THEME.button, 1, _x, _y, _cw, _h);
|
||||||
if(mouse_press(mb_left, active)) {
|
if(mouse_press(mb_left, active)) {
|
||||||
var dialog = dialogCall(o_dialog_color_selector, WIN_W / 2, WIN_H / 2);
|
trigger();
|
||||||
dialog.selector.setColor(_color);
|
|
||||||
dialog.selector.onApply = onApply;
|
|
||||||
dialog.onApply = onApply;
|
|
||||||
click = true;
|
click = true;
|
||||||
}
|
}
|
||||||
if(mouse_click(mb_left, active))
|
if(mouse_click(mb_left, active))
|
||||||
draw_sprite_stretched(THEME.button, 2, _x, _y, _cw, _h);
|
draw_sprite_stretched(THEME.button, 2, _x, _y, _cw, _h);
|
||||||
} else {
|
} else {
|
||||||
draw_sprite_stretched(THEME.button, 0, _x, _y, _cw, _h);
|
draw_sprite_stretched(THEME.button, 0, _x, _y, _cw, _h);
|
||||||
|
if(mouse_press(mb_left)) deactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_sprite_stretched_ext(THEME.color_picker_sample, 0, _x + ui(4), _y + ui(4), _cw - ui(8), _h - ui(8), _color, 1);
|
draw_sprite_stretched_ext(THEME.color_picker_sample, 0, _x + ui(4), _y + ui(4), _cw - ui(8), _h - ui(8), _color, 1);
|
||||||
|
|
||||||
hover = false;
|
if(WIDGET_CURRENT == self)
|
||||||
active = false;
|
draw_sprite_stretched(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6));
|
||||||
|
|
||||||
|
resetFocus();
|
||||||
|
|
||||||
return click;
|
return click;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,32 +2,46 @@ function buttonGradient(_onApply) {
|
||||||
return new buttonGradientClass(_onApply);
|
return new buttonGradientClass(_onApply);
|
||||||
}
|
}
|
||||||
|
|
||||||
function buttonGradientClass(_onApply) constructor {
|
function buttonGradientClass(_onApply) : widget() constructor {
|
||||||
active = false;
|
|
||||||
hover = false;
|
|
||||||
|
|
||||||
onApply = _onApply;
|
onApply = _onApply;
|
||||||
|
|
||||||
|
current_gradient = noone;
|
||||||
|
current_data = noone;
|
||||||
|
|
||||||
|
static trigger = function() {
|
||||||
|
var dialog = dialogCall(o_dialog_gradient, WIN_W / 2, WIN_H / 2);
|
||||||
|
dialog.setGradient(current_gradient, current_data);
|
||||||
|
dialog.onApply = onApply;
|
||||||
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _h, _gradient, _data, _m) {
|
static draw = function(_x, _y, _w, _h, _gradient, _data, _m) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
current_gradient = _gradient;
|
||||||
|
current_data = _data;
|
||||||
|
|
||||||
var click = false;
|
var click = false;
|
||||||
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h)) {
|
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h)) {
|
||||||
draw_sprite_stretched(THEME.button, 1, _x, _y, _w, _h);
|
draw_sprite_stretched(THEME.button, 1, _x, _y, _w, _h);
|
||||||
if(mouse_press(mb_left, active)) {
|
if(mouse_press(mb_left, active)) {
|
||||||
var dialog = dialogCall(o_dialog_gradient, WIN_W / 2, WIN_H / 2);
|
trigger();
|
||||||
dialog.setGradient(_gradient, _data);
|
|
||||||
dialog.onApply = onApply;
|
|
||||||
click = true;
|
click = true;
|
||||||
}
|
}
|
||||||
if(mouse_click(mb_left, active))
|
if(mouse_click(mb_left, active))
|
||||||
draw_sprite_stretched(THEME.button, 2, _x, _y, _w, _h);
|
draw_sprite_stretched(THEME.button, 2, _x, _y, _w, _h);
|
||||||
} else {
|
} else {
|
||||||
draw_sprite_stretched(THEME.button, 0, _x, _y, _w, _h);
|
draw_sprite_stretched(THEME.button, 0, _x, _y, _w, _h);
|
||||||
|
if(mouse_press(mb_left)) deactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_gradient(_x + ui(6), _y + ui(6), _w - ui(12), _h - ui(12), _gradient, _data[| 0]);
|
draw_gradient(_x + ui(6), _y + ui(6), _w - ui(12), _h - ui(12), _gradient, _data[| 0]);
|
||||||
|
|
||||||
hover = false;
|
if(WIDGET_CURRENT == self)
|
||||||
active = false;
|
draw_sprite_stretched(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6));
|
||||||
|
|
||||||
|
resetFocus();
|
||||||
|
|
||||||
return click;
|
return click;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,12 +2,12 @@ function buttonGroup(_data, _onClick) {
|
||||||
return new buttonGroupClass(_data, _onClick);
|
return new buttonGroupClass(_data, _onClick);
|
||||||
}
|
}
|
||||||
|
|
||||||
function buttonGroupClass(_data, _onClick) constructor {
|
function buttonGroupClass(_data, _onClick) : widget() constructor {
|
||||||
data = _data;
|
data = _data;
|
||||||
onClick = _onClick;
|
onClick = _onClick;
|
||||||
|
display_button = false;
|
||||||
|
|
||||||
hover = false;
|
current_selecting = 0;
|
||||||
active = false;
|
|
||||||
|
|
||||||
for(var i = 0; i < array_length(data); i++) {
|
for(var i = 0; i < array_length(data); i++) {
|
||||||
buttons[i] = button(-1);
|
buttons[i] = button(-1);
|
||||||
|
@ -15,7 +15,28 @@ function buttonGroupClass(_data, _onClick) constructor {
|
||||||
|
|
||||||
sb_small = new scrollBox(data, _onClick);
|
sb_small = new scrollBox(data, _onClick);
|
||||||
|
|
||||||
|
static trigger = function() {
|
||||||
|
if(current_selecting + 1 >= array_length(data))
|
||||||
|
onClick(0);
|
||||||
|
else
|
||||||
|
onClick(current_selecting + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static register = function(parent = noone) {
|
||||||
|
if(display_button) {
|
||||||
|
array_push(WIDGET_ACTIVE, self);
|
||||||
|
self.parent = parent;
|
||||||
|
} else
|
||||||
|
sb_small.register(parent);
|
||||||
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _h, _selecting, _m, _rx = 0, _ry = 0) {
|
static draw = function(_x, _y, _w, _h, _selecting, _m, _rx = 0, _ry = 0) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
current_selecting = _selecting;
|
||||||
|
|
||||||
var amo = array_length(data);
|
var amo = array_length(data);
|
||||||
var ww = _w / amo;
|
var ww = _w / amo;
|
||||||
|
|
||||||
|
@ -26,7 +47,9 @@ function buttonGroupClass(_data, _onClick) constructor {
|
||||||
total_width += string_width(data[i]) + ui(32);
|
total_width += string_width(data[i]) + ui(32);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(total_width < _w) {
|
display_button = total_width < _w;
|
||||||
|
|
||||||
|
if(display_button) {
|
||||||
for(var i = 0; i < amo; i++) {
|
for(var i = 0; i < amo; i++) {
|
||||||
buttons[i].hover = hover;
|
buttons[i].hover = hover;
|
||||||
buttons[i].active = active;
|
buttons[i].active = active;
|
||||||
|
@ -34,11 +57,10 @@ function buttonGroupClass(_data, _onClick) constructor {
|
||||||
var bx = _x + ww * i;
|
var bx = _x + ww * i;
|
||||||
var spr = i == 0 ? THEME.button_left : (i == amo - 1? THEME.button_right : THEME.button_middle);
|
var spr = i == 0 ? THEME.button_left : (i == amo - 1? THEME.button_right : THEME.button_middle);
|
||||||
|
|
||||||
if(_selecting == i) {
|
if(_selecting == i)
|
||||||
draw_sprite_stretched(spr, 2, bx, _y, ww, _h);
|
draw_sprite_stretched(spr, 2, bx, _y, ww, _h);
|
||||||
} else if(buttons[i].draw(bx, _y, ww, _h, _m, spr)) {
|
else if(buttons[i].draw(bx, _y, ww, _h, _m, spr))
|
||||||
onClick(i);
|
onClick(i);
|
||||||
}
|
|
||||||
|
|
||||||
if(is_string(data[i])) {
|
if(is_string(data[i])) {
|
||||||
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
draw_set_text(f_p0, fa_center, fa_center, COLORS._main_text);
|
||||||
|
@ -53,7 +75,9 @@ function buttonGroupClass(_data, _onClick) constructor {
|
||||||
sb_small.draw(_x, _y, _w, _h, data[_selecting], _m, _rx, _ry);
|
sb_small.draw(_x, _y, _w, _h, data[_selecting], _m, _rx, _ry);
|
||||||
}
|
}
|
||||||
|
|
||||||
hover = false;
|
if(WIDGET_CURRENT == self)
|
||||||
active = false;
|
draw_sprite_stretched(THEME.widget_selecting, 0, x - ui(3), y - ui(3), w + ui(6), h + ui(6));
|
||||||
|
|
||||||
|
resetFocus();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,32 +2,43 @@ function buttonPalette(_onApply) {
|
||||||
return new buttonPaletteClass(_onApply);
|
return new buttonPaletteClass(_onApply);
|
||||||
}
|
}
|
||||||
|
|
||||||
function buttonPaletteClass(_onApply) constructor {
|
function buttonPaletteClass(_onApply) : widget() constructor {
|
||||||
active = false;
|
|
||||||
hover = false;
|
|
||||||
|
|
||||||
onApply = _onApply;
|
onApply = _onApply;
|
||||||
|
current_palette = noone;
|
||||||
|
|
||||||
|
static trigger = function() {
|
||||||
|
var dialog = dialogCall(o_dialog_palette, WIN_W / 2, WIN_H / 2);
|
||||||
|
dialog.setPalette(current_palette);
|
||||||
|
dialog.onApply = onApply;
|
||||||
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _h, _color, _m) {
|
static draw = function(_x, _y, _w, _h, _color, _m) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
current_palette = _color;
|
||||||
|
|
||||||
var click = false;
|
var click = false;
|
||||||
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h)) {
|
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h)) {
|
||||||
draw_sprite_stretched(THEME.button, 1, _x, _y, _w, _h);
|
draw_sprite_stretched(THEME.button, 1, _x, _y, _w, _h);
|
||||||
if(mouse_press(mb_left, active)) {
|
if(mouse_press(mb_left, active)) {
|
||||||
var dialog = dialogCall(o_dialog_palette, WIN_W / 2, WIN_H / 2);
|
trigger();
|
||||||
dialog.setPalette(_color);
|
|
||||||
dialog.onApply = onApply;
|
|
||||||
click = true;
|
click = true;
|
||||||
}
|
}
|
||||||
if(mouse_click(mb_left, active))
|
if(mouse_click(mb_left, active))
|
||||||
draw_sprite_stretched(THEME.button, 2, _x, _y, _w, _h);
|
draw_sprite_stretched(THEME.button, 2, _x, _y, _w, _h);
|
||||||
} else {
|
} else {
|
||||||
draw_sprite_stretched(THEME.button, 0, _x, _y, _w, _h);
|
draw_sprite_stretched(THEME.button, 0, _x, _y, _w, _h);
|
||||||
|
if(mouse_press(mb_left)) deactivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
drawPalette(_color, _x + ui(6), _y + ui(6), _w - ui(12), _h - ui(12));
|
drawPalette(_color, _x + ui(6), _y + ui(6), _w - ui(12), _h - ui(12));
|
||||||
|
|
||||||
hover = false;
|
resetFocus();
|
||||||
active = false;
|
|
||||||
|
if(WIDGET_CURRENT == self)
|
||||||
|
draw_sprite_stretched(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6));
|
||||||
|
|
||||||
return click;
|
return click;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,14 +2,135 @@ function bin_read_byte(bin) {
|
||||||
return file_bin_read_byte(bin);
|
return file_bin_read_byte(bin);
|
||||||
}
|
}
|
||||||
function bin_read_word(bin) {
|
function bin_read_word(bin) {
|
||||||
return file_bin_read_byte(bin) + file_bin_read_byte(bin);
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
return b0 + (b1 << 8);
|
||||||
}
|
}
|
||||||
function bin_read_short(bin) {
|
function bin_read_short(bin) {
|
||||||
return file_bin_read_byte(bin) + file_bin_read_byte(bin);
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
|
||||||
|
var short = b0 + (b1 << 8);
|
||||||
|
var sig = short >> 15;
|
||||||
|
short = short & ~(1 << 15);
|
||||||
|
return sig? -power(2, 15) + short : short;
|
||||||
}
|
}
|
||||||
function bin_read_dword(bin) {
|
function bin_read_dword(bin) {
|
||||||
return file_bin_read_byte(bin) + file_bin_read_byte(bin) + file_bin_read_byte(bin) + file_bin_read_byte(bin);
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
var b2 = file_bin_read_byte(bin);
|
||||||
|
var b3 = file_bin_read_byte(bin);
|
||||||
|
var dword = b0 + (b1 << 8) + (b2 << 16) + (b3 << 24);
|
||||||
|
return dword;
|
||||||
}
|
}
|
||||||
function bin_read_long(bin) {
|
function bin_read_long(bin) {
|
||||||
return file_bin_read_byte(bin) + file_bin_read_byte(bin) + file_bin_read_byte(bin) + file_bin_read_byte(bin);
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
var b2 = file_bin_read_byte(bin);
|
||||||
|
var b3 = file_bin_read_byte(bin);
|
||||||
|
var long = b0 + (b1 << 8) + (b2 << 16) + (b3 << 24);
|
||||||
|
|
||||||
|
var sig = long >> 31;
|
||||||
|
long = long & ~(1 << 31);
|
||||||
|
return sig? -power(2, 31) : long;
|
||||||
|
}
|
||||||
|
function bin_read_fixed(bin) {
|
||||||
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
var b2 = file_bin_read_byte(bin);
|
||||||
|
var b3 = file_bin_read_byte(bin);
|
||||||
|
|
||||||
|
var fixInt = b0 + (b1 << 8);
|
||||||
|
var fixFrc = b2 + (b3 << 8);
|
||||||
|
return fixInt + bin_fraction(fixFrc, 16);
|
||||||
|
}
|
||||||
|
function bin_read_float(bin) {
|
||||||
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
var b2 = file_bin_read_byte(bin);
|
||||||
|
var b3 = file_bin_read_byte(bin);
|
||||||
|
var float = b0 + (b1 << 8) + (b2 << 16) + (b3 << 24);
|
||||||
|
|
||||||
|
var sig = float >> 31;
|
||||||
|
var expo = (float & ~(1 << 31)) >> 23;
|
||||||
|
var mant = float & 0b00000000_01111111_11111111_11111111;
|
||||||
|
|
||||||
|
var val = (1 + mant) * power(2, expo - 127);
|
||||||
|
return sig? -val : val;
|
||||||
|
}
|
||||||
|
function bin_read_double(bin) {
|
||||||
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
var b2 = file_bin_read_byte(bin);
|
||||||
|
var b3 = file_bin_read_byte(bin);
|
||||||
|
var b4 = file_bin_read_byte(bin);
|
||||||
|
var b5 = file_bin_read_byte(bin);
|
||||||
|
var b6 = file_bin_read_byte(bin);
|
||||||
|
var b7 = file_bin_read_byte(bin);
|
||||||
|
var double = b0 + (b1 << 8) + (b2 << 16) + (b3 << 24) + (b2 << 32) + (b3 << 40) + (b2 << 48) + (b3 << 56);
|
||||||
|
|
||||||
|
var sig = double >> 63;
|
||||||
|
var expo = (double & ~(1 << 63)) >> 52;
|
||||||
|
var mant = double & 0b00000000_00001111_11111111_11111111_11111111_11111111_11111111_11111111;
|
||||||
|
|
||||||
|
var val = (1 + mant) * power(2, expo - 1023);
|
||||||
|
return sig? -val : val;
|
||||||
|
}
|
||||||
|
function bin_read_qword(bin) {
|
||||||
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
var b2 = file_bin_read_byte(bin);
|
||||||
|
var b3 = file_bin_read_byte(bin);
|
||||||
|
var b4 = file_bin_read_byte(bin);
|
||||||
|
var b5 = file_bin_read_byte(bin);
|
||||||
|
var b6 = file_bin_read_byte(bin);
|
||||||
|
var b7 = file_bin_read_byte(bin);
|
||||||
|
return b0 + (b1 << 8) + (b2 << 16) + (b3 << 24) + (b2 << 32) + (b3 << 40) + (b2 << 48) + (b3 << 56);
|
||||||
|
}
|
||||||
|
function bin_read_long64(bin) {
|
||||||
|
var b0 = file_bin_read_byte(bin);
|
||||||
|
var b1 = file_bin_read_byte(bin);
|
||||||
|
var b2 = file_bin_read_byte(bin);
|
||||||
|
var b3 = file_bin_read_byte(bin);
|
||||||
|
var b4 = file_bin_read_byte(bin);
|
||||||
|
var b5 = file_bin_read_byte(bin);
|
||||||
|
var b6 = file_bin_read_byte(bin);
|
||||||
|
var b7 = file_bin_read_byte(bin);
|
||||||
|
var long = b0 + (b1 << 8) + (b2 << 16) + (b3 << 24) + (b2 << 32) + (b3 << 40) + (b2 << 48) + (b3 << 56);
|
||||||
|
var sig = long >> 63;
|
||||||
|
long = long & ~(1 << 63);
|
||||||
|
return sig? -long : long;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
function bin_read_string(bin) {
|
||||||
|
var len = bin_read_word(bin);
|
||||||
|
var ss = "";
|
||||||
|
repeat(len) {
|
||||||
|
var utf = bin_read_byte(bin);
|
||||||
|
ss += chr(utf);
|
||||||
|
}
|
||||||
|
return ss;
|
||||||
|
}
|
||||||
|
function bin_read_point(bin) {
|
||||||
|
return [bin_read_long(bin), bin_read_long(bin)];
|
||||||
|
}
|
||||||
|
function bin_read_size(bin) {
|
||||||
|
return [bin_read_long(bin), bin_read_long(bin)];
|
||||||
|
}
|
||||||
|
function bin_read_rect(bin) {
|
||||||
|
return [bin_read_point(bin), bin_read_size(bin)];
|
||||||
|
}
|
||||||
|
function bin_read_color(bin) {
|
||||||
|
var r = bin_read_byte(bin);
|
||||||
|
var g = bin_read_byte(bin);
|
||||||
|
var b = bin_read_byte(bin);
|
||||||
|
return make_color_rgb(r, g, b);
|
||||||
|
}
|
||||||
|
function bin_read_pixel(bin, type) {
|
||||||
|
switch(type) {
|
||||||
|
case 0 : return [ bin_read_byte(bin), bin_read_byte(bin), bin_read_byte(bin), bin_read_byte(bin) ];
|
||||||
|
case 1 : return [ bin_read_byte(bin), bin_read_byte(bin) ];
|
||||||
|
case 2 : return [ bin_read_byte(bin) ];
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
|
@ -1,10 +1,17 @@
|
||||||
function checkBox(_onClick) constructor {
|
function checkBox(_onClick) : widget() constructor {
|
||||||
active = false;
|
|
||||||
hover = false;
|
|
||||||
|
|
||||||
onClick = _onClick;
|
onClick = _onClick;
|
||||||
|
|
||||||
|
static trigger = function() {
|
||||||
|
if(!onClick) return;
|
||||||
|
onClick();
|
||||||
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _value, _m, ss = ui(28), halign = fa_left, valign = fa_top) {
|
static draw = function(_x, _y, _value, _m, ss = ui(28), halign = fa_left, valign = fa_top) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = ss;
|
||||||
|
h = ss;
|
||||||
|
|
||||||
var _dx, _dy;
|
var _dx, _dy;
|
||||||
switch(halign) {
|
switch(halign) {
|
||||||
case fa_left: _dx = _x; break;
|
case fa_left: _dx = _x; break;
|
||||||
|
@ -24,10 +31,13 @@ function checkBox(_onClick) constructor {
|
||||||
draw_sprite_stretched(THEME.checkbox, _value * 2 + 1, _dx, _dy, ss, ss);
|
draw_sprite_stretched(THEME.checkbox, _value * 2 + 1, _dx, _dy, ss, ss);
|
||||||
|
|
||||||
if(mouse_press(mb_left, active))
|
if(mouse_press(mb_left, active))
|
||||||
if(onClick) onClick();
|
trigger();
|
||||||
}
|
} else
|
||||||
|
if(mouse_press(mb_left)) deactivate();
|
||||||
|
|
||||||
hover = false;
|
if(WIDGET_CURRENT == self)
|
||||||
active = false;
|
draw_sprite_stretched(THEME.widget_selecting, 0, _dx - ui(3), _dy - ui(3), ss + ui(6), ss + ui(6));
|
||||||
|
|
||||||
|
resetFocus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,3 +15,15 @@ function colorBrightness(clr) {
|
||||||
var b2 = color_get_blue(clr) / 255;
|
var b2 = color_get_blue(clr) / 255;
|
||||||
return 0.299 * r2 + 0.587 * g2 + 0.224 * b2;
|
return 0.299 * r2 + 0.587 * g2 + 0.224 * b2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function colorMultiply(c1, c2) {
|
||||||
|
var r1 = color_get_red(c1) / 255;
|
||||||
|
var g1 = color_get_green(c1) / 255;
|
||||||
|
var b1 = color_get_blue(c1) / 255;
|
||||||
|
|
||||||
|
var r2 = color_get_red(c2) / 255;
|
||||||
|
var g2 = color_get_green(c2) / 255;
|
||||||
|
var b2 = color_get_blue(c2) / 255;
|
||||||
|
|
||||||
|
return make_color_rgb((r1 * r2) * 255, (g1 * g2) * 255, (b1 * b2) * 255);
|
||||||
|
}
|
|
@ -15,13 +15,10 @@ enum PUPPET_FORCE_MODE {
|
||||||
wind,
|
wind,
|
||||||
}
|
}
|
||||||
|
|
||||||
function controlPointBox(_onModify) constructor {
|
function controlPointBox(_onModify) : widget() constructor {
|
||||||
onModify = _onModify;
|
onModify = _onModify;
|
||||||
onSurfaceSize = -1;
|
onSurfaceSize = -1;
|
||||||
|
|
||||||
active = false;
|
|
||||||
hover = false;
|
|
||||||
|
|
||||||
tbCx = new textBox(TEXTBOX_INPUT.float, function(val) { onModify(PUPPET_CONTROL.cx, toNumber(val)); });
|
tbCx = new textBox(TEXTBOX_INPUT.float, function(val) { onModify(PUPPET_CONTROL.cx, toNumber(val)); });
|
||||||
tbCy = new textBox(TEXTBOX_INPUT.float, function(val) { onModify(PUPPET_CONTROL.cy, toNumber(val)); });
|
tbCy = new textBox(TEXTBOX_INPUT.float, function(val) { onModify(PUPPET_CONTROL.cy, toNumber(val)); });
|
||||||
tbFx = new textBox(TEXTBOX_INPUT.float, function(val) { onModify(PUPPET_CONTROL.fx, toNumber(val)); });
|
tbFx = new textBox(TEXTBOX_INPUT.float, function(val) { onModify(PUPPET_CONTROL.fx, toNumber(val)); });
|
||||||
|
@ -42,7 +39,21 @@ function controlPointBox(_onModify) constructor {
|
||||||
function(val) { onModify(PUPPET_CONTROL.mode, toNumber(val)); }
|
function(val) { onModify(PUPPET_CONTROL.mode, toNumber(val)); }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
static register = function(parent = noone) {
|
||||||
|
sMode.register(parent);
|
||||||
|
tbCx.register(parent);
|
||||||
|
tbCy.register(parent);
|
||||||
|
tbFx.register(parent);
|
||||||
|
tbFy.register(parent);
|
||||||
|
tbW.register(parent);
|
||||||
|
tbH.register(parent);
|
||||||
|
rot.register(parent);
|
||||||
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _data, _m, _rx, _ry) {
|
static draw = function(_x, _y, _w, _data, _m, _rx, _ry) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
|
||||||
tbCx.hover = hover; tbCx.active = active;
|
tbCx.hover = hover; tbCx.active = active;
|
||||||
tbCy.hover = hover; tbCy.active = active;
|
tbCy.hover = hover; tbCy.active = active;
|
||||||
tbFx.hover = hover; tbFx.active = active;
|
tbFx.hover = hover; tbFx.active = active;
|
||||||
|
@ -109,8 +120,7 @@ function controlPointBox(_onModify) constructor {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
active = false;
|
resetFocus();
|
||||||
hover = false;
|
|
||||||
|
|
||||||
return yy - _y;
|
return yy - _y;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
globalvar KEYBOARD_STRING, KEYBOARD_PRESSED;
|
globalvar KEYBOARD_STRING, KEYBOARD_PRESSED;
|
||||||
globalvar CTRL, ALT, SHIFT;
|
globalvar CTRL, ALT, SHIFT;
|
||||||
|
|
||||||
|
WIDGET_ACTIVE = [];
|
||||||
KEYBOARD_PRESSED = vk_nokey;
|
KEYBOARD_PRESSED = vk_nokey;
|
||||||
CTRL = KEYBOARD_STATUS.idle;
|
CTRL = KEYBOARD_STATUS.idle;
|
||||||
ALT = KEYBOARD_STATUS.idle;
|
ALT = KEYBOARD_STATUS.idle;
|
||||||
|
@ -28,3 +29,40 @@
|
||||||
return key == KEYBOARD_STATUS.pressing;
|
return key == KEYBOARD_STATUS.pressing;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region widget
|
||||||
|
globalvar WIDGET_CURRENT, WIDGET_ACTIVE, WIDGET_CURRENT_SCROLL;
|
||||||
|
WIDGET_CURRENT = noone;
|
||||||
|
WIDGET_CURRENT_SCROLL = noone;
|
||||||
|
|
||||||
|
function widget_next() {
|
||||||
|
if(WIDGET_CURRENT == noone) return;
|
||||||
|
if(array_length(WIDGET_ACTIVE) == 0) return;
|
||||||
|
|
||||||
|
var ind = array_find(WIDGET_ACTIVE, WIDGET_CURRENT);
|
||||||
|
WIDGET_CURRENT.deactivate();
|
||||||
|
|
||||||
|
if(ind + 1 == array_length(WIDGET_ACTIVE))
|
||||||
|
WIDGET_ACTIVE[0].activate();
|
||||||
|
else
|
||||||
|
WIDGET_ACTIVE[ind + 1].activate();
|
||||||
|
}
|
||||||
|
|
||||||
|
function widget_previous() {
|
||||||
|
if(WIDGET_CURRENT == noone) return;
|
||||||
|
if(array_length(WIDGET_ACTIVE) == 0) return;
|
||||||
|
|
||||||
|
var ind = array_find(WIDGET_ACTIVE, WIDGET_CURRENT);
|
||||||
|
WIDGET_CURRENT.deactivate();
|
||||||
|
|
||||||
|
if(ind == 0)
|
||||||
|
WIDGET_ACTIVE[array_length(WIDGET_ACTIVE) - 1].activate();
|
||||||
|
else
|
||||||
|
WIDGET_ACTIVE[ind - 1].activate();
|
||||||
|
}
|
||||||
|
|
||||||
|
function widget_trigger() {
|
||||||
|
if(WIDGET_CURRENT == noone) return;
|
||||||
|
WIDGET_CURRENT.trigger();
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
function curveBox(_onModify) constructor {
|
function curveBox(_onModify) : widget() constructor {
|
||||||
onModify = _onModify;
|
onModify = _onModify;
|
||||||
|
|
||||||
active = false;
|
|
||||||
hover = false;
|
|
||||||
|
|
||||||
node_dragging = -1;
|
node_dragging = -1;
|
||||||
|
|
||||||
drag_range = 0;
|
drag_range = 0;
|
||||||
|
@ -13,7 +10,14 @@ function curveBox(_onModify) constructor {
|
||||||
return _y + _h * clamp((y_max - val) / y_range, 0, 1);
|
return _y + _h * clamp((y_max - val) / y_range, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static register = function() {}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _h, _data, _m) {
|
static draw = function(_x, _y, _w, _h, _data, _m) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
|
||||||
static curve_amo = 3;
|
static curve_amo = 3;
|
||||||
var curve_h = _h;
|
var curve_h = _h;
|
||||||
|
|
||||||
|
@ -106,7 +110,6 @@ function curveBox(_onModify) constructor {
|
||||||
drag_max = y_max;
|
drag_max = y_max;
|
||||||
}
|
}
|
||||||
|
|
||||||
active = false;
|
resetFocus();
|
||||||
hover = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
#macro CURVE_DEF_01 [0, 1/3, 1/3, 2/3, 2/3, 1]
|
#macro CURVE_DEF_01 [0, 1/3, 1/3, 2/3, 2/3, 1]
|
||||||
|
#macro CURVE_DEF_10 [1, 2/3, 1/3, 1/3, 2/3, 0]
|
||||||
#macro CURVE_DEF_11 [1, 1/3, 1, 2/3, 1, 1]
|
#macro CURVE_DEF_11 [1, 1/3, 1, 2/3, 1, 1]
|
||||||
|
|
||||||
function draw_line_bezier_cubic(x0, y0, _w, _h, _bz) {
|
function draw_line_bezier_cubic(x0, y0, _w, _h, _bz) {
|
||||||
|
@ -43,6 +44,8 @@ function eval_curve_bezier_cubic_x(_bz, _x, _prec = 0.00001) {
|
||||||
var _xt = _x;
|
var _xt = _x;
|
||||||
var _binRep = 5;
|
var _binRep = 5;
|
||||||
|
|
||||||
|
if(_bz[0] == _bz[2] && _bz[0] == _bz[4] && _bz[0] == _bz[5]) return _bz[0];
|
||||||
|
|
||||||
repeat(_binRep) {
|
repeat(_binRep) {
|
||||||
var _ftx = power(1 - _xt, 3) * 0
|
var _ftx = power(1 - _xt, 3) * 0
|
||||||
+ 3 * power(1 - _xt, 2) * _xt * _bz[1]
|
+ 3 * power(1 - _xt, 2) * _xt * _bz[1]
|
||||||
|
|
|
@ -12,10 +12,10 @@ function __log(title, str, fname = "log.txt") {
|
||||||
file_text_close(f);
|
file_text_close(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
function log_message(title, str, icon = noone) {
|
function log_message(title, str, icon = noone, flash = false) {
|
||||||
__log("[MESSAGE] ", string(title) + ": " + string(str));
|
__log("[MESSAGE] ", string(title) + ": " + string(str));
|
||||||
|
|
||||||
return noti_status(string(title) + ": " + string(str), icon);
|
return noti_status(string(title) + ": " + string(str), icon, flash);
|
||||||
}
|
}
|
||||||
|
|
||||||
function log_warning(title, str) {
|
function log_warning(title, str) {
|
||||||
|
|
|
@ -1,8 +1,30 @@
|
||||||
function FileObject(_name, _path) constructor {
|
function FileObject(_name, _path) constructor {
|
||||||
name = _name;
|
name = _name;
|
||||||
path = _path;
|
path = _path;
|
||||||
|
spr_path = [];
|
||||||
spr = -1;
|
spr = -1;
|
||||||
content = -1;
|
content = -1;
|
||||||
|
surface = noone;
|
||||||
|
|
||||||
|
static getSurface = function() {
|
||||||
|
if(is_surface(surface)) return surface;
|
||||||
|
var spr = getSpr();
|
||||||
|
surface = surface_create_from_sprite_ext(spr, 0);
|
||||||
|
return surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
static getSpr = function() {
|
||||||
|
if(sprite_exists(spr)) return spr;
|
||||||
|
var path = array_safe_get(spr_path, 0);
|
||||||
|
var amo = array_safe_get(spr_path, 1);
|
||||||
|
var cent = array_safe_get(spr_path, 2);
|
||||||
|
|
||||||
|
if(path == 0) return -1;
|
||||||
|
spr = sprite_add(path, amo, false, false, 0, 0);
|
||||||
|
if(cent)
|
||||||
|
sprite_set_offset(spr, sprite_get_width(spr) / 2, sprite_get_height(spr) / 2);
|
||||||
|
return spr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function DirectoryObject(name, path) constructor {
|
function DirectoryObject(name, path) constructor {
|
||||||
|
@ -48,7 +70,7 @@ function DirectoryObject(name, path) constructor {
|
||||||
var p = string_pos("strip", icon_path);
|
var p = string_pos("strip", icon_path);
|
||||||
if(p) amo = toNumber(string_copy(icon_path, p, string_length(icon_path) - p + 1));
|
if(p) amo = toNumber(string_copy(icon_path, p, string_length(icon_path) - p + 1));
|
||||||
|
|
||||||
f.spr = sprite_add(icon_path, amo, false, false, 0, 0);
|
f.spr_path = [icon_path, amo, false];
|
||||||
} else {
|
} else {
|
||||||
var icon_path = path + "\\" + filename_change_ext(file, ".png");
|
var icon_path = path + "\\" + filename_change_ext(file, ".png");
|
||||||
if(!file_exists(icon_path)) continue;
|
if(!file_exists(icon_path)) continue;
|
||||||
|
@ -59,8 +81,7 @@ function DirectoryObject(name, path) constructor {
|
||||||
var amo = ww % hh == 0? ww / hh : 1;
|
var amo = ww % hh == 0? ww / hh : 1;
|
||||||
sprite_delete(_temp);
|
sprite_delete(_temp);
|
||||||
|
|
||||||
f.spr = sprite_add(icon_path, amo, false, false, 0, 0);
|
f.spr_path = [icon_path, amo, true];
|
||||||
sprite_set_offset(f.spr, sprite_get_width(f.spr) / 2, sprite_get_height(f.spr) / 2);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
70
scripts/fontScrollBox/fontScrollBox.gml
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
function fontScrollBox(_onModify) : widget() constructor {
|
||||||
|
onModify = _onModify;
|
||||||
|
|
||||||
|
open = false;
|
||||||
|
open_rx = 0;
|
||||||
|
open_ry = 0;
|
||||||
|
|
||||||
|
align = fa_center;
|
||||||
|
extra_button = button(function() { shellOpenExplorer(DIRECTORY + "Fonts\\"); } )
|
||||||
|
.setTooltip("Open font folder")
|
||||||
|
.setIcon(THEME.folder_content, 0, COLORS._main_icon);
|
||||||
|
|
||||||
|
static trigger = function() {
|
||||||
|
refreshFontFolder();
|
||||||
|
open = true;
|
||||||
|
with(dialogCall(o_dialog_fontscrollbox, x + open_rx, y + open_ry)) {
|
||||||
|
scrollbox = other;
|
||||||
|
align = other.align;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static draw = function(_x, _y, _w, _h, _text, _m = mouse_ui, _rx = 0, _ry = 0) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
open_rx = _rx;
|
||||||
|
open_ry = _ry;
|
||||||
|
h = _h;
|
||||||
|
|
||||||
|
w = _w;
|
||||||
|
if(extra_button != noone) {
|
||||||
|
extra_button.hover = hover;
|
||||||
|
extra_button.active = active;
|
||||||
|
extra_button.draw(_x + _w - ui(32), _y + _h / 2 - ui(32 / 2), ui(32), ui(32), _m, THEME.button_hide);
|
||||||
|
w -= ui(40);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(open) {
|
||||||
|
resetFocus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_sprite_stretched(THEME.textbox, 3, _x, _y, w, _h);
|
||||||
|
|
||||||
|
if(hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + w, _y + _h)) {
|
||||||
|
draw_sprite_stretched(THEME.textbox, 1, _x, _y, w, _h);
|
||||||
|
if(mouse_press(mb_left, active))
|
||||||
|
trigger();
|
||||||
|
if(mouse_click(mb_left, active))
|
||||||
|
draw_sprite_stretched(THEME.textbox, 2, _x, _y, w, _h);
|
||||||
|
} else {
|
||||||
|
draw_sprite_stretched_ext(THEME.textbox, 0, _x, _y, w, _h, c_white, 0.5 + 0.5 * interactable);
|
||||||
|
if(mouse_press(mb_left)) deactivate();
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_set_text(f_p0, align, fa_center, COLORS._main_text);
|
||||||
|
draw_set_alpha(0.5 + 0.5 * interactable);
|
||||||
|
if(align == fa_center)
|
||||||
|
draw_text(_x + w / 2, _y + _h / 2 - ui(2), _text);
|
||||||
|
else if(align == fa_left)
|
||||||
|
draw_text(_x + ui(8), _y + _h / 2 - ui(2), _text);
|
||||||
|
draw_set_alpha(1);
|
||||||
|
|
||||||
|
draw_sprite_ui_uniform(THEME.scroll_box_arrow, 0, _x + w - 20, _y + _h / 2, 1, COLORS._main_icon, 0.5 + 0.5 * interactable);
|
||||||
|
|
||||||
|
if(WIDGET_CURRENT == self)
|
||||||
|
draw_sprite_stretched(THEME.widget_selecting, 0, _x - ui(3), _y - ui(3), _w + ui(6), _h + ui(6));
|
||||||
|
|
||||||
|
resetFocus();
|
||||||
|
}
|
||||||
|
}
|
11
scripts/fontScrollBox/fontScrollBox.yy
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"resourceType": "GMScript",
|
||||||
|
"resourceVersion": "1.0",
|
||||||
|
"name": "fontScrollBox",
|
||||||
|
"isDnD": false,
|
||||||
|
"isCompatibility": false,
|
||||||
|
"parent": {
|
||||||
|
"name": "widgets",
|
||||||
|
"path": "folders/widgets.yy",
|
||||||
|
},
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
globalvar FONT_LOADED, f_h3, f_h5, f_p0, f_p0b, f_p1, f_p2, f_p3, f_code;
|
globalvar FONT_ISLOADED, f_h3, f_h5, f_p0, f_p0b, f_p1, f_p2, f_p3, f_code;
|
||||||
|
|
||||||
FONT_LOADED = false;
|
FONT_ISLOADED = false;
|
||||||
|
|
||||||
function _font_path(rel) {
|
function _font_path(rel) {
|
||||||
return DIRECTORY + "themes/" + PREF_MAP[? "theme"] + "/fonts/" + string_replace_all(rel, "./", "");
|
return DIRECTORY + "themes/" + PREF_MAP[? "theme"] + "/fonts/" + string_replace_all(rel, "./", "");
|
||||||
|
@ -19,7 +19,7 @@ function _font_load_from_struct(str, def) {
|
||||||
function font_clear(font) { if(font_exists(font)) font_delete(font); }
|
function font_clear(font) { if(font_exists(font)) font_delete(font); }
|
||||||
|
|
||||||
function loadFonts() {
|
function loadFonts() {
|
||||||
if(FONT_LOADED) {
|
if(FONT_ISLOADED) {
|
||||||
font_clear(f_h3);
|
font_clear(f_h3);
|
||||||
font_clear(f_h5);
|
font_clear(f_h5);
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ function loadFonts() {
|
||||||
f_p2 = _f_p2;
|
f_p2 = _f_p2;
|
||||||
f_p3 = _f_p3;
|
f_p3 = _f_p3;
|
||||||
f_code = _f_code;
|
f_code = _f_code;
|
||||||
FONT_LOADED = false;
|
FONT_ISLOADED = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,5 +66,5 @@ function loadFonts() {
|
||||||
|
|
||||||
f_code = _font_load_from_struct(fontDef.code, _f_code);
|
f_code = _font_load_from_struct(fontDef.code, _f_code);
|
||||||
|
|
||||||
FONT_LOADED = true;
|
FONT_ISLOADED = true;
|
||||||
}
|
}
|
42
scripts/font_sprite_loader/font_sprite_loader.gml
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
globalvar FONT_INTERNAL, FONT_SPRITES;
|
||||||
|
FONT_SPRITES = ds_map_create();
|
||||||
|
|
||||||
|
#region font refresh
|
||||||
|
function loadFontSprite(path) {
|
||||||
|
if(ds_map_exists(FONT_SPRITES, path)) return;
|
||||||
|
|
||||||
|
var f = font_add(path, 32, false, false, 32, 255);
|
||||||
|
draw_set_text(f, fa_left, fa_top, c_white);
|
||||||
|
var name = "ABCabc123";
|
||||||
|
var ww = string_width(name);
|
||||||
|
var hh = string_height(name);
|
||||||
|
|
||||||
|
var s = surface_create(ww, hh);
|
||||||
|
surface_set_target(s);
|
||||||
|
draw_clear_alpha(0, 0);
|
||||||
|
draw_text(0, 0, name);
|
||||||
|
surface_reset_target();
|
||||||
|
|
||||||
|
var spr = sprite_create_from_surface(s, 0, 0, ww, hh, false, false, 0, 0);
|
||||||
|
surface_free(s);
|
||||||
|
|
||||||
|
FONT_SPRITES[? path] = spr;
|
||||||
|
}
|
||||||
|
|
||||||
|
function refreshFontFolder() {
|
||||||
|
FONT_INTERNAL = [];
|
||||||
|
var root = DIRECTORY + "Fonts/*";
|
||||||
|
var f = file_find_first(root, -1);
|
||||||
|
var filter = [ ".ttf", ".otf" ];
|
||||||
|
while(f != "") {
|
||||||
|
var fullname = DIRECTORY + "Fonts/" + f;
|
||||||
|
var ext = filename_ext(fullname);
|
||||||
|
if(array_exists(filter, string_lower(ext))) {
|
||||||
|
array_push(FONT_INTERNAL, f);
|
||||||
|
loadFontSprite(fullname);
|
||||||
|
}
|
||||||
|
f = file_find_next();
|
||||||
|
}
|
||||||
|
file_find_close();
|
||||||
|
}
|
||||||
|
#endregion
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"resourceType": "GMScript",
|
"resourceType": "GMScript",
|
||||||
"resourceVersion": "1.0",
|
"resourceVersion": "1.0",
|
||||||
"name": "_node_VFX",
|
"name": "font_sprite_loader",
|
||||||
"isDnD": false,
|
"isDnD": false,
|
||||||
"isCompatibility": false,
|
"isCompatibility": false,
|
||||||
"parent": {
|
"parent": {
|
||||||
"name": "VFX",
|
"name": "font",
|
||||||
"path": "folders/nodes/data/VFX.yy",
|
"path": "folders/font.yy",
|
||||||
},
|
},
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
#region save
|
#region save
|
||||||
globalvar LOADING, LOADING_VERSION, APPENDING, MODIFIED, CURRENT_PATH, READONLY, CONNECTION_CONFLICT, GLOBAL_SEED, ALWAYS_FULL;
|
globalvar LOADING, LOADING_VERSION, APPENDING, CLONING;
|
||||||
|
globalvar MODIFIED, CURRENT_PATH, READONLY, CONNECTION_CONFLICT, GLOBAL_SEED, ALWAYS_FULL;
|
||||||
LOADING = false;
|
LOADING = false;
|
||||||
|
CLONING = false;
|
||||||
LOADING_VERSION = 0;
|
LOADING_VERSION = 0;
|
||||||
APPENDING = false;
|
APPENDING = false;
|
||||||
READONLY = false;
|
READONLY = false;
|
||||||
|
@ -21,9 +23,9 @@
|
||||||
COLOR_KEYS = [];
|
COLOR_KEYS = [];
|
||||||
|
|
||||||
globalvar VERSION, SAVEFILE_VERSION, VERSION_STRING;
|
globalvar VERSION, SAVEFILE_VERSION, VERSION_STRING;
|
||||||
VERSION = 1090;
|
VERSION = 1110;
|
||||||
SAVEFILE_VERSION = 1090;
|
SAVEFILE_VERSION = 1100;
|
||||||
VERSION_STRING = "1.0.9";
|
VERSION_STRING = "1.1.1.0";
|
||||||
|
|
||||||
globalvar NODES, NODE_MAP, APPEND_MAP, HOTKEYS, HOTKEY_CONTEXT;
|
globalvar NODES, NODE_MAP, APPEND_MAP, HOTKEYS, HOTKEY_CONTEXT;
|
||||||
|
|
||||||
|
@ -41,14 +43,12 @@
|
||||||
|
|
||||||
#region inputs
|
#region inputs
|
||||||
globalvar FOCUS, FOCUS_STR, HOVER, DOUBLE_CLICK, CURRENT_PATH, DIALOG_CLICK;
|
globalvar FOCUS, FOCUS_STR, HOVER, DOUBLE_CLICK, CURRENT_PATH, DIALOG_CLICK;
|
||||||
globalvar TEXTBOX_ACTIVE;
|
|
||||||
|
|
||||||
CURRENT_PATH = "";
|
CURRENT_PATH = "";
|
||||||
DOUBLE_CLICK = false;
|
DOUBLE_CLICK = false;
|
||||||
FOCUS = noone;
|
FOCUS = noone;
|
||||||
FOCUS_STR = "";
|
FOCUS_STR = "";
|
||||||
HOVER = noone;
|
HOVER = noone;
|
||||||
TEXTBOX_ACTIVE = noone;
|
|
||||||
DIALOG_CLICK = true;
|
DIALOG_CLICK = true;
|
||||||
|
|
||||||
globalvar ADD_NODE_PAGE, ADD_NODE_W, ADD_NODE_H;
|
globalvar ADD_NODE_PAGE, ADD_NODE_W, ADD_NODE_H;
|
||||||
|
|
|
@ -47,10 +47,12 @@ function gradient_eval(_gradient, _time, _int = GRADIENT_INTER.smooth) {
|
||||||
|
|
||||||
for(var i = 0; i < ds_list_size(_gradient); i++) {
|
for(var i = 0; i < ds_list_size(_gradient); i++) {
|
||||||
var _key = _gradient[| i];
|
var _key = _gradient[| i];
|
||||||
if(_key.time >= _time) {
|
if(_key.time < _time) continue;
|
||||||
if(i == 0)
|
if(_key.time == _time) return _gradient[| i].value;
|
||||||
|
|
||||||
|
if(i == 0) //before first color
|
||||||
return _gradient[| 0].value;
|
return _gradient[| 0].value;
|
||||||
else {
|
|
||||||
var c0 = _gradient[| i - 1].value;
|
var c0 = _gradient[| i - 1].value;
|
||||||
if(_int == GRADIENT_INTER.smooth) {
|
if(_int == GRADIENT_INTER.smooth) {
|
||||||
var rat = (_time - _gradient[| i - 1].time) / (_gradient[| i].time - _gradient[| i - 1].time);
|
var rat = (_time - _gradient[| i - 1].time) / (_gradient[| i].time - _gradient[| i - 1].time);
|
||||||
|
@ -60,10 +62,8 @@ function gradient_eval(_gradient, _time, _int = GRADIENT_INTER.smooth) {
|
||||||
return c0;
|
return c0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return _gradient[| ds_list_size(_gradient) - 1].value;
|
return _gradient[| ds_list_size(_gradient) - 1].value; //after last color
|
||||||
}
|
}
|
||||||
|
|
||||||
function gradient_add(_gradient, _addkey, _deleteDup) {
|
function gradient_add(_gradient, _addkey, _deleteDup) {
|
||||||
|
|
|
@ -1,3 +1,133 @@
|
||||||
|
#region key map
|
||||||
|
global.KEY_STRING_MAP = ds_map_create();
|
||||||
|
|
||||||
|
global.KEY_STRING_MAP[? 48] = "0"
|
||||||
|
global.KEY_STRING_MAP[? 49] = "1"
|
||||||
|
global.KEY_STRING_MAP[? 50] = "2"
|
||||||
|
global.KEY_STRING_MAP[? 51] = "3"
|
||||||
|
global.KEY_STRING_MAP[? 52] = "4"
|
||||||
|
global.KEY_STRING_MAP[? 53] = "5"
|
||||||
|
global.KEY_STRING_MAP[? 54] = "6"
|
||||||
|
global.KEY_STRING_MAP[? 55] = "7"
|
||||||
|
global.KEY_STRING_MAP[? 56] = "8"
|
||||||
|
global.KEY_STRING_MAP[? 57] = "9"
|
||||||
|
|
||||||
|
global.KEY_STRING_MAP[? 65] = "A"
|
||||||
|
global.KEY_STRING_MAP[? 66] = "B"
|
||||||
|
global.KEY_STRING_MAP[? 67] = "C"
|
||||||
|
global.KEY_STRING_MAP[? 68] = "D"
|
||||||
|
global.KEY_STRING_MAP[? 69] = "E"
|
||||||
|
global.KEY_STRING_MAP[? 70] = "F"
|
||||||
|
global.KEY_STRING_MAP[? 71] = "G"
|
||||||
|
global.KEY_STRING_MAP[? 72] = "H"
|
||||||
|
global.KEY_STRING_MAP[? 73] = "I"
|
||||||
|
global.KEY_STRING_MAP[? 74] = "J"
|
||||||
|
global.KEY_STRING_MAP[? 75] = "K"
|
||||||
|
global.KEY_STRING_MAP[? 76] = "L"
|
||||||
|
global.KEY_STRING_MAP[? 77] = "M"
|
||||||
|
global.KEY_STRING_MAP[? 78] = "N"
|
||||||
|
global.KEY_STRING_MAP[? 79] = "O"
|
||||||
|
global.KEY_STRING_MAP[? 80] = "P"
|
||||||
|
global.KEY_STRING_MAP[? 81] = "Q"
|
||||||
|
global.KEY_STRING_MAP[? 82] = "R"
|
||||||
|
global.KEY_STRING_MAP[? 83] = "S"
|
||||||
|
global.KEY_STRING_MAP[? 84] = "T"
|
||||||
|
global.KEY_STRING_MAP[? 85] = "U"
|
||||||
|
global.KEY_STRING_MAP[? 86] = "V"
|
||||||
|
global.KEY_STRING_MAP[? 87] = "W"
|
||||||
|
global.KEY_STRING_MAP[? 88] = "X"
|
||||||
|
global.KEY_STRING_MAP[? 89] = "Y"
|
||||||
|
global.KEY_STRING_MAP[? 90] = "Z"
|
||||||
|
|
||||||
|
global.KEY_STRING_MAP[? 96] = "Num 0"
|
||||||
|
global.KEY_STRING_MAP[? 97] = "Num 1"
|
||||||
|
global.KEY_STRING_MAP[? 98] = "Num 2"
|
||||||
|
global.KEY_STRING_MAP[? 99] = "Num 3"
|
||||||
|
global.KEY_STRING_MAP[? 100] = "Num 4"
|
||||||
|
global.KEY_STRING_MAP[? 101] = "Num 5"
|
||||||
|
global.KEY_STRING_MAP[? 102] = "Num 6"
|
||||||
|
global.KEY_STRING_MAP[? 103] = "Num 7"
|
||||||
|
global.KEY_STRING_MAP[? 104] = "Num 8"
|
||||||
|
global.KEY_STRING_MAP[? 105] = "Num 9"
|
||||||
|
|
||||||
|
global.KEY_STRING_MAP[? 106] = "Num *"
|
||||||
|
global.KEY_STRING_MAP[? 107] = "Num +"
|
||||||
|
global.KEY_STRING_MAP[? 109] = "Num -"
|
||||||
|
global.KEY_STRING_MAP[? 110] = "Num ."
|
||||||
|
global.KEY_STRING_MAP[? 111] = "Num /"
|
||||||
|
|
||||||
|
global.KEY_STRING_MAP[? 186] = ";"
|
||||||
|
global.KEY_STRING_MAP[? 187] = "="
|
||||||
|
global.KEY_STRING_MAP[? 188] = ","
|
||||||
|
global.KEY_STRING_MAP[? 189] = "-"
|
||||||
|
global.KEY_STRING_MAP[? 190] = "."
|
||||||
|
global.KEY_STRING_MAP[? 191] = "/"
|
||||||
|
global.KEY_STRING_MAP[? 192] = "`" // actually `
|
||||||
|
|
||||||
|
global.KEY_STRING_MAP[? 219] = "["
|
||||||
|
global.KEY_STRING_MAP[? 220] = "\\"
|
||||||
|
global.KEY_STRING_MAP[? 221] = "]"
|
||||||
|
global.KEY_STRING_MAP[? 222] = "'" // actually # but that needs to be escaped
|
||||||
|
|
||||||
|
global.KEY_STRING_MAP[? 223] = "`" // actually ` but that needs to be escaped
|
||||||
|
|
||||||
|
function key_get_index(key) {
|
||||||
|
var k = ds_map_find_first(global.KEY_STRING_MAP);
|
||||||
|
repeat(ds_map_size(global.KEY_STRING_MAP)) {
|
||||||
|
if(global.KEY_STRING_MAP[? k] == key) return k;
|
||||||
|
k = ds_map_find_next(global.KEY_STRING_MAP, k);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region get name
|
||||||
|
function key_get_name(_key, _mod) {
|
||||||
|
var dk = "";
|
||||||
|
if(_mod & MOD_KEY.ctrl) dk += "Ctrl+";
|
||||||
|
if(_mod & MOD_KEY.shift) dk += "Shift+";
|
||||||
|
if(_mod & MOD_KEY.alt) dk += "Alt+";
|
||||||
|
|
||||||
|
switch(_key) {
|
||||||
|
case vk_space : dk += "Space"; break;
|
||||||
|
case vk_left : dk += "Left"; break;
|
||||||
|
case vk_right : dk += "Right"; break;
|
||||||
|
case vk_up : dk += "Up"; break;
|
||||||
|
case vk_down : dk += "Down"; break;
|
||||||
|
case vk_backspace : dk += "Backspace"; break;
|
||||||
|
case vk_tab : dk += "Tab"; break;
|
||||||
|
case vk_home : dk += "Home"; break;
|
||||||
|
case vk_end : dk += "End"; break;
|
||||||
|
case vk_delete : dk += "Delete"; break;
|
||||||
|
case vk_insert : dk += "Insert"; break;
|
||||||
|
case vk_pageup : dk += "Page Up"; break;
|
||||||
|
case vk_pagedown : dk += "Page Down"; break;
|
||||||
|
case vk_pause : dk += "Pause"; break;
|
||||||
|
case vk_printscreen : dk += "Printscreen"; break;
|
||||||
|
case vk_f1 : dk += "F1"; break;
|
||||||
|
case vk_f2 : dk += "F2"; break;
|
||||||
|
case vk_f3 : dk += "F3"; break;
|
||||||
|
case vk_f4 : dk += "F4"; break;
|
||||||
|
case vk_f5 : dk += "F5"; break;
|
||||||
|
case vk_f6 : dk += "F6"; break;
|
||||||
|
case vk_f7 : dk += "F7"; break;
|
||||||
|
case vk_f8 : dk += "F8"; break;
|
||||||
|
case vk_f9 : dk += "F9"; break;
|
||||||
|
case vk_f10 : dk += "F10"; break;
|
||||||
|
case vk_f11 : dk += "F11"; break;
|
||||||
|
case vk_f12 : dk += "F12"; break;
|
||||||
|
default :
|
||||||
|
if(ds_map_exists(global.KEY_STRING_MAP, _key))
|
||||||
|
dk += global.KEY_STRING_MAP[? _key];
|
||||||
|
else
|
||||||
|
dk += ansi_char(_key);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return dk;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
enum MOD_KEY {
|
enum MOD_KEY {
|
||||||
none = 0,
|
none = 0,
|
||||||
ctrl = 1,
|
ctrl = 1,
|
||||||
|
@ -6,7 +136,7 @@ enum MOD_KEY {
|
||||||
}
|
}
|
||||||
|
|
||||||
function key_press(_key, _mod) {
|
function key_press(_key, _mod) {
|
||||||
if(TEXTBOX_ACTIVE) return false;
|
if(WIDGET_CURRENT) return false;
|
||||||
|
|
||||||
if(keyboard_check_released(_key) && HOTKEY_MOD == _mod)
|
if(keyboard_check_released(_key) && HOTKEY_MOD == _mod)
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -131,6 +131,15 @@ function LOAD_PATH(path, readonly = false) {
|
||||||
log_warning("LOAD, update", exception_print(e));
|
log_warning("LOAD, update", exception_print(e));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
for(var i = 0; i < ds_list_size(create_list); i++) {
|
||||||
|
if(create_list[| i].inspectorUpdate != noone)
|
||||||
|
create_list[| i].inspectorUpdate();
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
log_warning("LOAD, update", exception_print(e));
|
||||||
|
}
|
||||||
|
|
||||||
Render();
|
Render();
|
||||||
|
|
||||||
if(!ds_queue_empty(CONNECTION_CONFLICT)) {
|
if(!ds_queue_empty(CONNECTION_CONFLICT)) {
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
function luaArgumentRenderer() {
|
function luaArgumentRenderer() {
|
||||||
argument_renderer = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
|
argument_renderer = new Inspector_Custom_Renderer(function(_x, _y, _w, _m, _hover, _focus) {
|
||||||
|
argument_renderer.x = _x;
|
||||||
|
argument_renderer.y = _y;
|
||||||
|
argument_renderer.w = _w;
|
||||||
|
|
||||||
var tx = _x;
|
var tx = _x;
|
||||||
var ty = _y + ui(8);
|
var ty = _y + ui(8);
|
||||||
var hh = ui(8);
|
var hh = ui(8);
|
||||||
|
@ -10,13 +14,11 @@ function luaArgumentRenderer() {
|
||||||
var _typ = _jType.getValue();
|
var _typ = _jType.getValue();
|
||||||
var _h = 0;
|
var _h = 0;
|
||||||
|
|
||||||
_jType.editWidget.hover = _hover;
|
_jType.editWidget.setFocus(_focus, _hover);
|
||||||
_jType.editWidget.active = _focus;
|
|
||||||
_jType.editWidget.draw(tx, ty, ui(128), _th, _jType.display_data[_jType.showValue()], _m, argument_renderer.rx, argument_renderer.ry);
|
_jType.editWidget.draw(tx, ty, ui(128), _th, _jType.display_data[_jType.showValue()], _m, argument_renderer.rx, argument_renderer.ry);
|
||||||
|
|
||||||
var _jName = inputs[| i + 0];
|
var _jName = inputs[| i + 0];
|
||||||
_jName.editWidget.hover = _hover;
|
_jName.editWidget.setFocus(_focus, _hover);
|
||||||
_jName.editWidget.active = _focus;
|
|
||||||
_jName.editWidget.draw(tx + ui(128 + 8), ty, _w - ui(128 + 8), _th, _jName.showValue(), _m, _jName.display_type);
|
_jName.editWidget.draw(tx + ui(128 + 8), ty, _w - ui(128 + 8), _th, _jName.showValue(), _m, _jName.display_type);
|
||||||
|
|
||||||
_h += _th + ui(6);
|
_h += _th + ui(6);
|
||||||
|
@ -25,8 +27,7 @@ function luaArgumentRenderer() {
|
||||||
draw_text_add(tx + ui(8), ty + _th + ui(6) + ui(6), "Value");
|
draw_text_add(tx + ui(8), ty + _th + ui(6) + ui(6), "Value");
|
||||||
|
|
||||||
var _jValue = inputs[| i + 2];
|
var _jValue = inputs[| i + 2];
|
||||||
_jValue.editWidget.hover = _hover;
|
_jValue.editWidget.setFocus(_focus, _hover);
|
||||||
_jValue.editWidget.active = _focus;
|
|
||||||
if(_typ == 2) {
|
if(_typ == 2) {
|
||||||
_jValue.editWidget.draw(tx + ui(64), ty + _th + ui(6), _w - ui(64), ui(96), _jValue.showValue(), _m, argument_renderer.rx, argument_renderer.ry);
|
_jValue.editWidget.draw(tx + ui(64), ty + _th + ui(6), _w - ui(64), ui(96), _jValue.showValue(), _m, argument_renderer.rx, argument_renderer.ry);
|
||||||
_h += ui(96 + 8);
|
_h += ui(96 + 8);
|
||||||
|
@ -39,6 +40,15 @@ function luaArgumentRenderer() {
|
||||||
ty += _h;
|
ty += _h;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
argument_renderer.h = hh;
|
||||||
return hh;
|
return hh;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
argument_renderer.register = function(parent = noone) {
|
||||||
|
for( var i = input_fix_len; i < ds_list_size(inputs); i += data_length ) {
|
||||||
|
inputs[| i + 1].editWidget.register(parent);
|
||||||
|
inputs[| i + 0].editWidget.register(parent);
|
||||||
|
inputs[| i + 2].editWidget.register(parent);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,10 +1,8 @@
|
||||||
function matrixGrid(_type, _onModify, _unit = noone) constructor {
|
function matrixGrid(_type, _onModify, _unit = noone) : widget() constructor {
|
||||||
size = 9;
|
size = 9;
|
||||||
onModify = _onModify;
|
onModify = _onModify;
|
||||||
unit = _unit;
|
unit = _unit;
|
||||||
|
|
||||||
hover = false;
|
|
||||||
active = false;
|
|
||||||
linked = false;
|
linked = false;
|
||||||
b_link = button(function() { linked = !linked; });
|
b_link = button(function() { linked = !linked; });
|
||||||
b_link.icon = THEME.value_link;
|
b_link.icon = THEME.value_link;
|
||||||
|
@ -33,12 +31,30 @@ function matrixGrid(_type, _onModify, _unit = noone) constructor {
|
||||||
|
|
||||||
extras = -1;
|
extras = -1;
|
||||||
|
|
||||||
|
static register = function(parent = noone) {
|
||||||
|
b_link.register(parent);
|
||||||
|
|
||||||
|
for( var i = 0; i < size; i++ )
|
||||||
|
tb[i].register(parent);
|
||||||
|
|
||||||
|
if(extras)
|
||||||
|
extras.register(parent);
|
||||||
|
|
||||||
|
if(unit != noone && unit.reference != noone)
|
||||||
|
unit.triggerButton.register(parent);
|
||||||
|
}
|
||||||
|
|
||||||
for(var i = 0; i < size; i++) {
|
for(var i = 0; i < size; i++) {
|
||||||
tb[i] = new textBox(_type, onModifySingle[i]);
|
tb[i] = new textBox(_type, onModifySingle[i]);
|
||||||
tb[i].slidable = true;
|
tb[i].slidable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static draw = function(_x, _y, _w, _h, _data, _m) {
|
static draw = function(_x, _y, _w, _h, _data, _m) {
|
||||||
|
x = _x;
|
||||||
|
y = _y;
|
||||||
|
w = _w;
|
||||||
|
h = _h;
|
||||||
|
|
||||||
if(extras && instanceof(extras) == "buttonClass") {
|
if(extras && instanceof(extras) == "buttonClass") {
|
||||||
extras.hover = hover;
|
extras.hover = hover;
|
||||||
extras.active = active;
|
extras.active = active;
|
||||||
|
@ -87,8 +103,7 @@ function matrixGrid(_type, _onModify, _unit = noone) constructor {
|
||||||
tb[ind].draw(bx + ui(8), by, ww - ui(8), TEXTBOX_HEIGHT, _data[ind], _m);
|
tb[ind].draw(bx + ui(8), by, ww - ui(8), TEXTBOX_HEIGHT, _data[ind], _m);
|
||||||
}
|
}
|
||||||
|
|
||||||
hover = false;
|
resetFocus();
|
||||||
active = false;
|
|
||||||
|
|
||||||
return th;
|
return th;
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,6 @@ function Node_2D_light(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) con
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static process_data = function(_outSurf, _data, _output_index, _array_index) {
|
static process_data = function(_outSurf, _data, _output_index, _array_index) {
|
||||||
var _shape = _data[1];
|
var _shape = _data[1];
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
function Node_create_3D_Obj_path(_x, _y, path) {
|
function Node_create_3D_Obj_path(_x, _y, path) {
|
||||||
if(!file_exists(path)) return noone;
|
if(!file_exists(path)) return noone;
|
||||||
|
|
||||||
var node = new Node_3D_Obj(_x, _y);
|
var node = new Node_3D_Obj(_x, _y, PANEL_GRAPH.getCurrentContext());
|
||||||
node.setPath(path);
|
node.setPath(path);
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
@ -213,7 +213,7 @@ function Node_3D_Obj(_x, _y, _group = -1) : Node(_x, _y, _group) constructor {
|
||||||
var _proj = inputs[| 15].getValue();
|
var _proj = inputs[| 15].getValue();
|
||||||
var _fov = inputs[| 16].getValue();
|
var _fov = inputs[| 16].getValue();
|
||||||
|
|
||||||
inputs[| 16].setVisible(_proj);
|
inputs[| 16].setVisible(_proj == 1);
|
||||||
|
|
||||||
for( var i = 0; i < array_length(output_display_list) - 1; i++ ) {
|
for( var i = 0; i < array_length(output_display_list) - 1; i++ ) {
|
||||||
var ind = output_display_list[i];
|
var ind = output_display_list[i];
|
||||||
|
|
|
@ -15,7 +15,7 @@ function Node_3D_Repeat(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
|
||||||
|
|
||||||
inputs[| 4] = nodeValue(4, "Render position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2 ])
|
inputs[| 4] = nodeValue(4, "Render position", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ def_surf_size / 2, def_surf_size / 2 ])
|
||||||
.setDisplay(VALUE_DISPLAY.vector)
|
.setDisplay(VALUE_DISPLAY.vector)
|
||||||
.setUnitRef( function() { return inputs[| 2].getValue(); });
|
.setUnitRef( function() { return inputs[| 0].getValue(); });
|
||||||
|
|
||||||
inputs[| 5] = nodeValue(5, "Render scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
inputs[| 5] = nodeValue(5, "Render scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 1, 1 ])
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
@ -48,7 +48,7 @@ function Node_3D_Repeat(_x, _y, _group = -1) : Node(_x, _y, _group) constructor
|
||||||
.setDisplay(VALUE_DISPLAY.vector);
|
.setDisplay(VALUE_DISPLAY.vector);
|
||||||
|
|
||||||
inputs[| 16] = nodeValue(16, "Repeat pattern", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 16] = nodeValue(16, "Repeat pattern", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "Linear", "Radial" ]);
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "Linear", "Circular" ]);
|
||||||
|
|
||||||
inputs[| 17] = nodeValue(17, "Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
inputs[| 17] = nodeValue(17, "Axis", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0)
|
||||||
.setDisplay(VALUE_DISPLAY.enum_button, [ "x", "y", "z" ]);
|
.setDisplay(VALUE_DISPLAY.enum_button, [ "x", "y", "z" ]);
|
||||||
|
|
|
@ -10,8 +10,8 @@ function Node_VFX_Accelerate(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _g
|
||||||
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
part.sx = part.sx + _vect[0] * _sten * str;
|
part.sx = part.sx + _vect[0] * str * _sten;
|
||||||
part.sy = part.sy + _vect[1] * _sten * str;
|
part.sy = part.sy + _vect[1] * str * _sten;
|
||||||
|
|
||||||
part.rot += _rot * str;
|
part.rot += _rot * str;
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,13 @@ function Node_VFX_Attract(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _grou
|
||||||
name = "Attract";
|
name = "Attract";
|
||||||
node_draw_icon = s_node_vfx_attract;
|
node_draw_icon = s_node_vfx_attract;
|
||||||
|
|
||||||
|
inputs[| 4].setVisible(false, false);
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _area = current_data[1];
|
var _area = current_data[1];
|
||||||
var _area_x = _area[0];
|
var _area_x = _area[0];
|
||||||
var _area_y = _area[1];
|
var _area_y = _area[1];
|
||||||
|
|
||||||
var _vect = current_data[4];
|
|
||||||
var _sten = current_data[5];
|
var _sten = current_data[5];
|
||||||
var _rot_range = current_data[6];
|
var _rot_range = current_data[6];
|
||||||
var _sca_range = current_data[7];
|
var _sca_range = current_data[7];
|
||||||
|
@ -23,9 +24,10 @@ function Node_VFX_Attract(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _grou
|
||||||
|
|
||||||
var scx_s = _sca[0] * str;
|
var scx_s = _sca[0] * str;
|
||||||
var scy_s = _sca[1] * str;
|
var scy_s = _sca[1] * str;
|
||||||
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
|
||||||
else part.scx += sign(part.scx) * scx_s;
|
if(scx_s < 0) part.sc_sx = lerp_linear(part.sc_sx, 0, abs(scx_s));
|
||||||
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
else part.sc_sx += sign(part.sc_sx) * scx_s;
|
||||||
else part.scy += sign(part.scy) * scy_s;
|
if(scy_s < 0) part.sc_sy = lerp_linear(part.sc_sy, 0, abs(scy_s));
|
||||||
|
else part.sc_sy += sign(part.sc_sy) * scy_s;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,6 +2,10 @@ function Node_VFX_Destroy(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _grou
|
||||||
name = "Destroy";
|
name = "Destroy";
|
||||||
node_draw_icon = s_node_vfx_destroy;
|
node_draw_icon = s_node_vfx_destroy;
|
||||||
|
|
||||||
|
inputs[| 4].setVisible(false, false);
|
||||||
|
inputs[| 6].setVisible(false, false);
|
||||||
|
inputs[| 7].setVisible(false, false);
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _sten = current_data[5];
|
var _sten = current_data[5];
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,13 @@ function Node_VFX_Repel(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group)
|
||||||
name = "Repel";
|
name = "Repel";
|
||||||
node_draw_icon = s_node_vfx_repel;
|
node_draw_icon = s_node_vfx_repel;
|
||||||
|
|
||||||
|
inputs[| 4].setVisible(false, false);
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _area = current_data[1];
|
var _area = current_data[1];
|
||||||
var _area_x = _area[0];
|
var _area_x = _area[0];
|
||||||
var _area_y = _area[1];
|
var _area_y = _area[1];
|
||||||
|
|
||||||
var _vect = current_data[4];
|
|
||||||
var _sten = current_data[5];
|
var _sten = current_data[5];
|
||||||
var _rot_range = current_data[6];
|
var _rot_range = current_data[6];
|
||||||
var _sca_range = current_data[7];
|
var _sca_range = current_data[7];
|
||||||
|
|
|
@ -2,8 +2,14 @@ function Node_VFX_Turbulence(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _g
|
||||||
name = "Turbulence";
|
name = "Turbulence";
|
||||||
node_draw_icon = s_node_vfx_turb;
|
node_draw_icon = s_node_vfx_turb;
|
||||||
|
|
||||||
|
inputs[| 4].setVisible(false, false);
|
||||||
|
|
||||||
|
inputs[| 8] = nodeValue(8, "Turbulence scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1 )
|
||||||
|
.setVisible(true, false);
|
||||||
|
|
||||||
|
array_push(input_display_list, 8);
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _vect = current_data[4];
|
|
||||||
var _sten = current_data[5];
|
var _sten = current_data[5];
|
||||||
var _rot_range = current_data[6];
|
var _rot_range = current_data[6];
|
||||||
var _sca_range = current_data[7];
|
var _sca_range = current_data[7];
|
||||||
|
@ -12,20 +18,22 @@ function Node_VFX_Turbulence(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _g
|
||||||
|
|
||||||
var pv = part.getPivot();
|
var pv = part.getPivot();
|
||||||
|
|
||||||
var t_scale = current_data[10];
|
var t_scale = current_data[8];
|
||||||
var per = (perlin_noise(pv[0] / t_scale, pv[1] / t_scale, 4, part.seed) - 0.5) * 2;
|
var perx = (perlin_noise(pv[0] / t_scale, pv[1] / t_scale, 1, part.seed) - 0.5) * 2;
|
||||||
per *= str;
|
var pery = (perlin_noise(pv[0] / t_scale, pv[1] / t_scale, 1, part.seed + 100) - 0.5) * 2;
|
||||||
|
|
||||||
part.x = part.x + _vect[0] * per;
|
part.x += perx * str * _sten;
|
||||||
part.y = part.y + _vect[1] * per;
|
part.y += pery * str * _sten;
|
||||||
|
|
||||||
part.rot += _rot * per;
|
part.rot += _rot * perx;
|
||||||
|
|
||||||
var scx_s = _sca[0] * str;
|
var scx_s = _sca[0] * str;
|
||||||
var scy_s = _sca[1] * str;
|
var scy_s = _sca[1] * str;
|
||||||
|
|
||||||
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
if(scx_s < 0) part.scx = lerp_linear(part.scx, 0, abs(scx_s));
|
||||||
else part.scx += sign(part.scx) * scx_s;
|
else if(scx_s > 0) part.scx += sign(part.scx) * scx_s;
|
||||||
|
|
||||||
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
if(scy_s < 0) part.scy = lerp_linear(part.scy, 0, abs(scy_s));
|
||||||
else part.scy += sign(part.scy) * scy_s;
|
else if(scy_s > 0) part.scy += sign(part.scy) * scy_s;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,23 +2,37 @@ function Node_VFX_Vortex(_x, _y, _group = -1) : Node_VFX_effector(_x, _y, _group
|
||||||
name = "Vortex";
|
name = "Vortex";
|
||||||
node_draw_icon = s_node_vfx_vortex;
|
node_draw_icon = s_node_vfx_vortex;
|
||||||
|
|
||||||
|
inputs[| 4].setVisible(false, false);
|
||||||
|
|
||||||
|
inputs[| 8] = nodeValue(8, "Attraction force", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 2 );
|
||||||
|
|
||||||
|
inputs[| 9] = nodeValue(9, "Clockwise", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true );
|
||||||
|
|
||||||
|
array_push(input_display_list, 8, 9);
|
||||||
|
|
||||||
function onAffect(part, str) {
|
function onAffect(part, str) {
|
||||||
var _area = current_data[1];
|
var _area = current_data[1];
|
||||||
var _area_x = _area[0];
|
var _area_x = _area[0];
|
||||||
var _area_y = _area[1];
|
var _area_y = _area[1];
|
||||||
|
|
||||||
var _vect = current_data[4];
|
|
||||||
var _sten = current_data[5];
|
var _sten = current_data[5];
|
||||||
var _rot_range = current_data[6];
|
var _rot_range = current_data[6];
|
||||||
var _sca_range = current_data[7];
|
var _sca_range = current_data[7];
|
||||||
|
var _attr = current_data[8];
|
||||||
|
var _clkw = current_data[9];
|
||||||
|
|
||||||
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
var _rot = random_range(_rot_range[0], _rot_range[1]);
|
||||||
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
var _sca = [ random_range(_sca_range[0], _sca_range[1]), random_range(_sca_range[2], _sca_range[3]) ];
|
||||||
|
|
||||||
var pv = part.getPivot();
|
var pv = part.getPivot();
|
||||||
var dirr = point_direction(_area_x, _area_y, pv[0], pv[1]) + 90;
|
|
||||||
|
|
||||||
part.x = part.x + lengthdir_x(_sten * str, dirr);
|
var dirr = point_direction(_area_x, _area_y, pv[0], pv[1]) + (_clkw? 90 : -90);
|
||||||
part.y = part.y + lengthdir_y(_sten * str, dirr);
|
part.x += lengthdir_x(_sten * str, dirr);
|
||||||
|
part.y += lengthdir_y(_sten * str, dirr);
|
||||||
|
|
||||||
|
var dirr = point_direction(pv[0], pv[1], _area_x, _area_y);
|
||||||
|
part.x += lengthdir_x(_attr * str, dirr);
|
||||||
|
part.y += lengthdir_y(_attr * str, dirr);
|
||||||
|
|
||||||
part.rot += _rot * str;
|
part.rot += _rot * str;
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,6 @@ function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
inputs[| 7] = nodeValue(7, "Scale particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 0 ] )
|
inputs[| 7] = nodeValue(7, "Scale particle", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 0 ] )
|
||||||
.setDisplay(VALUE_DISPLAY.vector_range);
|
.setDisplay(VALUE_DISPLAY.vector_range);
|
||||||
|
|
||||||
inputs[| 8] = nodeValue(8, "Turbulence scale", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0 );
|
|
||||||
|
|
||||||
input_display_list = [ 0,
|
input_display_list = [ 0,
|
||||||
["Area", false], 1, 2, 3,
|
["Area", false], 1, 2, 3,
|
||||||
["Effect", false], 4, 5, 6, 7,
|
["Effect", false], 4, 5, 6, 7,
|
||||||
|
@ -115,8 +113,8 @@ function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
distance_to_line(pv[0], pv[1], _area_x1, _area_y0, _area_x1, _area_y1));
|
||||||
} else if(_area_t == AREA_SHAPE.elipse) {
|
} else if(_area_t == AREA_SHAPE.elipse) {
|
||||||
var _dirr = point_direction(_area_x, _area_y, pv[0], pv[1]);
|
var _dirr = point_direction(_area_x, _area_y, pv[0], pv[1]);
|
||||||
var _epx = _area_x + lengthdir_x(_area_w / 2, _dirr);
|
var _epx = _area_x + lengthdir_x(_area_w, _dirr);
|
||||||
var _epy = _area_y + lengthdir_y(_area_h / 2, _dirr);
|
var _epy = _area_y + lengthdir_y(_area_h, _dirr);
|
||||||
|
|
||||||
in = point_distance(_area_x, _area_y, pv[0], pv[1]) < point_distance(_area_x, _area_y, _epx, _epy);
|
in = point_distance(_area_x, _area_y, pv[0], pv[1]) < point_distance(_area_x, _area_y, _epx, _epy);
|
||||||
_dst = point_distance(pv[0], pv[1], _epx, _epy);
|
_dst = point_distance(pv[0], pv[1], _epx, _epy);
|
||||||
|
@ -124,7 +122,7 @@ function Node_VFX_effector(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
|
|
||||||
if(_dst <= _fads) {
|
if(_dst <= _fads) {
|
||||||
var inf = in? 0.5 + _dst / _fads : 0.5 - _dst / _fads;
|
var inf = in? 0.5 + _dst / _fads : 0.5 - _dst / _fads;
|
||||||
str = eval_curve_bezier_cubic(_fall, clamp(inf, 0., 1.));
|
str = eval_curve_bezier_cubic_t(_fall, clamp(inf, 0., 1.));
|
||||||
} else if(in)
|
} else if(in)
|
||||||
str = 1;
|
str = 1;
|
||||||
|
|
||||||
|
|
|
@ -3,12 +3,12 @@ function Node_VFX_Group(_x, _y, _group = -1) : Node_Collection(_x, _y, _group) c
|
||||||
color = COLORS.node_blend_vfx;
|
color = COLORS.node_blend_vfx;
|
||||||
ungroupable = false;
|
ungroupable = false;
|
||||||
|
|
||||||
if(!LOADING && !APPENDING) {
|
if(!LOADING && !APPENDING && !CLONING) {
|
||||||
var input = nodeBuild("Node_VFX_Spawner", -256, -32, self);
|
var input = nodeBuild("Node_VFX_Spawner", -256, -32, self);
|
||||||
var renderer = nodeBuild("Node_VFX_Renderer", 256, -32, self);
|
var renderer = nodeBuild("Node_VFX_Renderer", 256, -32, self);
|
||||||
var output = nodeBuild("Node_Group_Output", 256 + 32 * 5, -32, self);
|
var output = nodeBuild("Node_Group_Output", 256 + 32 * 5, -32, self);
|
||||||
|
|
||||||
renderer.inputs[| renderer.input_index].setFrom(input.outputs[| 0]);
|
renderer.inputs[| renderer.input_fix_len].setFrom(input.outputs[| 0]);
|
||||||
output.inputs[| 0].setFrom(renderer.outputs[| 0]);
|
output.inputs[| 0].setFrom(renderer.outputs[| 0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -57,20 +57,25 @@ function Node_VFX_Renderer(_x, _y, _group = -1) : Node(_x, _y, _group) construct
|
||||||
outputs[| 0].setValue(_outSurf);
|
outputs[| 0].setValue(_outSurf);
|
||||||
|
|
||||||
surface_set_target(_outSurf);
|
surface_set_target(_outSurf);
|
||||||
draw_clear_alpha(c_white, 0);
|
|
||||||
|
|
||||||
switch(_blend) {
|
switch(_blend) {
|
||||||
case PARTICLE_BLEND_MODE.normal : gpu_set_blendmode(bm_normal); break;
|
case PARTICLE_BLEND_MODE.normal :
|
||||||
case PARTICLE_BLEND_MODE.additive : gpu_set_blendmode(bm_add); break;
|
draw_clear_alpha(c_white, 0);
|
||||||
|
gpu_set_blendmode(bm_normal);
|
||||||
|
break;
|
||||||
|
case PARTICLE_BLEND_MODE.additive :
|
||||||
|
draw_clear_alpha(c_black, 0);
|
||||||
|
gpu_set_blendmode(bm_add);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var surf_w = surface_get_width(_outSurf);
|
||||||
|
var surf_h = surface_get_height(_outSurf);
|
||||||
|
|
||||||
for( var i = input_fix_len; i < ds_list_size(inputs) - 1; i++ ) {
|
for( var i = input_fix_len; i < ds_list_size(inputs) - 1; i++ ) {
|
||||||
var parts = inputs[| i].getValue(_time);
|
var parts = inputs[| i].getValue(_time);
|
||||||
if(!ds_exists(parts, ds_type_list)) continue;
|
for(var j = 0; j < array_length(parts); j++) {
|
||||||
|
if(!parts[j].active) continue;
|
||||||
for(var j = 0; j < ds_list_size(parts); j++) {
|
parts[j].draw(_exact, surf_w, surf_h);
|
||||||
if(!parts[| j].active) continue;
|
|
||||||
parts[| j].draw(_exact);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,14 +13,29 @@ function Node_VFX_Spawner(_x, _y, _group = -1) : Node_VFX_Spawner_Base(_x, _y, _
|
||||||
|
|
||||||
array_insert(input_display_list, 0, ["Trigger", true], input_len + 0, input_len + 1);
|
array_insert(input_display_list, 0, ["Trigger", true], input_len + 0, input_len + 1);
|
||||||
|
|
||||||
|
static updateParticleForward = function(_render = true) {
|
||||||
|
var pt = outputs[| 0];
|
||||||
|
for( var i = 0; i < ds_list_size(pt.value_to); i++ ) {
|
||||||
|
var _n = pt.value_to[| i];
|
||||||
|
if(_n.value_from != pt) continue;
|
||||||
|
|
||||||
|
if(variable_struct_exists(_n.node, "updateParticleForward"))
|
||||||
|
_n.node.updateParticleForward();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static onSpawn = function(_time, part) {
|
static onSpawn = function(_time, part) {
|
||||||
part.step_int = inputs[| input_len + 1].getValue(_time);
|
part.step_int = inputs[| input_len + 1].getValue(_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
static onPartCreate = function(part) {
|
static onPartCreate = function(part) {
|
||||||
var pv = part.getPivot();
|
|
||||||
|
|
||||||
var vt = outputs[| 1];
|
var vt = outputs[| 1];
|
||||||
|
if(ds_list_empty(vt.value_to)) return;
|
||||||
|
|
||||||
|
var pv = part.getPivot();
|
||||||
|
for( var i = 0; i < ds_list_size(inputs); i++ )
|
||||||
|
current_data[i] = inputs[| i].getValue();
|
||||||
|
|
||||||
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
||||||
var _n = vt.value_to[| i];
|
var _n = vt.value_to[| i];
|
||||||
if(_n.value_from != vt) continue;
|
if(_n.value_from != vt) continue;
|
||||||
|
@ -29,9 +44,13 @@ function Node_VFX_Spawner(_x, _y, _group = -1) : Node_VFX_Spawner_Base(_x, _y, _
|
||||||
}
|
}
|
||||||
|
|
||||||
static onPartStep = function(part) {
|
static onPartStep = function(part) {
|
||||||
var pv = part.getPivot();
|
|
||||||
|
|
||||||
var vt = outputs[| 2];
|
var vt = outputs[| 2];
|
||||||
|
if(ds_list_empty(vt.value_to)) return;
|
||||||
|
|
||||||
|
var pv = part.getPivot();
|
||||||
|
for( var i = 0; i < ds_list_size(inputs); i++ )
|
||||||
|
current_data[i] = inputs[| i].getValue();
|
||||||
|
|
||||||
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
||||||
var _n = vt.value_to[| i];
|
var _n = vt.value_to[| i];
|
||||||
if(_n.value_from != vt) continue;
|
if(_n.value_from != vt) continue;
|
||||||
|
@ -40,9 +59,13 @@ function Node_VFX_Spawner(_x, _y, _group = -1) : Node_VFX_Spawner_Base(_x, _y, _
|
||||||
}
|
}
|
||||||
|
|
||||||
static onPartDestroy = function(part) {
|
static onPartDestroy = function(part) {
|
||||||
var pv = part.getPivot();
|
|
||||||
|
|
||||||
var vt = outputs[| 3];
|
var vt = outputs[| 3];
|
||||||
|
if(ds_list_empty(vt.value_to)) return;
|
||||||
|
|
||||||
|
var pv = part.getPivot();
|
||||||
|
for( var i = 0; i < ds_list_size(inputs); i++ )
|
||||||
|
current_data[i] = inputs[| i].getValue();
|
||||||
|
|
||||||
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
for( var i = 0; i < ds_list_size(vt.value_to); i++ ) {
|
||||||
var _n = vt.value_to[| i];
|
var _n = vt.value_to[| i];
|
||||||
if(_n.value_from != vt) continue;
|
if(_n.value_from != vt) continue;
|
||||||
|
|
|
@ -4,7 +4,7 @@ function Node_Anim_Curve(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) c
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 0;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01);
|
inputs[| 0] = nodeValue(0, "Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01);
|
||||||
inputs[| 1] = nodeValue(1, "Progress", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
inputs[| 1] = nodeValue(1, "Progress", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0)
|
||||||
|
|
|
@ -4,7 +4,7 @@ function Node_Area(_x, _y, _group = -1) : Node_Processor(_x, _y, _group) constru
|
||||||
previewable = false;
|
previewable = false;
|
||||||
|
|
||||||
w = 96;
|
w = 96;
|
||||||
min_h = 0;
|
|
||||||
|
|
||||||
inputs[| 0] = nodeValue(0, "Postion", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
inputs[| 0] = nodeValue(0, "Postion", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0 ] )
|
||||||
.setDisplay(VALUE_DISPLAY.vector)
|
.setDisplay(VALUE_DISPLAY.vector)
|
||||||
|
|