morph path
|
@ -240,12 +240,12 @@
|
|||
{"name":"node","order":5,"path":"folders/shader/UI/node.yy",},
|
||||
{"name":"palette mixer","order":2,"path":"folders/shader/UI/palette mixer.yy",},
|
||||
{"name":"sprites","order":336,"path":"folders/sprites.yy",},
|
||||
{"name":"gameframe","order":1,"path":"folders/sprites/gameframe.yy",},
|
||||
{"name":"misc","order":2,"path":"folders/sprites/misc.yy",},
|
||||
{"name":"nodes","order":3,"path":"folders/sprites/nodes.yy",},
|
||||
{"name":"profiler","order":5,"path":"folders/sprites/profiler.yy",},
|
||||
{"name":"texture","order":4,"path":"folders/sprites/texture.yy",},
|
||||
{"name":"theme","order":6,"path":"folders/sprites/theme.yy",},
|
||||
{"name":"bs","order":1,"path":"folders/sprites/bs.yy",},
|
||||
{"name":"gameframe","order":2,"path":"folders/sprites/gameframe.yy",},
|
||||
{"name":"misc","order":3,"path":"folders/sprites/misc.yy",},
|
||||
{"name":"nodes","order":4,"path":"folders/sprites/nodes.yy",},
|
||||
{"name":"profiler","order":6,"path":"folders/sprites/profiler.yy",},
|
||||
{"name":"texture","order":5,"path":"folders/sprites/texture.yy",},
|
||||
{"name":"font","order":9,"path":"folders/sprites/theme/font.yy",},
|
||||
{"name":"inspector","order":1,"path":"folders/sprites/theme/inspector.yy",},
|
||||
{"name":"meta","order":2,"path":"folders/sprites/theme/meta.yy",},
|
||||
|
@ -258,7 +258,11 @@
|
|||
{"name":"UI","order":7,"path":"folders/sprites/theme/UI.yy",},
|
||||
{"name":"widget","order":8,"path":"folders/sprites/theme/widget.yy",},
|
||||
{"name":"widgets","order":334,"path":"folders/widgets.yy",},
|
||||
{"name":"object","order":18,"path":"folders/widgets/object.yy",},
|
||||
{"name":"button","order":1,"path":"folders/widgets/button.yy",},
|
||||
{"name":"object","order":5,"path":"folders/widgets/object.yy",},
|
||||
{"name":"rotator","order":2,"path":"folders/widgets/rotator.yy",},
|
||||
{"name":"sliders","order":3,"path":"folders/widgets/sliders.yy",},
|
||||
{"name":"text","order":4,"path":"folders/widgets/text.yy",},
|
||||
],
|
||||
"ResourceOrderSettings":[
|
||||
{"name":"ac_disappear","order":2,"path":"animcurves/ac_disappear/ac_disappear.yy",},
|
||||
|
@ -510,8 +514,8 @@
|
|||
{"name":"canvas_tool_selection","order":7,"path":"scripts/canvas_tool_selection/canvas_tool_selection.yy",},
|
||||
{"name":"canvas_tool_skew","order":6,"path":"scripts/canvas_tool_skew/canvas_tool_skew.yy",},
|
||||
{"name":"canvas_tool_with_selector","order":5,"path":"scripts/canvas_tool_with_selector/canvas_tool_with_selector.yy",},
|
||||
{"name":"checkboxActive","order":11,"path":"scripts/checkboxActive/checkboxActive.yy",},
|
||||
{"name":"checkboxGroup","order":6,"path":"scripts/checkboxGroup/checkboxGroup.yy",},
|
||||
{"name":"checkboxActive","order":13,"path":"scripts/checkboxActive/checkboxActive.yy",},
|
||||
{"name":"checkboxGroup","order":11,"path":"scripts/checkboxGroup/checkboxGroup.yy",},
|
||||
{"name":"collection_data","order":9,"path":"scripts/collection_data/collection_data.yy",},
|
||||
{"name":"color_function","order":9,"path":"scripts/color_function/color_function.yy",},
|
||||
{"name":"color_loader","order":13,"path":"scripts/color_loader/color_loader.yy",},
|
||||
|
@ -523,7 +527,7 @@
|
|||
{"name":"cross_product","order":3,"path":"scripts/cross_product/cross_product.yy",},
|
||||
{"name":"curve_bounce_function","order":1,"path":"scripts/curve_bounce_function/curve_bounce_function.yy",},
|
||||
{"name":"curve_damping_function","order":2,"path":"scripts/curve_damping_function/curve_damping_function.yy",},
|
||||
{"name":"curveBox","order":1,"path":"scripts/curveBox/curveBox.yy",},
|
||||
{"name":"curveBox","order":6,"path":"scripts/curveBox/curveBox.yy",},
|
||||
{"name":"d3d_bbox","order":8,"path":"scripts/d3d_bbox/d3d_bbox.yy",},
|
||||
{"name":"d3d_camera_object","order":1,"path":"scripts/d3d_camera_object/d3d_camera_object.yy",},
|
||||
{"name":"d3d_cone","order":5,"path":"scripts/d3d_cone/d3d_cone.yy",},
|
||||
|
@ -625,7 +629,7 @@
|
|||
{"name":"font_data","order":10,"path":"scripts/font_data/font_data.yy",},
|
||||
{"name":"font_loader","order":8,"path":"scripts/font_loader/font_loader.yy",},
|
||||
{"name":"font_sprite_loader","order":10,"path":"scripts/font_sprite_loader/font_sprite_loader.yy",},
|
||||
{"name":"fontScrollBox","order":13,"path":"scripts/fontScrollBox/fontScrollBox.yy",},
|
||||
{"name":"fontScrollBox","order":14,"path":"scripts/fontScrollBox/fontScrollBox.yy",},
|
||||
{"name":"FriebaseREST_Firestore_urlUpdateMask","order":20,"path":"scripts/FriebaseREST_Firestore_urlUpdateMask/FriebaseREST_Firestore_urlUpdateMask.yy",},
|
||||
{"name":"function_register","order":2,"path":"scripts/function_register/function_register.yy",},
|
||||
{"name":"fx_controller","order":1,"path":"scripts/fx_controller/fx_controller.yy",},
|
||||
|
@ -654,7 +658,7 @@
|
|||
{"name":"luaHighlight","order":1,"path":"scripts/luaHighlight/luaHighlight.yy",},
|
||||
{"name":"mac_window_step","order":1,"path":"scripts/mac_window_step/mac_window_step.yy",},
|
||||
{"name":"mask_function","order":1,"path":"scripts/mask_function/mask_function.yy",},
|
||||
{"name":"materialBox","order":14,"path":"scripts/materialBox/materialBox.yy",},
|
||||
{"name":"materialBox","order":15,"path":"scripts/materialBox/materialBox.yy",},
|
||||
{"name":"math_function","order":3,"path":"scripts/math_function/math_function.yy",},
|
||||
{"name":"matrixGrid","order":6,"path":"scripts/matrixGrid/matrixGrid.yy",},
|
||||
{"name":"meshBox","order":3,"path":"scripts/meshBox/meshBox.yy",},
|
||||
|
@ -1272,7 +1276,7 @@
|
|||
{"name":"number_function","order":14,"path":"scripts/number_function/number_function.yy",},
|
||||
{"name":"obj_reader","order":2,"path":"scripts/obj_reader/obj_reader.yy",},
|
||||
{"name":"okhsl_function","order":18,"path":"scripts/okhsl_function/okhsl_function.yy",},
|
||||
{"name":"outputBox","order":15,"path":"scripts/outputBox/outputBox.yy",},
|
||||
{"name":"outputBox","order":16,"path":"scripts/outputBox/outputBox.yy",},
|
||||
{"name":"pack_bottom_left","order":2,"path":"scripts/pack_bottom_left/pack_bottom_left.yy",},
|
||||
{"name":"pack_corner","order":3,"path":"scripts/pack_corner/pack_corner.yy",},
|
||||
{"name":"pack_shelf","order":1,"path":"scripts/pack_shelf/pack_shelf.yy",},
|
||||
|
@ -1359,8 +1363,8 @@
|
|||
{"name":"safe_operation","order":6,"path":"scripts/safe_operation/safe_operation.yy",},
|
||||
{"name":"sample_projects","order":6,"path":"scripts/sample_projects/sample_projects.yy",},
|
||||
{"name":"save_function","order":1,"path":"scripts/save_function/save_function.yy",},
|
||||
{"name":"scrollBox","order":2,"path":"scripts/scrollBox/scrollBox.yy",},
|
||||
{"name":"scrollPane","order":3,"path":"scripts/scrollPane/scrollPane.yy",},
|
||||
{"name":"scrollBox","order":7,"path":"scripts/scrollBox/scrollBox.yy",},
|
||||
{"name":"scrollPane","order":8,"path":"scripts/scrollPane/scrollPane.yy",},
|
||||
{"name":"shell_functions","order":42,"path":"scripts/shell_functions/shell_functions.yy",},
|
||||
{"name":"sliderRange","order":2,"path":"scripts/sliderRange/sliderRange.yy",},
|
||||
{"name":"SnapBufferWriteXML","order":1,"path":"scripts/SnapBufferWriteXML/SnapBufferWriteXML.yy",},
|
||||
|
@ -1379,8 +1383,8 @@
|
|||
{"name":"surface_draw_functions","order":6,"path":"scripts/surface_draw_functions/surface_draw_functions.yy",},
|
||||
{"name":"surface_functions","order":4,"path":"scripts/surface_functions/surface_functions.yy",},
|
||||
{"name":"surface_get_palette","order":2,"path":"scripts/surface_get_palette/surface_get_palette.yy",},
|
||||
{"name":"surfaceBox","order":4,"path":"scripts/surfaceBox/surfaceBox.yy",},
|
||||
{"name":"surfaceDynaBox","order":19,"path":"scripts/surfaceDynaBox/surfaceDynaBox.yy",},
|
||||
{"name":"surfaceBox","order":9,"path":"scripts/surfaceBox/surfaceBox.yy",},
|
||||
{"name":"surfaceDynaBox","order":17,"path":"scripts/surfaceDynaBox/surfaceDynaBox.yy",},
|
||||
{"name":"svg_objects","order":1,"path":"scripts/svg_objects/svg_objects.yy",},
|
||||
{"name":"text_file","order":5,"path":"scripts/text_file/text_file.yy",},
|
||||
{"name":"textArrayBox","order":1,"path":"scripts/textArrayBox/textArrayBox.yy",},
|
||||
|
@ -1395,7 +1399,7 @@
|
|||
{"name":"tilesetBox","order":1,"path":"scripts/tilesetBox/tilesetBox.yy",},
|
||||
{"name":"time_source","order":43,"path":"scripts/time_source/time_source.yy",},
|
||||
{"name":"timeline_data","order":18,"path":"scripts/timeline_data/timeline_data.yy",},
|
||||
{"name":"toggleGroup","order":7,"path":"scripts/toggleGroup/toggleGroup.yy",},
|
||||
{"name":"toggleGroup","order":12,"path":"scripts/toggleGroup/toggleGroup.yy",},
|
||||
{"name":"tooltip_hotkey","order":2,"path":"scripts/tooltip_hotkey/tooltip_hotkey.yy",},
|
||||
{"name":"tooltip_recent_files","order":3,"path":"scripts/tooltip_recent_files/tooltip_recent_files.yy",},
|
||||
{"name":"tooltip_selector_object","order":1,"path":"scripts/tooltip_selector_object/tooltip_selector_object.yy",},
|
||||
|
@ -1413,7 +1417,7 @@
|
|||
{"name":"vectorRangeBox","order":11,"path":"scripts/vectorRangeBox/vectorRangeBox.yy",},
|
||||
{"name":"version_checker","order":11,"path":"scripts/version_checker/version_checker.yy",},
|
||||
{"name":"wav_file_object","order":2,"path":"scripts/wav_file_object/wav_file_object.yy",},
|
||||
{"name":"widget","order":5,"path":"scripts/widget/widget.yy",},
|
||||
{"name":"widget","order":10,"path":"scripts/widget/widget.yy",},
|
||||
{"name":"window_functions","order":2,"path":"scripts/window_functions/window_functions.yy",},
|
||||
{"name":"winwin_extras","order":6,"path":"scripts/winwin_extras/winwin_extras.yy",},
|
||||
{"name":"winwin_utils","order":7,"path":"scripts/winwin_utils/winwin_utils.yy",},
|
||||
|
@ -2045,7 +2049,7 @@
|
|||
{"name":"s_info","order":118,"path":"sprites/s_info/s_info.yy",},
|
||||
{"name":"s_inspector_channel","order":1,"path":"sprites/s_inspector_channel/s_inspector_channel.yy",},
|
||||
{"name":"s_inspector_checkbox","order":2,"path":"sprites/s_inspector_checkbox/s_inspector_checkbox.yy",},
|
||||
{"name":"s_inspector_corner","order":3,"path":"sprites/s_inspector_corner/s_inspector_corner.yy",},
|
||||
{"name":"s_inspector_corner","order":28,"path":"sprites/s_inspector_corner/s_inspector_corner.yy",},
|
||||
{"name":"s_inspector_curve_presets","order":4,"path":"sprites/s_inspector_curve_presets/s_inspector_curve_presets.yy",},
|
||||
{"name":"s_inspector_direction","order":5,"path":"sprites/s_inspector_direction/s_inspector_direction.yy",},
|
||||
{"name":"s_inspector_draw_line","order":6,"path":"sprites/s_inspector_draw_line/s_inspector_draw_line.yy",},
|
||||
|
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 81 KiB |
|
@ -13,70 +13,70 @@
|
|||
"glyphOperations":0,
|
||||
"glyphs":{
|
||||
"32":{"character":32,"h":68,"offset":0,"shift":11,"w":11,"x":2,"y":2,},
|
||||
"33":{"character":33,"h":68,"offset":2,"shift":12,"w":24,"x":623,"y":142,},
|
||||
"34":{"character":34,"h":68,"offset":2,"shift":20,"w":32,"x":589,"y":142,},
|
||||
"35":{"character":35,"h":68,"offset":0,"shift":28,"w":43,"x":544,"y":142,},
|
||||
"36":{"character":36,"h":68,"offset":1,"shift":24,"w":38,"x":504,"y":142,},
|
||||
"37":{"character":37,"h":68,"offset":1,"shift":38,"w":53,"x":449,"y":142,},
|
||||
"38":{"character":38,"h":68,"offset":1,"shift":32,"w":47,"x":400,"y":142,},
|
||||
"39":{"character":39,"h":68,"offset":2,"shift":11,"w":23,"x":375,"y":142,},
|
||||
"40":{"character":40,"h":68,"offset":1,"shift":14,"w":29,"x":344,"y":142,},
|
||||
"41":{"character":41,"h":68,"offset":1,"shift":14,"w":28,"x":314,"y":142,},
|
||||
"42":{"character":42,"h":68,"offset":1,"shift":23,"w":37,"x":649,"y":142,},
|
||||
"43":{"character":43,"h":68,"offset":1,"shift":24,"w":38,"x":274,"y":142,},
|
||||
"44":{"character":44,"h":68,"offset":1,"shift":12,"w":25,"x":208,"y":142,},
|
||||
"45":{"character":45,"h":68,"offset":1,"shift":14,"w":28,"x":178,"y":142,},
|
||||
"46":{"character":46,"h":68,"offset":2,"shift":12,"w":24,"x":152,"y":142,},
|
||||
"47":{"character":47,"h":68,"offset":0,"shift":18,"w":34,"x":116,"y":142,},
|
||||
"48":{"character":48,"h":68,"offset":1,"shift":24,"w":38,"x":76,"y":142,},
|
||||
"49":{"character":49,"h":68,"offset":2,"shift":24,"w":32,"x":42,"y":142,},
|
||||
"50":{"character":50,"h":68,"offset":1,"shift":24,"w":38,"x":2,"y":142,},
|
||||
"51":{"character":51,"h":68,"offset":1,"shift":24,"w":38,"x":960,"y":72,},
|
||||
"52":{"character":52,"h":68,"offset":0,"shift":24,"w":40,"x":918,"y":72,},
|
||||
"53":{"character":53,"h":68,"offset":2,"shift":24,"w":37,"x":235,"y":142,},
|
||||
"54":{"character":54,"h":68,"offset":1,"shift":24,"w":38,"x":688,"y":142,},
|
||||
"55":{"character":55,"h":68,"offset":1,"shift":24,"w":38,"x":728,"y":142,},
|
||||
"56":{"character":56,"h":68,"offset":1,"shift":24,"w":38,"x":768,"y":142,},
|
||||
"57":{"character":57,"h":68,"offset":1,"shift":24,"w":38,"x":605,"y":212,},
|
||||
"58":{"character":58,"h":68,"offset":2,"shift":12,"w":24,"x":579,"y":212,},
|
||||
"59":{"character":59,"h":68,"offset":1,"shift":12,"w":25,"x":552,"y":212,},
|
||||
"60":{"character":60,"h":68,"offset":1,"shift":24,"w":38,"x":512,"y":212,},
|
||||
"61":{"character":61,"h":68,"offset":1,"shift":24,"w":38,"x":472,"y":212,},
|
||||
"62":{"character":62,"h":68,"offset":1,"shift":24,"w":38,"x":432,"y":212,},
|
||||
"63":{"character":63,"h":68,"offset":0,"shift":20,"w":36,"x":394,"y":212,},
|
||||
"64":{"character":64,"h":68,"offset":2,"shift":38,"w":51,"x":341,"y":212,},
|
||||
"65":{"character":65,"h":68,"offset":0,"shift":29,"w":46,"x":293,"y":212,},
|
||||
"66":{"character":66,"h":68,"offset":3,"shift":29,"w":40,"x":251,"y":212,},
|
||||
"67":{"character":67,"h":68,"offset":2,"shift":27,"w":40,"x":209,"y":212,},
|
||||
"68":{"character":68,"h":68,"offset":3,"shift":32,"w":43,"x":164,"y":212,},
|
||||
"69":{"character":69,"h":68,"offset":3,"shift":24,"w":35,"x":127,"y":212,},
|
||||
"70":{"character":70,"h":68,"offset":3,"shift":23,"w":35,"x":90,"y":212,},
|
||||
"71":{"character":71,"h":68,"offset":2,"shift":31,"w":42,"x":46,"y":212,},
|
||||
"72":{"character":72,"h":68,"offset":3,"shift":33,"w":42,"x":2,"y":212,},
|
||||
"73":{"character":73,"h":68,"offset":1,"shift":17,"w":31,"x":975,"y":142,},
|
||||
"74":{"character":74,"h":68,"offset":-4,"shift":14,"w":31,"x":942,"y":142,},
|
||||
"75":{"character":75,"h":68,"offset":3,"shift":28,"w":42,"x":898,"y":142,},
|
||||
"76":{"character":76,"h":68,"offset":3,"shift":24,"w":36,"x":860,"y":142,},
|
||||
"77":{"character":77,"h":68,"offset":3,"shift":40,"w":50,"x":808,"y":142,},
|
||||
"78":{"character":78,"h":68,"offset":3,"shift":35,"w":44,"x":872,"y":72,},
|
||||
"79":{"character":79,"h":68,"offset":2,"shift":34,"w":46,"x":824,"y":72,},
|
||||
"80":{"character":80,"h":68,"offset":3,"shift":27,"w":38,"x":784,"y":72,},
|
||||
"33":{"character":33,"h":68,"offset":2,"shift":12,"w":24,"x":625,"y":142,},
|
||||
"34":{"character":34,"h":68,"offset":2,"shift":20,"w":32,"x":591,"y":142,},
|
||||
"35":{"character":35,"h":68,"offset":0,"shift":28,"w":43,"x":546,"y":142,},
|
||||
"36":{"character":36,"h":68,"offset":1,"shift":25,"w":38,"x":506,"y":142,},
|
||||
"37":{"character":37,"h":68,"offset":1,"shift":39,"w":53,"x":451,"y":142,},
|
||||
"38":{"character":38,"h":68,"offset":1,"shift":32,"w":48,"x":401,"y":142,},
|
||||
"39":{"character":39,"h":68,"offset":2,"shift":11,"w":23,"x":376,"y":142,},
|
||||
"40":{"character":40,"h":68,"offset":1,"shift":15,"w":29,"x":345,"y":142,},
|
||||
"41":{"character":41,"h":68,"offset":1,"shift":15,"w":28,"x":315,"y":142,},
|
||||
"42":{"character":42,"h":68,"offset":1,"shift":23,"w":38,"x":651,"y":142,},
|
||||
"43":{"character":43,"h":68,"offset":1,"shift":25,"w":38,"x":275,"y":142,},
|
||||
"44":{"character":44,"h":68,"offset":1,"shift":12,"w":25,"x":209,"y":142,},
|
||||
"45":{"character":45,"h":68,"offset":1,"shift":14,"w":28,"x":179,"y":142,},
|
||||
"46":{"character":46,"h":68,"offset":2,"shift":12,"w":24,"x":153,"y":142,},
|
||||
"47":{"character":47,"h":68,"offset":0,"shift":18,"w":34,"x":117,"y":142,},
|
||||
"48":{"character":48,"h":68,"offset":1,"shift":25,"w":38,"x":77,"y":142,},
|
||||
"49":{"character":49,"h":68,"offset":2,"shift":25,"w":32,"x":43,"y":142,},
|
||||
"50":{"character":50,"h":68,"offset":1,"shift":25,"w":39,"x":2,"y":142,},
|
||||
"51":{"character":51,"h":68,"offset":1,"shift":25,"w":38,"x":965,"y":72,},
|
||||
"52":{"character":52,"h":68,"offset":0,"shift":25,"w":40,"x":923,"y":72,},
|
||||
"53":{"character":53,"h":68,"offset":2,"shift":25,"w":37,"x":236,"y":142,},
|
||||
"54":{"character":54,"h":68,"offset":1,"shift":25,"w":39,"x":691,"y":142,},
|
||||
"55":{"character":55,"h":68,"offset":1,"shift":25,"w":39,"x":732,"y":142,},
|
||||
"56":{"character":56,"h":68,"offset":1,"shift":25,"w":39,"x":773,"y":142,},
|
||||
"57":{"character":57,"h":68,"offset":1,"shift":25,"w":39,"x":606,"y":212,},
|
||||
"58":{"character":58,"h":68,"offset":2,"shift":12,"w":24,"x":580,"y":212,},
|
||||
"59":{"character":59,"h":68,"offset":1,"shift":12,"w":25,"x":553,"y":212,},
|
||||
"60":{"character":60,"h":68,"offset":1,"shift":25,"w":38,"x":513,"y":212,},
|
||||
"61":{"character":61,"h":68,"offset":1,"shift":25,"w":38,"x":473,"y":212,},
|
||||
"62":{"character":62,"h":68,"offset":1,"shift":25,"w":38,"x":433,"y":212,},
|
||||
"63":{"character":63,"h":68,"offset":0,"shift":21,"w":36,"x":395,"y":212,},
|
||||
"64":{"character":64,"h":68,"offset":2,"shift":39,"w":51,"x":342,"y":212,},
|
||||
"65":{"character":65,"h":68,"offset":0,"shift":30,"w":46,"x":294,"y":212,},
|
||||
"66":{"character":66,"h":68,"offset":3,"shift":29,"w":40,"x":252,"y":212,},
|
||||
"67":{"character":67,"h":68,"offset":2,"shift":27,"w":40,"x":210,"y":212,},
|
||||
"68":{"character":68,"h":68,"offset":3,"shift":32,"w":43,"x":165,"y":212,},
|
||||
"69":{"character":69,"h":68,"offset":3,"shift":24,"w":35,"x":128,"y":212,},
|
||||
"70":{"character":70,"h":68,"offset":3,"shift":24,"w":35,"x":91,"y":212,},
|
||||
"71":{"character":71,"h":68,"offset":2,"shift":31,"w":42,"x":47,"y":212,},
|
||||
"72":{"character":72,"h":68,"offset":3,"shift":33,"w":43,"x":2,"y":212,},
|
||||
"73":{"character":73,"h":68,"offset":1,"shift":17,"w":31,"x":981,"y":142,},
|
||||
"74":{"character":74,"h":68,"offset":-4,"shift":14,"w":31,"x":948,"y":142,},
|
||||
"75":{"character":75,"h":68,"offset":3,"shift":29,"w":42,"x":904,"y":142,},
|
||||
"76":{"character":76,"h":68,"offset":3,"shift":24,"w":36,"x":866,"y":142,},
|
||||
"77":{"character":77,"h":68,"offset":3,"shift":41,"w":50,"x":814,"y":142,},
|
||||
"78":{"character":78,"h":68,"offset":3,"shift":35,"w":45,"x":876,"y":72,},
|
||||
"79":{"character":79,"h":68,"offset":2,"shift":34,"w":46,"x":828,"y":72,},
|
||||
"80":{"character":80,"h":68,"offset":3,"shift":27,"w":39,"x":787,"y":72,},
|
||||
"81":{"character":81,"h":68,"offset":2,"shift":34,"w":46,"x":866,"y":2,},
|
||||
"82":{"character":82,"h":68,"offset":3,"shift":28,"w":42,"x":792,"y":2,},
|
||||
"83":{"character":83,"h":68,"offset":1,"shift":24,"w":37,"x":753,"y":2,},
|
||||
"84":{"character":84,"h":68,"offset":0,"shift":25,"w":40,"x":711,"y":2,},
|
||||
"85":{"character":85,"h":68,"offset":3,"shift":32,"w":42,"x":667,"y":2,},
|
||||
"82":{"character":82,"h":68,"offset":3,"shift":28,"w":42,"x":793,"y":2,},
|
||||
"83":{"character":83,"h":68,"offset":1,"shift":24,"w":37,"x":754,"y":2,},
|
||||
"84":{"character":84,"h":68,"offset":0,"shift":25,"w":41,"x":711,"y":2,},
|
||||
"85":{"character":85,"h":68,"offset":3,"shift":33,"w":42,"x":667,"y":2,},
|
||||
"86":{"character":86,"h":68,"offset":0,"shift":28,"w":44,"x":621,"y":2,},
|
||||
"87":{"character":87,"h":68,"offset":0,"shift":41,"w":58,"x":561,"y":2,},
|
||||
"88":{"character":88,"h":68,"offset":0,"shift":28,"w":45,"x":514,"y":2,},
|
||||
"87":{"character":87,"h":68,"offset":0,"shift":42,"w":58,"x":561,"y":2,},
|
||||
"88":{"character":88,"h":68,"offset":0,"shift":29,"w":45,"x":514,"y":2,},
|
||||
"89":{"character":89,"h":68,"offset":0,"shift":27,"w":43,"x":469,"y":2,},
|
||||
"90":{"character":90,"h":68,"offset":1,"shift":25,"w":39,"x":428,"y":2,},
|
||||
"91":{"character":91,"h":68,"offset":2,"shift":14,"w":28,"x":836,"y":2,},
|
||||
"91":{"character":91,"h":68,"offset":3,"shift":14,"w":27,"x":837,"y":2,},
|
||||
"92":{"character":92,"h":68,"offset":0,"shift":18,"w":34,"x":392,"y":2,},
|
||||
"93":{"character":93,"h":68,"offset":1,"shift":14,"w":27,"x":326,"y":2,},
|
||||
"94":{"character":94,"h":68,"offset":0,"shift":24,"w":40,"x":284,"y":2,},
|
||||
"94":{"character":94,"h":68,"offset":0,"shift":25,"w":40,"x":284,"y":2,},
|
||||
"95":{"character":95,"h":68,"offset":-1,"shift":18,"w":35,"x":247,"y":2,},
|
||||
"96":{"character":96,"h":68,"offset":1,"shift":15,"w":29,"x":216,"y":2,},
|
||||
"96":{"character":96,"h":68,"offset":1,"shift":16,"w":29,"x":216,"y":2,},
|
||||
"97":{"character":97,"h":68,"offset":1,"shift":26,"w":38,"x":176,"y":2,},
|
||||
"98":{"character":98,"h":68,"offset":3,"shift":27,"w":39,"x":135,"y":2,},
|
||||
"99":{"character":99,"h":68,"offset":1,"shift":22,"w":36,"x":97,"y":2,},
|
||||
|
@ -84,19 +84,19 @@
|
|||
"101":{"character":101,"h":68,"offset":1,"shift":25,"w":39,"x":15,"y":2,},
|
||||
"102":{"character":102,"h":68,"offset":0,"shift":17,"w":35,"x":355,"y":2,},
|
||||
"103":{"character":103,"h":68,"offset":1,"shift":27,"w":39,"x":914,"y":2,},
|
||||
"104":{"character":104,"h":68,"offset":3,"shift":28,"w":38,"x":321,"y":72,},
|
||||
"105":{"character":105,"h":68,"offset":3,"shift":13,"w":23,"x":955,"y":2,},
|
||||
"106":{"character":106,"h":68,"offset":-3,"shift":13,"w":29,"x":716,"y":72,},
|
||||
"107":{"character":107,"h":68,"offset":3,"shift":26,"w":40,"x":674,"y":72,},
|
||||
"108":{"character":108,"h":68,"offset":3,"shift":13,"w":23,"x":649,"y":72,},
|
||||
"109":{"character":109,"h":68,"offset":3,"shift":42,"w":52,"x":595,"y":72,},
|
||||
"110":{"character":110,"h":68,"offset":3,"shift":28,"w":38,"x":555,"y":72,},
|
||||
"111":{"character":111,"h":68,"offset":1,"shift":26,"w":40,"x":513,"y":72,},
|
||||
"112":{"character":112,"h":68,"offset":3,"shift":27,"w":39,"x":472,"y":72,},
|
||||
"113":{"character":113,"h":68,"offset":1,"shift":27,"w":39,"x":431,"y":72,},
|
||||
"114":{"character":114,"h":68,"offset":3,"shift":19,"w":32,"x":397,"y":72,},
|
||||
"115":{"character":115,"h":68,"offset":1,"shift":21,"w":35,"x":747,"y":72,},
|
||||
"116":{"character":116,"h":68,"offset":0,"shift":19,"w":34,"x":361,"y":72,},
|
||||
"104":{"character":104,"h":68,"offset":3,"shift":28,"w":39,"x":321,"y":72,},
|
||||
"105":{"character":105,"h":68,"offset":3,"shift":13,"w":24,"x":955,"y":2,},
|
||||
"106":{"character":106,"h":68,"offset":-3,"shift":13,"w":30,"x":718,"y":72,},
|
||||
"107":{"character":107,"h":68,"offset":3,"shift":27,"w":40,"x":676,"y":72,},
|
||||
"108":{"character":108,"h":68,"offset":3,"shift":13,"w":23,"x":651,"y":72,},
|
||||
"109":{"character":109,"h":68,"offset":3,"shift":42,"w":52,"x":597,"y":72,},
|
||||
"110":{"character":110,"h":68,"offset":3,"shift":28,"w":39,"x":556,"y":72,},
|
||||
"111":{"character":111,"h":68,"offset":1,"shift":27,"w":40,"x":514,"y":72,},
|
||||
"112":{"character":112,"h":68,"offset":3,"shift":27,"w":39,"x":473,"y":72,},
|
||||
"113":{"character":113,"h":68,"offset":1,"shift":27,"w":39,"x":432,"y":72,},
|
||||
"114":{"character":114,"h":68,"offset":3,"shift":20,"w":32,"x":398,"y":72,},
|
||||
"115":{"character":115,"h":68,"offset":1,"shift":21,"w":35,"x":750,"y":72,},
|
||||
"116":{"character":116,"h":68,"offset":0,"shift":19,"w":34,"x":362,"y":72,},
|
||||
"117":{"character":117,"h":68,"offset":3,"shift":28,"w":38,"x":281,"y":72,},
|
||||
"118":{"character":118,"h":68,"offset":0,"shift":24,"w":41,"x":238,"y":72,},
|
||||
"119":{"character":119,"h":68,"offset":0,"shift":37,"w":53,"x":183,"y":72,},
|
||||
|
@ -105,9 +105,9 @@
|
|||
"122":{"character":122,"h":68,"offset":1,"shift":21,"w":35,"x":60,"y":72,},
|
||||
"123":{"character":123,"h":68,"offset":0,"shift":17,"w":32,"x":26,"y":72,},
|
||||
"124":{"character":124,"h":68,"offset":9,"shift":24,"w":22,"x":2,"y":72,},
|
||||
"125":{"character":125,"h":68,"offset":1,"shift":17,"w":32,"x":980,"y":2,},
|
||||
"126":{"character":126,"h":68,"offset":1,"shift":24,"w":38,"x":645,"y":212,},
|
||||
"9647":{"character":9647,"h":68,"offset":8,"shift":42,"w":42,"x":685,"y":212,},
|
||||
"125":{"character":125,"h":68,"offset":1,"shift":17,"w":32,"x":981,"y":2,},
|
||||
"126":{"character":126,"h":68,"offset":1,"shift":25,"w":38,"x":647,"y":212,},
|
||||
"9647":{"character":9647,"h":68,"offset":8,"shift":42,"w":42,"x":687,"y":212,},
|
||||
},
|
||||
"hinting":0,
|
||||
"includeTTF":false,
|
||||
|
@ -120,14 +120,14 @@
|
|||
"name":"_f_sdf",
|
||||
"parent":{
|
||||
"name":"font",
|
||||
"path":"folders/font.yy",
|
||||
"path":"folders/sprites/theme/font.yy",
|
||||
},
|
||||
"pointRounding":0,
|
||||
"ranges":[
|
||||
{"lower":32,"upper":127,},
|
||||
{"lower":9647,"upper":9647,},
|
||||
],
|
||||
"regenerateBitmap":true,
|
||||
"regenerateBitmap":false,
|
||||
"resourceType":"GMFont",
|
||||
"resourceVersion":"2.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)",
|
||||
|
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -120,14 +120,14 @@
|
|||
"name":"_f_sdf_medium",
|
||||
"parent":{
|
||||
"name":"font",
|
||||
"path":"folders/font.yy",
|
||||
"path":"folders/sprites/theme/font.yy",
|
||||
},
|
||||
"pointRounding":0,
|
||||
"ranges":[
|
||||
{"lower":32,"upper":127,},
|
||||
{"lower":9647,"upper":9647,},
|
||||
],
|
||||
"regenerateBitmap":true,
|
||||
"regenerateBitmap":false,
|
||||
"resourceType":"GMFont",
|
||||
"resourceVersion":"2.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)",
|
||||
|
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -547,10 +547,11 @@ event_inherited();
|
|||
content_pane.hover_content = true;
|
||||
|
||||
draw_sprite_stretched_ext(THEME.node_bg, 1, _boxx, yy, grid_size, grid_size, COLORS._main_accent, 1);
|
||||
if(mouse_release(mb_left, sFOCUS))
|
||||
buildNode(_node);
|
||||
else if(mouse_release(mb_right, right_free && sFOCUS))
|
||||
rightClick(_node);
|
||||
|
||||
if(sFOCUS) {
|
||||
if(mouse_release(mb_left)) buildNode(_node);
|
||||
if(mouse_release(mb_right, right_free)) rightClick(_node);
|
||||
}
|
||||
}
|
||||
|
||||
if(_node.getTooltip() != "" || _node.tooltip_spr != noone) {
|
||||
|
@ -673,8 +674,8 @@ event_inherited();
|
|||
if(!PREFERENCES.dialog_add_node_grouping)
|
||||
continue;
|
||||
|
||||
hh += ui(8);
|
||||
yy += ui(8);
|
||||
hh += ui(4) * (i > 0);
|
||||
yy += ui(4) * (i > 0);
|
||||
|
||||
var _key = $"{ADD_NODE_PAGE}:{i}";
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ if !ready exit;
|
|||
if(DIALOG_SHOW_FOCUS) DIALOG_DRAW_FOCUS
|
||||
#endregion
|
||||
|
||||
#region search
|
||||
#region content
|
||||
WIDGET_CURRENT = tb_search;
|
||||
tb_search.setFocusHover(sFOCUS, sHOVER);
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
function __vec2(_x = 0, _y = _x) constructor {
|
||||
static set = function(_x = 0, _y = _x) { #region
|
||||
static set = function(_x = 0, _y = _x) {
|
||||
if(is_struct(_x) && is_instanceof(_x, __vec2)) {
|
||||
x = _x.x;
|
||||
y = _x.y;
|
||||
|
@ -21,162 +21,162 @@ function __vec2(_x = 0, _y = _x) constructor {
|
|||
x = _x;
|
||||
y = _y;
|
||||
return self;
|
||||
} set(_x, _y); #endregion
|
||||
} set(_x, _y);
|
||||
|
||||
ref = noone;
|
||||
static setRef = function(ref = noone) { #region
|
||||
static setRef = function(ref = noone) {
|
||||
self.ref = ref;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static setIndex = function(index, value) { #region
|
||||
static setIndex = function(index, value) {
|
||||
INLINE
|
||||
switch(index) {
|
||||
case 0 : x = value; break;
|
||||
case 1 : y = value; break;
|
||||
}
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static getIndex = function(index) { #region
|
||||
static getIndex = function(index) {
|
||||
switch(index) {
|
||||
case 0 : return x;
|
||||
case 1 : return y;
|
||||
}
|
||||
return 0;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static addElement = function(_x, _y) { #region
|
||||
static addElement = function(_x, _y) {
|
||||
INLINE
|
||||
return new __vec2(x + _x, y + _y);
|
||||
} #endregion
|
||||
static _addElement = function(_x, _y) { #region
|
||||
}
|
||||
static _addElement = function(_x, _y) {
|
||||
INLINE
|
||||
x += _x;
|
||||
y += _y;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static add = function(_vec2) { #region
|
||||
static add = function(_vec2) {
|
||||
INLINE
|
||||
return new __vec2(x + _vec2.x, y + _vec2.y);
|
||||
} #endregion
|
||||
static _add = function(_vec2) { #region
|
||||
}
|
||||
static _add = function(_vec2) {
|
||||
INLINE
|
||||
x += _vec2.x;
|
||||
y += _vec2.y;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static addElement = function(_x, _y) { #region
|
||||
static addElement = function(_x, _y) {
|
||||
INLINE
|
||||
return new __vec2(x + _x, y + _y);
|
||||
} #endregion
|
||||
static _addElement = function(_x, _y) { #region
|
||||
}
|
||||
static _addElement = function(_x, _y) {
|
||||
INLINE
|
||||
x += _x;
|
||||
y += _y;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static subtract = function(_vec2) { #region
|
||||
static subtract = function(_vec2) {
|
||||
INLINE
|
||||
return new __vec2(x - _vec2.x, y - _vec2.y);
|
||||
} #endregion
|
||||
static _subtract = function(_vec2) { #region
|
||||
}
|
||||
static _subtract = function(_vec2) {
|
||||
INLINE
|
||||
x -= _vec2.x;
|
||||
y -= _vec2.y;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static subtractElement = function(_x, _y) { #region
|
||||
static subtractElement = function(_x, _y) {
|
||||
INLINE
|
||||
return new __vec2(x - _x, y - _y);
|
||||
} #endregion
|
||||
static _subtractElement = function(_x, _y) { #region
|
||||
}
|
||||
static _subtractElement = function(_x, _y) {
|
||||
INLINE
|
||||
x -= _x;
|
||||
y -= _y;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static multiply = function(_scalar) { #region
|
||||
static multiply = function(_scalar) {
|
||||
INLINE
|
||||
return new __vec2(x * _scalar, y * _scalar);
|
||||
} #endregion
|
||||
static _multiply = function(_scalar) { #region
|
||||
}
|
||||
static _multiply = function(_scalar) {
|
||||
INLINE
|
||||
x *= _scalar;
|
||||
y *= _scalar;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static multiplyVec = function(_vec) { #region
|
||||
static multiplyVec = function(_vec) {
|
||||
INLINE
|
||||
return new __vec2(x * _vec.x, y * _vec.y);
|
||||
} #endregion
|
||||
static _multiplyVec = function(_vec) { #region
|
||||
}
|
||||
static _multiplyVec = function(_vec) {
|
||||
INLINE
|
||||
x *= _vec.x;
|
||||
y *= _vec.y;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static multiplyElement = function(_x, _y) { #region
|
||||
static multiplyElement = function(_x, _y) {
|
||||
INLINE
|
||||
return new __vec2(x * _x, y * _y);
|
||||
} #endregion
|
||||
static _multiplyElement = function(_x, _y) { #region
|
||||
}
|
||||
static _multiplyElement = function(_x, _y) {
|
||||
INLINE
|
||||
x *= _x;
|
||||
y *= _y;
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static divide = function(_scalar) { #region
|
||||
static divide = function(_scalar) {
|
||||
INLINE
|
||||
if (_scalar != 0)
|
||||
return new __vec2(x / _scalar, y / _scalar);
|
||||
|
||||
return new __vec2(x, y, z); // Avoid division by zero
|
||||
} #endregion
|
||||
static _divide = function(_scalar) { #region
|
||||
}
|
||||
static _divide = function(_scalar) {
|
||||
INLINE
|
||||
if (_scalar != 0) {
|
||||
x /= _scalar;
|
||||
y /= _scalar;
|
||||
}
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static dot = function(_vec2) { #region
|
||||
static dot = function(_vec2) {
|
||||
INLINE
|
||||
return x * _vec2.x + y * _vec2.y;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static distance = function(_vec2) { #region
|
||||
static distance = function(_vec2) {
|
||||
INLINE
|
||||
var dx = _vec2.x - x;
|
||||
var dy = _vec2.y - y;
|
||||
return sqrt(dx * dx + dy * dy);
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static directionTo = function(_vec2) { #region
|
||||
static directionTo = function(_vec2) {
|
||||
INLINE
|
||||
return point_direction(x, y, _vec2.x, _vec2.y);
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static length = function() { #region
|
||||
static length = function() {
|
||||
INLINE
|
||||
return sqrt(x * x + y * y);
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static normalize = function() { #region
|
||||
static normalize = function() {
|
||||
INLINE
|
||||
return clone()._normalize();
|
||||
} #endregion
|
||||
static _normalize = function() { #region
|
||||
}
|
||||
static _normalize = function() {
|
||||
INLINE
|
||||
var _length = length();
|
||||
if (_length != 0) {
|
||||
|
@ -184,33 +184,33 @@ function __vec2(_x = 0, _y = _x) constructor {
|
|||
y /= _length;
|
||||
}
|
||||
return self;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static lerpTo = function(to, speed = 0.3) { #region
|
||||
static lerpTo = function(to, speed = 0.3) {
|
||||
INLINE
|
||||
return new __vec2(lerp(x, to.x, speed), lerp(y, to.y, speed));
|
||||
} #endregion
|
||||
static _lerpTo = function(to, speed = 0.3) { #region
|
||||
}
|
||||
static _lerpTo = function(to, speed = 0.3) {
|
||||
INLINE
|
||||
x = lerp(x, to.x, speed);
|
||||
y = lerp(y, to.y, speed);
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static _lerp_float = function(to, speed = 5, pre = 0.01) { #region
|
||||
static _lerp_float = function(to, speed = 5, pre = 0.01) {
|
||||
INLINE
|
||||
x = lerp_float(x, to.x, speed, pre);
|
||||
y = lerp_float(y, to.y, speed, pre);
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static equal = function(to) { #region
|
||||
static equal = function(to) {
|
||||
INLINE
|
||||
return x == to.x && y == to.y;
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static clone = function() { #region
|
||||
static clone = function() {
|
||||
INLINE
|
||||
return new __vec2(x, y);
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static toString = function() { return $"[__vec2] ({x}, {y})"; }
|
||||
|
||||
|
|
|
@ -21,15 +21,19 @@ function cornerBox(_onModify, _unit = noone) : widget() constructor {
|
|||
onModifySingle[2] = function(val) { onModifyIndex(val, 2); }
|
||||
onModifySingle[3] = function(val) { onModifyIndex(val, 3); }
|
||||
|
||||
labels = [ "r", "t", "l", "b" ];
|
||||
|
||||
for(var i = 0; i < 4; i++) {
|
||||
tb[i] = new textBox(TEXTBOX_INPUT.number, onModifySingle[i]);
|
||||
tb[i].label = labels[i];
|
||||
|
||||
tb[i].labelSpr = s_inspector_corner;
|
||||
tb[i].labelSprIndex = i;
|
||||
tb[i].labelColor = COLORS._main_icon;
|
||||
tb[i].slidable = true;
|
||||
tb[i].hide = true;
|
||||
}
|
||||
|
||||
tb[1].labelAlign = fa_right;
|
||||
tb[2].labelAlign = fa_right;
|
||||
|
||||
static setInteract = function(interactable = noone) {
|
||||
self.interactable = interactable;
|
||||
b_link.interactable = interactable;
|
||||
|
@ -43,8 +47,8 @@ function cornerBox(_onModify, _unit = noone) : widget() constructor {
|
|||
|
||||
tb[0].register(parent);
|
||||
tb[1].register(parent);
|
||||
tb[2].register(parent);
|
||||
tb[3].register(parent);
|
||||
tb[2].register(parent);
|
||||
}
|
||||
|
||||
static isHovering = function() {
|
||||
|
@ -104,11 +108,11 @@ function cornerBox(_onModify, _unit = noone) : widget() constructor {
|
|||
var tb_bx = _x + tb_w;
|
||||
var tb_by = _y + _h + ui(4);
|
||||
|
||||
tb[2].draw(tb_lx, tb_ly, tb_w, tb_h, array_safe_get_fast(_data, 2), _m);
|
||||
tb[0].draw(tb_rx, tb_ry, tb_w, tb_h, array_safe_get_fast(_data, 0), _m);
|
||||
tb[0].draw(tb_lx, tb_ly, tb_w, tb_h, array_safe_get_fast(_data, 0), _m);
|
||||
tb[1].draw(tb_rx, tb_ry, tb_w, tb_h, array_safe_get_fast(_data, 1), _m);
|
||||
|
||||
tb[1].draw(tb_tx, tb_ty, tb_w, tb_h, array_safe_get_fast(_data, 1), _m);
|
||||
tb[3].draw(tb_bx, tb_by, tb_w, tb_h, array_safe_get_fast(_data, 3), _m);
|
||||
tb[3].draw(tb_tx, tb_ty, tb_w, tb_h, array_safe_get_fast(_data, 3), _m);
|
||||
tb[2].draw(tb_bx, tb_by, tb_w, tb_h, array_safe_get_fast(_data, 2), _m);
|
||||
|
||||
resetFocus();
|
||||
|
||||
|
|
|
@ -38,14 +38,14 @@ function Node_Greyscale(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
attribute_surface_depth();
|
||||
|
||||
static step = function() { #region
|
||||
static step = function() {
|
||||
__step_mask_modifier();
|
||||
|
||||
inputs[1].mappableStep();
|
||||
inputs[2].mappableStep();
|
||||
} #endregion
|
||||
}
|
||||
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) { #region
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
|
||||
surface_set_shader(_outSurf, sh_greyscale);
|
||||
shader_set_f_map("brightness", _data[1], _data[ 9], inputs[1]);
|
||||
|
@ -58,5 +58,5 @@ function Node_Greyscale(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
_outSurf = channel_apply(_data[0], _outSurf, _data[6]);
|
||||
|
||||
return _outSurf;
|
||||
} #endregion
|
||||
}
|
||||
}
|
|
@ -117,7 +117,7 @@ function Node_Path_Blend(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
static getPointRatio = function(_rat, ind = 0, out = undefined) { #region
|
||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||
|
||||
var _cKey = $"{_rat},{ind}";
|
||||
var _cKey = $"{string_format(_rat, 0, 6)},{ind}";
|
||||
if(ds_map_exists(cached_pos, _cKey)) {
|
||||
var _p = cached_pos[? _cKey];
|
||||
out.x = _p.x;
|
||||
|
|
|
@ -86,7 +86,7 @@ function Node_Path_Bridge(_x, _y, _group = noone) : Node(_x, _y, _group) constru
|
|||
static getPointDistance = function(_dist, ind = 0, out = undefined) { #region
|
||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||
|
||||
var _cKey = $"{_dist},{ind}";
|
||||
var _cKey = $"{string_format(_dist, 0, 6)},{ind}";
|
||||
if(ds_map_exists(cached_pos, _cKey)) {
|
||||
var _p = cached_pos[? _cKey];
|
||||
out.x = _p.x;
|
||||
|
|
|
@ -112,7 +112,7 @@ function Node_Path_Builder(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
|||
static getPointDistance = function(_dist, ind = 0, out = undefined) {
|
||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||
|
||||
var _cKey = $"{ind}, {_dist}";
|
||||
var _cKey = $"{ind}, {string_format(_dist, 0, 6)}";
|
||||
if(ds_map_exists(cached_pos, _cKey)) {
|
||||
var _p = cached_pos[? _cKey];
|
||||
out.x = _p.x;
|
||||
|
|
|
@ -13,11 +13,13 @@ function Node_Path_Fill(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
newInput(4, nodeValue_Bool("Inverted", self, false))
|
||||
|
||||
newInput(5, nodeValue_Color("Bachground", self, cola(c_black, 0)))
|
||||
|
||||
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
|
||||
|
||||
input_display_list = [ 0,
|
||||
["Path", false], 1, 2,
|
||||
["COlor", false], 3, 4,
|
||||
["Color", false], 3, 4, 5,
|
||||
]
|
||||
|
||||
temp_surface = [ 0 ];
|
||||
|
@ -36,6 +38,7 @@ function Node_Path_Fill(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
var _reso = _data[2];
|
||||
var _colr = _data[3];
|
||||
var _invt = _data[4];
|
||||
var _bg = _data[5];
|
||||
|
||||
_outSurf = surface_verify(_outSurf, _dim[0], _dim[1]);
|
||||
if(!struct_has(_path, "getPointRatio")) return _outSurf;
|
||||
|
@ -46,7 +49,7 @@ function Node_Path_Fill(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
|
|||
|
||||
surface_set_target(_outSurf);
|
||||
if(_invt) { draw_clear(_colr); BLEND_SUBTRACT }
|
||||
else { DRAW_CLEAR }
|
||||
else { draw_clear(_bg); }
|
||||
draw_set_color(_invt? c_white : _colr);
|
||||
|
||||
array_map_ext(path_points, function(p, i) /*=>*/ {return __tpath.getPointRatio(i * __step, 0, p)});
|
||||
|
|
|
@ -30,7 +30,7 @@ function Node_Path_From_Mask(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
static getPointDistance = function(_dist, _ind = 0, out = undefined) { #region
|
||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||
|
||||
var _cKey = $"{_dist},{_ind}";
|
||||
var _cKey = $"{string_format(_dist, 0, 6)},{_ind}";
|
||||
if(ds_map_exists(cached_pos, _cKey)) {
|
||||
var _p = cached_pos[? _cKey];
|
||||
out.x = _p.x;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
function Node_Path_Morph(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
function Node_Path_Morph(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor {
|
||||
name = "Morph Path";
|
||||
dimension_index = 2;
|
||||
|
||||
newInput(0, nodeValue_PathNode("Path 1", self, noone))
|
||||
.setVisible(true, true)
|
||||
|
@ -11,16 +12,25 @@ function Node_Path_Morph(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
|
||||
newInput(2, nodeValue_Dimension(self));
|
||||
|
||||
newInput(3, nodeValue_Int("Subdivision", self, 512))
|
||||
newInput(3, nodeValue_Int("Subdivision", self, 128))
|
||||
.setValidator(VV_min(2))
|
||||
.rejectArray();
|
||||
|
||||
newInput(4, nodeValue_Bool("Clip In-Out", self, false))
|
||||
|
||||
newInput(5, nodeValue_Curve("Curve", self, CURVE_DEF_01));
|
||||
|
||||
newInput(6, nodeValue_Bool("Match index", self, false))
|
||||
|
||||
newOutput(0, nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone));
|
||||
|
||||
input_display_list = [ 0, 1,
|
||||
["Morphing", false], 2, 3,
|
||||
["Morphing", false], 2, 3, 6,
|
||||
["Rendering", false], 5, 4,
|
||||
]
|
||||
|
||||
attribute_surface_depth();
|
||||
|
||||
temp_surface = [ 0 ];
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
|
@ -31,13 +41,16 @@ function Node_Path_Morph(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
if(_path && struct_has(_path, "drawOverlay")) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
}
|
||||
|
||||
static update = function() {
|
||||
var _path1 = getInputData(0);
|
||||
var _path2 = getInputData(1);
|
||||
if(_path1 == noone || _path2 == noone) return;
|
||||
static processData = function(_outSurf, _data, _output_index, _array_index) {
|
||||
var _path1 = _data[0];
|
||||
var _path2 = _data[1];
|
||||
if(_path1 == noone || _path2 == noone) return _outSurf;
|
||||
|
||||
var _dim = getInputData(2);
|
||||
var _sub = getInputData(3);
|
||||
var _dim = _data[2];
|
||||
var _sub = _data[3] + 1;
|
||||
var _clp = _data[4];
|
||||
var _cur = _data[5];
|
||||
var _mid = _data[6];
|
||||
|
||||
var _p1 = array_create(_sub * 2);
|
||||
var _p2 = array_create(_sub * 2);
|
||||
|
@ -57,18 +70,20 @@ function Node_Path_Morph(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
_p2[i * 2 + 1] = _pp.y;
|
||||
}
|
||||
|
||||
var _out = outputs[0].getValue();
|
||||
_out = surface_verify(_out, _dim[0], _dim[1])
|
||||
|
||||
surface_set_shader(_out, sh_path_morph);
|
||||
surface_set_shader(_outSurf, sh_path_morph);
|
||||
shader_set_2("dimension", _dim);
|
||||
shader_set_i("subdivision", _sub);
|
||||
shader_set_i("clip", _clp);
|
||||
shader_set_i("matchIndex", _mid);
|
||||
shader_set_f("point1", _p1);
|
||||
shader_set_f("point2", _p2);
|
||||
|
||||
shader_set_f("w_curve", _cur);
|
||||
shader_set_i("w_amount", array_length(_cur));
|
||||
|
||||
draw_empty();
|
||||
surface_reset_shader();
|
||||
|
||||
outputs[0].setValue(_out);
|
||||
return _outSurf;
|
||||
}
|
||||
}
|
|
@ -25,7 +25,7 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
new scrollItem("Line", s_node_shape_type, 16),
|
||||
new scrollItem("Curve", s_shape_curve, 0),
|
||||
];
|
||||
newInput(3, nodeValue_Enum_Scroll("Shape", self, 0, shapeScroll));
|
||||
newInput(3, nodeValue_Enum_Scroll("Shape", self, 0, { data: shapeScroll, horizontal: true, text_pad: ui(16) }));
|
||||
|
||||
newInput(4, nodeValue_Float("Skew", self, .5))
|
||||
.setDisplay(VALUE_DISPLAY.slider, { range: [ -1, 1, 0.01] });
|
||||
|
@ -38,11 +38,13 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
|
||||
newInput(8, nodeValue_Float("Inner Radius", self, .5));
|
||||
|
||||
newInput(9, nodeValue_Corner("Corner Radius", self, [ 0, 0, 0, 0 ]));
|
||||
|
||||
newOutput(0, nodeValue_Output("Path data", self, VALUE_TYPE.pathnode, self));
|
||||
|
||||
input_display_list = [
|
||||
["Transform", false], 0, 2, 1,
|
||||
["Shape", false], 3, 4, 5, 6, 7, 8,
|
||||
["Shape", false], 3, 4, 5, 6, 7, 8, 9,
|
||||
];
|
||||
|
||||
points = [];
|
||||
|
@ -62,6 +64,8 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
pa2x = 0; pa2y = 0;
|
||||
pa3 = 0;
|
||||
|
||||
corners = [ 0, 0, 0, 0 ];
|
||||
|
||||
preview_surf = noone;
|
||||
|
||||
static getLineCount = function() /*=>*/ {return 1};
|
||||
|
@ -78,23 +82,11 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
case "Rectangle" :
|
||||
case "Trapezoid" :
|
||||
case "Parallelogram" :
|
||||
if(_rat <= .25) {
|
||||
var r = _rat * 4;
|
||||
out.x = lerp(points[0][0], points[1][0], r);
|
||||
out.y = lerp(points[0][1], points[1][1], r);
|
||||
} else if(_rat <= .50) {
|
||||
var r = (_rat - .25) * 4;
|
||||
out.x = lerp(points[1][0], points[2][0], r);
|
||||
out.y = lerp(points[1][1], points[2][1], r);
|
||||
} else if(_rat <= .75) {
|
||||
var r = (_rat - .50) * 4;
|
||||
out.x = lerp(points[2][0], points[3][0], r);
|
||||
out.y = lerp(points[2][1], points[3][1], r);
|
||||
} else {
|
||||
var r = (_rat - .75) * 4;
|
||||
out.x = lerp(points[3][0], points[0][0], r);
|
||||
out.y = lerp(points[3][1], points[0][1], r);
|
||||
}
|
||||
var i = floor(_rat * 4);
|
||||
var r = (_rat - i * .25) * 4;
|
||||
|
||||
out.x = lerp(points[i * 2][0], points[i * 2 + 1][0], r);
|
||||
out.y = lerp(points[i * 2][1], points[i * 2 + 1][1], r);
|
||||
break;
|
||||
|
||||
case "Ellipse" :
|
||||
|
@ -148,7 +140,6 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
break;
|
||||
}
|
||||
|
||||
// point_vec2_rotate(out, posx, posy, rot);
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -190,6 +181,7 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
var _pa3 = inputs[6].getValue();
|
||||
var _sid = inputs[7].getValue();
|
||||
var _inn = inputs[8].getValue();
|
||||
var _c = inputs[9].getValue();
|
||||
|
||||
shape = inputs[3].getValue();
|
||||
posx = _pos[0];
|
||||
|
@ -203,6 +195,8 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
pa2y = _aran[1];
|
||||
pa3 = _pa3;
|
||||
|
||||
corners = _c;
|
||||
|
||||
var ox, oy, nx, ny, x0, y0;
|
||||
|
||||
inputs[4].setVisible(false);
|
||||
|
@ -210,15 +204,31 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
inputs[6].setVisible(false);
|
||||
inputs[7].setVisible(false);
|
||||
inputs[8].setVisible(false);
|
||||
inputs[9].setVisible(false);
|
||||
|
||||
switch(shapeScroll[shape].name) {
|
||||
case "Rectangle" :
|
||||
inputs[9].setVisible(true);
|
||||
|
||||
loop = true;
|
||||
var x0 = posx - scax;
|
||||
var y0 = posy - scay;
|
||||
|
||||
var x1 = posx + scax;
|
||||
var y1 = posy + scay;
|
||||
|
||||
points = [
|
||||
[ posx - scax, posy - scay ],
|
||||
[ posx + scax, posy - scay ],
|
||||
[ posx + scax, posy + scay ],
|
||||
[ posx - scax, posy + scay ],
|
||||
[ x0 + _c[0], y0 ],
|
||||
[ x1 - _c[1], y0 ],
|
||||
|
||||
[ x1, y0 + _c[1] ],
|
||||
[ x1, y1 - _c[2] ],
|
||||
|
||||
[ x1 - _c[2], y1 ],
|
||||
[ x0 + _c[3], y1 ],
|
||||
|
||||
[ x0, y1 - _c[3] ],
|
||||
[ x0, y0 + _c[0] ],
|
||||
];
|
||||
break;
|
||||
|
||||
|
@ -229,8 +239,15 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
points = [
|
||||
[ posx - scax * saturate(1 - _pa1), posy - scay ],
|
||||
[ posx + scax * saturate(1 - _pa1), posy - scay ],
|
||||
|
||||
[ posx + scax * saturate(1 - _pa1), posy - scay ],
|
||||
[ posx + scax * saturate(1 + _pa1), posy + scay ],
|
||||
|
||||
[ posx + scax * saturate(1 + _pa1), posy + scay ],
|
||||
[ posx - scax * saturate(1 + _pa1), posy + scay ],
|
||||
|
||||
[ posx - scax * saturate(1 + _pa1), posy + scay ],
|
||||
[ posx - scax * saturate(1 - _pa1), posy - scay ],
|
||||
];
|
||||
break;
|
||||
|
||||
|
@ -241,8 +258,15 @@ function Node_Path_Shape(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
points = [
|
||||
[ posx - scax * saturate(1 - _pa1), posy - scay ],
|
||||
[ posx + scax * saturate(1 + _pa1), posy - scay ],
|
||||
|
||||
[ posx + scax * saturate(1 + _pa1), posy - scay ],
|
||||
[ posx + scax * saturate(1 - _pa1), posy + scay ],
|
||||
|
||||
[ posx + scax * saturate(1 - _pa1), posy + scay ],
|
||||
[ posx - scax * saturate(1 + _pa1), posy + scay ],
|
||||
|
||||
[ posx - scax * saturate(1 + _pa1), posy + scay ],
|
||||
[ posx - scax * saturate(1 - _pa1), posy - scay ],
|
||||
];
|
||||
break;
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ function Node_Path_Shift(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
static getPointRatio = function(_rat, ind = 0, out = undefined) {
|
||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||
|
||||
var _cKey = $"{_rat},{ind}";
|
||||
var _cKey = $"{string_format(_rat, 0, 6)},{ind}";
|
||||
if(ds_map_exists(cached_pos, _cKey)) {
|
||||
var _p = cached_pos[? _cKey];
|
||||
out.x = _p.x;
|
||||
|
|
|
@ -5,13 +5,15 @@ function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
newInput(0, nodeValue_PathNode("Path", self, noone))
|
||||
.setVisible(true, true);
|
||||
|
||||
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ]));
|
||||
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ]))
|
||||
.setUnitRef(function() /*=>*/ {return DEF_SURF}, VALUE_UNIT.reference);
|
||||
|
||||
newInput(2, nodeValue_Rotation("Rotation", self, 0));
|
||||
|
||||
newInput(3, nodeValue_Vec2("Scale", self, [ 1, 1 ]));
|
||||
|
||||
newInput(4, nodeValue_Vec2("Anchor", self, [ 0, 0 ]));
|
||||
newInput(4, nodeValue_Vec2("Anchor", self, [ 0, 0 ]))
|
||||
.setUnitRef(function() /*=>*/ {return DEF_SURF}, VALUE_UNIT.reference);
|
||||
|
||||
newOutput(0, nodeValue_Output("Path", self, VALUE_TYPE.pathnode, self));
|
||||
|
||||
|
@ -21,8 +23,32 @@ function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
rot = 0;
|
||||
sca = [ 1, 1 ];
|
||||
anc = [ 0, 0 ];
|
||||
p = new __vec2();
|
||||
|
||||
static drawOverlay = function(hover, active, _x, _y, _s, _mx, _my, _snx, _sny) {
|
||||
var _path = getInputData(0);
|
||||
if(_path && struct_has(_path, "drawOverlay")) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
|
||||
draw_set_color(COLORS._main_icon);
|
||||
var _amo = getLineCount();
|
||||
for( var i = 0; i < _amo; i++ ) {
|
||||
var _len = getLength(i);
|
||||
var _stp = 1 / clamp(_len * _s, 1, 64);
|
||||
|
||||
var ox, oy, nx, ny;
|
||||
|
||||
for( var j = 0; j < 1; j += _stp ) {
|
||||
p = getPointRatio(j, i, p);
|
||||
nx = _x + p.x * _s;
|
||||
ny = _y + p.y * _s;
|
||||
|
||||
if(j > 0) draw_line_width(ox, oy, nx, ny, 1);
|
||||
|
||||
ox = nx;
|
||||
oy = ny;
|
||||
}
|
||||
}
|
||||
|
||||
var px = _x + pos[0] * _s;
|
||||
var py = _y + pos[1] * _s;
|
||||
|
||||
|
@ -65,9 +91,9 @@ function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
}
|
||||
|
||||
static getPointRatio = function(_rat, ind = 0, out = undefined) {
|
||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||
if(out == undefined) out = new __vec2();
|
||||
|
||||
var _cKey = $"{_rat},{ind}";
|
||||
var _cKey = $"{string_format(_rat, 0, 6)},{ind}";
|
||||
if(ds_map_exists(cached_pos, _cKey)) {
|
||||
var _p = cached_pos[? _cKey];
|
||||
out.x = _p.x;
|
||||
|
@ -83,7 +109,7 @@ function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
if(!is_struct(path) || !struct_has(path, "getPointRatio"))
|
||||
return out;
|
||||
|
||||
var _p = path.getPointRatio(_rat, ind).clone();
|
||||
var _p = path.getPointRatio(_rat, ind);
|
||||
|
||||
_p.x = anc[0] + (_p.x - anc[0]) * sca[0];
|
||||
_p.y = anc[1] + (_p.y - anc[1]) * sca[1];
|
||||
|
@ -94,7 +120,6 @@ function Node_Path_Transform(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
|||
out.y = _pp[1] + pos[1];
|
||||
|
||||
cached_pos[? _cKey] = out.clone();
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,8 +47,8 @@ function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
|
||||
wig_map = noone;
|
||||
amp_curve = noone;
|
||||
p0 = new __vec2();
|
||||
p = new __vec2();
|
||||
p0 = new __vec2();
|
||||
p1 = new __vec2();
|
||||
|
||||
cached_pos = ds_map_create();
|
||||
|
@ -58,9 +58,7 @@ function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
if(_path && struct_has(_path, "drawOverlay")) _path.drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny);
|
||||
|
||||
draw_set_color(COLORS._main_icon);
|
||||
|
||||
var _amo = getLineCount();
|
||||
|
||||
for( var i = 0; i < _amo; i++ ) {
|
||||
var _len = getLength(i);
|
||||
var _stp = 1 / clamp(_len * _s, 1, 64);
|
||||
|
@ -72,7 +70,7 @@ function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
nx = _x + p.x * _s;
|
||||
ny = _y + p.y * _s;
|
||||
|
||||
if(j > 0) draw_line_width(ox, oy, nx, ny, 3);
|
||||
if(j > 0) draw_line_width(ox, oy, nx, ny, 1);
|
||||
|
||||
ox = nx;
|
||||
oy = ny;
|
||||
|
@ -116,7 +114,7 @@ function Node_Path_Wave(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
static getPointRatio = function(_rat, ind = 0, out = undefined) {
|
||||
if(out == undefined) out = new __vec2(); else { out.x = 0; out.y = 0; }
|
||||
|
||||
var _cKey = $"{_rat},{ind}";
|
||||
var _cKey = $"{string_format(_rat, 0, 6)},{ind}";
|
||||
if(ds_map_exists(cached_pos, _cKey)) {
|
||||
var _p = cached_pos[? _cKey];
|
||||
out.x = _p.x;
|
||||
|
|
|
@ -393,16 +393,18 @@ function Panel_Collection() : PanelContent() constructor {
|
|||
if(sprite_exists(_node.spr)) {
|
||||
var sw = sprite_get_width(_node.spr);
|
||||
var sh = sprite_get_height(_node.spr);
|
||||
var ss = (grid_size - ui(10)) * PREFERENCES.collection_scale / max(sw, sh);
|
||||
var ss = (grid_size - ui(12)) * PREFERENCES.collection_scale / max(sw, sh);
|
||||
|
||||
var xo = (sprite_get_xoffset(_node.spr) - sw / 2) * ss;
|
||||
var yo = (sprite_get_yoffset(_node.spr) - sh / 2) * ss;
|
||||
var sx = _boxx + grid_size / 2 + xo;
|
||||
var sy = yy + grid_size / 2 + yo;
|
||||
|
||||
gpu_set_texfilter(true);
|
||||
BLEND_ALPHA_MULP
|
||||
draw_sprite_ext(_node.spr, frame, sx, sy, ss, ss, 0, c_white, 1);
|
||||
BLEND_NORMAL
|
||||
gpu_set_texfilter(false);
|
||||
} else
|
||||
draw_sprite_ui_uniform(THEME.group, 0, _boxx + grid_size / 2, yy + grid_size / 2, 1, c_white);
|
||||
|
||||
|
@ -562,7 +564,7 @@ function Panel_Collection() : PanelContent() constructor {
|
|||
nodeListPane.hover_content = true;
|
||||
|
||||
var ww = nodeListPane.surface_w;
|
||||
var _hg = ui(28);
|
||||
var _hg = line_get_height(f_p1, 4);
|
||||
var _hov = pHOVER && nodeListPane.hover;
|
||||
var _foc = pFOCUS;
|
||||
|
||||
|
@ -583,7 +585,7 @@ function Panel_Collection() : PanelContent() constructor {
|
|||
nodeListPane_page = i;
|
||||
}
|
||||
|
||||
draw_set_text(f_p0, fa_left, fa_center, nodeListPane_page == i? COLORS._main_text_accent : COLORS._main_text_inner);
|
||||
draw_set_text(f_p1, fa_left, fa_center, nodeListPane_page == i? COLORS._main_text_accent : COLORS._main_text_inner);
|
||||
draw_text_add(ui(24), _y + _hg / 2, _nam);
|
||||
|
||||
_y += _hg;
|
||||
|
@ -667,13 +669,15 @@ function Panel_Collection() : PanelContent() constructor {
|
|||
}
|
||||
}
|
||||
|
||||
var ss = grid_size / (max(sprite_get_width(_node.spr), sprite_get_height(_node.spr)) + 16);
|
||||
var ss = (grid_size - ui(16)) / max(sprite_get_width(_node.spr), sprite_get_height(_node.spr));
|
||||
var sx = _boxx + grid_size / 2;
|
||||
var sy = yy + grid_size / 2;
|
||||
|
||||
gpu_set_texfilter(true);
|
||||
BLEND_ALPHA_MULP
|
||||
draw_sprite_ext(_node.spr, 0, sx, sy, ss, ss, 0, c_white, 1);
|
||||
BLEND_NORMAL
|
||||
gpu_set_texfilter(false);
|
||||
|
||||
var fav = struct_exists(global.FAV_NODES, _node.node);
|
||||
if(fav) draw_sprite_ui_uniform(THEME.star, 0, _boxx + grid_size - ui(8), yy + grid_size - ui(8), 0.7, COLORS._main_accent, 1.);
|
||||
|
|
|
@ -40,6 +40,9 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor {
|
|||
|
||||
label = "";
|
||||
labelColor = COLORS._main_text_sub;
|
||||
labelSpr = noone;
|
||||
labelSprIndex = 0;
|
||||
labelAlign = fa_left;
|
||||
highlight_color = -1;
|
||||
highlight_alpha = 1;
|
||||
|
||||
|
@ -574,6 +577,10 @@ function textBox(_input, _onModify) : textInput(_input, _onModify) constructor {
|
|||
draw_set_alpha(0.5);
|
||||
draw_text_add(_x + padding, _y + _h / 2, label);
|
||||
draw_set_alpha(1);
|
||||
|
||||
} else if(labelSpr != noone) {
|
||||
var _ix = labelAlign == fa_left? _x + _h / 2 : _x + _w - _h / 2;
|
||||
draw_sprite_ext(labelSpr, labelSprIndex, _ix, _y + _h / 2, 1, 1, 0, labelColor, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,118 @@
|
|||
#define PI 3.14159265359
|
||||
|
||||
#ifdef _YY_HLSL11_
|
||||
#define CURVE_MAX 1024
|
||||
#else
|
||||
#define CURVE_MAX 512
|
||||
#endif
|
||||
|
||||
varying vec2 v_vTexcoord;
|
||||
varying vec4 v_vColour;
|
||||
|
||||
uniform vec2 dimension;
|
||||
uniform int subdivision;
|
||||
uniform int clip;
|
||||
uniform int matchIndex;
|
||||
|
||||
uniform float w_curve[CURVE_MAX];
|
||||
uniform int w_amount;
|
||||
|
||||
uniform vec2 point1[1024];
|
||||
uniform vec2 point2[1024];
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
float eval_curve_segment_t(in float _y0, in float ax0, in float ay0, in float bx1, in float by1, in float _y1, in float prog) {
|
||||
return _y0 * pow(1. - prog, 3.) +
|
||||
ay0 * 3. * pow(1. - prog, 2.) * prog +
|
||||
by1 * 3. * (1. - prog) * pow(prog, 2.) +
|
||||
_y1 * pow(prog, 3.);
|
||||
}
|
||||
|
||||
float eval_curve_segment_x(in float _y0, in float ax0, in float ay0, in float bx1, in float by1, in float _y1, in float _x) {
|
||||
float st = 0.;
|
||||
float ed = 1.;
|
||||
float _prec = 0.0001;
|
||||
|
||||
float _xt = _x;
|
||||
int _binRep = 8;
|
||||
|
||||
if(_x <= 0.) return _y0;
|
||||
if(_x >= 1.) return _y1;
|
||||
if(_y0 == ay0 && _y0 == by1 && _y0 == _y1) return _y0;
|
||||
|
||||
for(int i = 0; i < _binRep; i++) {
|
||||
float _ftx = 3. * pow(1. - _xt, 2.) * _xt * ax0
|
||||
+ 3. * (1. - _xt) * pow(_xt, 2.) * bx1
|
||||
+ pow(_xt, 3.);
|
||||
|
||||
if(abs(_ftx - _x) < _prec)
|
||||
return eval_curve_segment_t(_y0, ax0, ay0, bx1, by1, _y1, _xt);
|
||||
|
||||
if(_xt < _x) st = _xt;
|
||||
else ed = _xt;
|
||||
|
||||
_xt = (st + ed) / 2.;
|
||||
}
|
||||
|
||||
int _newRep = 16;
|
||||
|
||||
for(int i = 0; i < _newRep; i++) {
|
||||
float slope = ( 9. * ax0 - 9. * bx1 + 3.) * _xt * _xt
|
||||
+ (-12. * ax0 + 6. * bx1) * _xt
|
||||
+ 3. * ax0;
|
||||
float _ftx = 3. * pow(1. - _xt, 2.) * _xt * ax0
|
||||
+ 3. * (1. - _xt) * pow(_xt, 2.) * bx1
|
||||
+ pow(_xt, 3.)
|
||||
- _x;
|
||||
|
||||
_xt -= _ftx / slope;
|
||||
|
||||
if(abs(_ftx) < _prec)
|
||||
break;
|
||||
}
|
||||
|
||||
_xt = clamp(_xt, 0., 1.);
|
||||
return eval_curve_segment_t(_y0, ax0, ay0, bx1, by1, _y1, _xt);
|
||||
}
|
||||
|
||||
float curveEval(in float[CURVE_MAX] curve, in int amo, in float _x) {
|
||||
|
||||
int _shf = amo - int(floor(float(amo) / 6.) * 6.);
|
||||
int _segs = (amo - _shf) / 6 - 1;
|
||||
float _shift = _shf > 0? curve[0] : 0.;
|
||||
float _scale = _shf > 1? curve[1] : 1.;
|
||||
|
||||
_x = _x / _scale - _shift;
|
||||
_x = clamp(_x, 0., 1.);
|
||||
|
||||
for( int i = 0; i < _segs; i++ ) {
|
||||
int ind = _shf + i * 6;
|
||||
float _x0 = curve[ind + 2];
|
||||
float _y0 = curve[ind + 3];
|
||||
//float bx0 = _x0 + curve[ind + 0];
|
||||
//float by0 = _y0 + curve[ind + 1];
|
||||
float ax0 = _x0 + curve[ind + 4];
|
||||
float ay0 = _y0 + curve[ind + 5];
|
||||
|
||||
float _x1 = curve[ind + 6 + 2];
|
||||
float _y1 = curve[ind + 6 + 3];
|
||||
float bx1 = _x1 + curve[ind + 6 + 0];
|
||||
float by1 = _y1 + curve[ind + 6 + 1];
|
||||
//float ax1 = _x1 + curve[ind + 6 + 4];
|
||||
//float ay1 = _y1 + curve[ind + 6 + 5];
|
||||
|
||||
if(_x < _x0) continue;
|
||||
if(_x > _x1) continue;
|
||||
|
||||
return eval_curve_segment_x(_y0, ax0, ay0, bx1, by1, _y1, (_x - _x0) / (_x1 - _x0));
|
||||
}
|
||||
|
||||
return curve[0];
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
vec2 pointToLine(in vec2 p, in vec2 l0, in vec2 l1) {
|
||||
float l2 = pow(l0.x - l1.x, 2.) + pow(l0.y - l1.y, 2.);
|
||||
if (l2 == 0.) return l0;
|
||||
|
@ -26,32 +131,60 @@ float pointOnLine(in vec2 p, in vec2 l0, in vec2 l1) {
|
|||
return t;
|
||||
}
|
||||
|
||||
float tsign (in vec2 p1, in vec2 p2, in vec2 p3) { return (p1.x - p3.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p3.y); }
|
||||
|
||||
bool pointInTriangle(in vec2 p, in vec2 t0, in vec2 t1, in vec2 t2) {
|
||||
float d1 = tsign(p, t0, t1);
|
||||
float d2 = tsign(p, t1, t2);
|
||||
float d3 = tsign(p, t2, t0);
|
||||
|
||||
bool has_neg = (d1 < 0.) || (d2 < 0.) || (d3 < 0.);
|
||||
bool has_pos = (d1 > 0.) || (d2 > 0.) || (d3 > 0.);
|
||||
|
||||
return !(has_neg && has_pos);
|
||||
}
|
||||
|
||||
bool intersect(in vec2 p, in vec2 l0, in vec2 l1) {
|
||||
float s0 = sign(p.y - l0.y);
|
||||
float s1 = sign(l1.y - p.y);
|
||||
bool ins = s0 == s1;
|
||||
return ins;
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec2 px = v_vTexcoord * dimension;
|
||||
|
||||
float dF = dimension.x + dimension.y;
|
||||
vec2 pF = point1[0];
|
||||
vec2 pF0 = point1[0];
|
||||
vec2 pF1 = vec2(0.);
|
||||
vec2 pF0 = point1[0], pF1;
|
||||
|
||||
float dT = dimension.x + dimension.y;
|
||||
vec2 pT = point2[0];
|
||||
vec2 pT0 = point2[0];
|
||||
vec2 pT1 = vec2(0.);
|
||||
vec2 pT0 = point2[0], pT1;
|
||||
|
||||
bool inFrom = false;
|
||||
bool inTo = false;
|
||||
float a = 0.;
|
||||
|
||||
if(matchIndex == 0) {
|
||||
for(int i = 1; i < subdivision; i++) {
|
||||
pF1 = point1[i];
|
||||
pT1 = point2[i];
|
||||
|
||||
vec2 f = pointToLine(px, pF0, pF1);
|
||||
vec2 t = pointToLine(px, pT0, pT1);
|
||||
|
||||
if(intersect(px, pF0, pF1) && f.x >= px.x) inFrom = !inFrom;
|
||||
if(intersect(px, pT0, pT1) && t.x >= px.x) inTo = !inTo;
|
||||
|
||||
float _f = distance(px, f);
|
||||
float _t = distance(px, t);
|
||||
|
||||
if(_f <= dF) {
|
||||
dF = _f;
|
||||
pF = f;
|
||||
}
|
||||
|
||||
vec2 t = pointToLine(px, pT0, pT1);
|
||||
float _t = distance(px, t);
|
||||
if(_t <= dT) {
|
||||
dT = _t;
|
||||
pT = t;
|
||||
|
@ -61,10 +194,47 @@ void main() {
|
|||
pT0 = pT1;
|
||||
}
|
||||
|
||||
float a = dF / (dF + dT);
|
||||
// float l = pointOnLine(px, pF, pT);
|
||||
// if(l < 0.) a = 0.;
|
||||
// else if(l > 1.) a = 1.;
|
||||
a = dF / (dF + dT);
|
||||
|
||||
} else {
|
||||
float ma = 99999.;
|
||||
float index = 0.;
|
||||
bool infr = false;
|
||||
a = 0.;
|
||||
|
||||
for(int i = 1; i < subdivision; i++) {
|
||||
pF1 = point1[i];
|
||||
pT1 = point2[i];
|
||||
|
||||
vec2 f = pointToLine(px, pF0, pF1);
|
||||
vec2 t = pointToLine(px, pT0, pT1);
|
||||
|
||||
if(intersect(px, pF0, pF1) && f.x >= px.x) inFrom = !inFrom;
|
||||
if(intersect(px, pT0, pT1) && t.x >= px.x) inTo = !inTo;
|
||||
|
||||
bool inRegion = pointInTriangle(px, pF0, pF1, pT0) || pointInTriangle(px, pF1, pT0, pT1);
|
||||
|
||||
pF0 = pF1;
|
||||
pT0 = pT1;
|
||||
|
||||
if(!inRegion) continue;
|
||||
|
||||
float _f = distance(px, f);
|
||||
float _t = distance(px, t);
|
||||
|
||||
a = max(a, _f / (_f + _t));
|
||||
|
||||
infr = true;
|
||||
}
|
||||
|
||||
if(infr) inFrom = true;
|
||||
}
|
||||
|
||||
if(clip == 1) {
|
||||
if( inTo) a = 1.;
|
||||
else if(!inFrom) a = 0.;
|
||||
}
|
||||
a = curveEval(w_curve, w_amount, a);
|
||||
|
||||
gl_FragColor = vec4(vec3(a), 1.);
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 596 B |
After Width: | Height: | Size: 581 B |
After Width: | Height: | Size: 595 B |
Before Width: | Height: | Size: 865 B |
After Width: | Height: | Size: 592 B |
After Width: | Height: | Size: 596 B |
After Width: | Height: | Size: 581 B |
After Width: | Height: | Size: 595 B |
Before Width: | Height: | Size: 865 B |
After Width: | Height: | Size: 592 B |
|
@ -2,24 +2,27 @@
|
|||
"$GMSprite":"",
|
||||
"%Name":"s_inspector_corner",
|
||||
"bboxMode":0,
|
||||
"bbox_bottom":92,
|
||||
"bbox_left":3,
|
||||
"bbox_right":92,
|
||||
"bbox_top":3,
|
||||
"bbox_bottom":15,
|
||||
"bbox_left":0,
|
||||
"bbox_right":15,
|
||||
"bbox_top":0,
|
||||
"collisionKind":1,
|
||||
"collisionTolerance":0,
|
||||
"DynamicTexturePage":false,
|
||||
"edgeFiltering":false,
|
||||
"For3D":false,
|
||||
"frames":[
|
||||
{"$GMSpriteFrame":"","%Name":"7d6f3c9b-816b-473c-9609-7afe7c287375","name":"7d6f3c9b-816b-473c-9609-7afe7c287375","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
{"$GMSpriteFrame":"","%Name":"e83b87fa-8548-47d9-9730-795354c9cfab","name":"e83b87fa-8548-47d9-9730-795354c9cfab","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
{"$GMSpriteFrame":"","%Name":"489b53d7-5462-40c6-ae0b-a79548a50391","name":"489b53d7-5462-40c6-ae0b-a79548a50391","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
{"$GMSpriteFrame":"","%Name":"1a3b04c9-2e80-4197-ad8a-fb08eecac59b","name":"1a3b04c9-2e80-4197-ad8a-fb08eecac59b","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
{"$GMSpriteFrame":"","%Name":"138da7d0-5a9b-40c2-a77a-5225382e6964","name":"138da7d0-5a9b-40c2-a77a-5225382e6964","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
|
||||
],
|
||||
"gridX":0,
|
||||
"gridY":0,
|
||||
"height":96,
|
||||
"height":16,
|
||||
"HTile":false,
|
||||
"layers":[
|
||||
{"$GMImageLayer":"","%Name":"c0fbcaac-9a99-4788-bf26-4e7d3abe43a7","blendMode":0,"displayName":"default","isLocked":false,"name":"c0fbcaac-9a99-4788-bf26-4e7d3abe43a7","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||
{"$GMImageLayer":"","%Name":"f4daaca1-3dcd-4fc2-9fae-5dcbab5b23cd","blendMode":0,"displayName":"default","isLocked":false,"name":"f4daaca1-3dcd-4fc2-9fae-5dcbab5b23cd","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,},
|
||||
],
|
||||
"name":"s_inspector_corner",
|
||||
"nineSlice":null,
|
||||
|
@ -49,7 +52,7 @@
|
|||
},
|
||||
"eventStubScript":null,
|
||||
"eventToFunction":{},
|
||||
"length":1.0,
|
||||
"length":4.0,
|
||||
"lockOrigin":false,
|
||||
"moments":{
|
||||
"$KeyframeStore<MomentsEventKeyframe>":"",
|
||||
|
@ -69,14 +72,23 @@
|
|||
"tracks":[
|
||||
{"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore<SpriteFrameKeyframe>":"","Keyframes":[
|
||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"7d6f3c9b-816b-473c-9609-7afe7c287375","path":"sprites/s_inspector_corner/s_inspector_corner.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"941a0f5d-b28e-4048-91da-114760d8380f","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"e83b87fa-8548-47d9-9730-795354c9cfab","path":"sprites/s_inspector_corner/s_inspector_corner.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"711e0c69-a7f6-4904-98f0-7e8f49e55088","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"489b53d7-5462-40c6-ae0b-a79548a50391","path":"sprites/s_inspector_corner/s_inspector_corner.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"0d575809-e630-40b8-8a85-0528e99c7c3e","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"1a3b04c9-2e80-4197-ad8a-fb08eecac59b","path":"sprites/s_inspector_corner/s_inspector_corner.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"03a68097-6315-4121-82ed-231fa6c71547","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||
{"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
|
||||
"0":{"$SpriteFrameKeyframe":"","Id":{"name":"138da7d0-5a9b-40c2-a77a-5225382e6964","path":"sprites/s_inspector_corner/s_inspector_corner.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
|
||||
},"Disabled":false,"id":"80bb90fa-5b1c-4d10-b92f-4f809d15c50b","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
|
||||
],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
|
||||
],
|
||||
"visibleRange":null,
|
||||
"volume":1.0,
|
||||
"xorigin":48,
|
||||
"yorigin":48,
|
||||
"xorigin":8,
|
||||
"yorigin":8,
|
||||
},
|
||||
"swatchColours":null,
|
||||
"swfPrecision":0.5,
|
||||
|
@ -86,5 +98,5 @@
|
|||
},
|
||||
"type":0,
|
||||
"VTile":false,
|
||||
"width":96,
|
||||
"width":16,
|
||||
}
|