From 72841cafe4fe5c4fc399cb2f99a59c3f6ddb7446 Mon Sep 17 00:00:00 2001 From: Tanasart Date: Mon, 17 Feb 2025 15:48:38 +0700 Subject: [PATCH] text manip --- PixelComposer.resource_order | 31 ++-- PixelComposer.yyp | 14 ++ datafiles/data/Nodes/Internal.zip | Bin 9102735 -> 9104385 bytes .../String/Node_String_Change_Case/info.json | 8 + .../Values/String/Node_String_Count/info.json | 8 + .../String/Node_String_Delete/info.json | 8 + .../String/Node_String_Format/info.json | 8 + .../String/Node_String_Insert/info.json | 8 + .../String/Node_String_Regex_Match/info.json | 8 +- .../Node_String_Regex_Replace/info.json | 6 +- .../String/Node_String_Regex_Search/info.json | 6 +- datafiles/data/Nodes/display_data.json | 4 + scripts/node_data/node_data.gml | 8 +- .../node_rigid_object/node_rigid_object.gml | 10 +- .../node_rigid_object_spawner.gml | 15 +- .../node_string_change_case.gml | 29 ++++ .../node_string_change_case.yy | 14 ++ .../node_string_count/node_string_count.gml | 22 +++ .../node_string_count/node_string_count.yy | 14 ++ .../node_string_delete/node_string_delete.gml | 23 +++ .../node_string_delete/node_string_delete.yy | 14 ++ .../node_string_format/node_string_format.gml | 141 ++++++++++++++++++ .../node_string_format/node_string_format.yy | 14 ++ .../node_string_insert/node_string_insert.gml | 23 +++ .../node_string_insert/node_string_insert.yy | 14 ++ .../f6c2ee97-12ee-4371-a765-669275f0df88.png | Bin 0 -> 2707 bytes .../8523380b-d87f-4054-ba6f-8a161d35456b.png | Bin 0 -> 2707 bytes .../s_node_string_count.yy | 90 +++++++++++ .../03f83f41-ebc8-4cdf-b2e0-a12dfb781abe.png | Bin 0 -> 1302 bytes .../3d4c5f4a-3d41-4539-90cd-5ecfb3a4ee71.png | Bin 0 -> 1302 bytes .../s_node_string_delete.yy | 90 +++++++++++ .../09175abf-bf2a-4bb6-8ad7-f99262b0e804.png | Bin 0 -> 2104 bytes .../0415d089-01f0-43e4-b536-a9ddad91c90f.png | Bin 0 -> 2104 bytes .../s_node_string_format.yy | 90 +++++++++++ .../26fe31e1-5e43-44ea-ba82-450db9d91039.png | Bin 0 -> 1380 bytes .../a88a30a1-50d3-4996-abfe-29342e338edc.png | Bin 0 -> 1380 bytes .../s_node_string_insert.yy | 90 +++++++++++ 37 files changed, 783 insertions(+), 27 deletions(-) create mode 100644 datafiles/data/Nodes/Internal/Values/String/Node_String_Change_Case/info.json create mode 100644 datafiles/data/Nodes/Internal/Values/String/Node_String_Count/info.json create mode 100644 datafiles/data/Nodes/Internal/Values/String/Node_String_Delete/info.json create mode 100644 datafiles/data/Nodes/Internal/Values/String/Node_String_Format/info.json create mode 100644 datafiles/data/Nodes/Internal/Values/String/Node_String_Insert/info.json create mode 100644 scripts/node_string_change_case/node_string_change_case.gml create mode 100644 scripts/node_string_change_case/node_string_change_case.yy create mode 100644 scripts/node_string_count/node_string_count.gml create mode 100644 scripts/node_string_count/node_string_count.yy create mode 100644 scripts/node_string_delete/node_string_delete.gml create mode 100644 scripts/node_string_delete/node_string_delete.yy create mode 100644 scripts/node_string_format/node_string_format.gml create mode 100644 scripts/node_string_format/node_string_format.yy create mode 100644 scripts/node_string_insert/node_string_insert.gml create mode 100644 scripts/node_string_insert/node_string_insert.yy create mode 100644 sprites/s_node_string_count/f6c2ee97-12ee-4371-a765-669275f0df88.png create mode 100644 sprites/s_node_string_count/layers/f6c2ee97-12ee-4371-a765-669275f0df88/8523380b-d87f-4054-ba6f-8a161d35456b.png create mode 100644 sprites/s_node_string_count/s_node_string_count.yy create mode 100644 sprites/s_node_string_delete/03f83f41-ebc8-4cdf-b2e0-a12dfb781abe.png create mode 100644 sprites/s_node_string_delete/layers/03f83f41-ebc8-4cdf-b2e0-a12dfb781abe/3d4c5f4a-3d41-4539-90cd-5ecfb3a4ee71.png create mode 100644 sprites/s_node_string_delete/s_node_string_delete.yy create mode 100644 sprites/s_node_string_format/09175abf-bf2a-4bb6-8ad7-f99262b0e804.png create mode 100644 sprites/s_node_string_format/layers/09175abf-bf2a-4bb6-8ad7-f99262b0e804/0415d089-01f0-43e4-b536-a9ddad91c90f.png create mode 100644 sprites/s_node_string_format/s_node_string_format.yy create mode 100644 sprites/s_node_string_insert/26fe31e1-5e43-44ea-ba82-450db9d91039.png create mode 100644 sprites/s_node_string_insert/layers/26fe31e1-5e43-44ea-ba82-450db9d91039/a88a30a1-50d3-4996-abfe-29342e338edc.png create mode 100644 sprites/s_node_string_insert/s_node_string_insert.yy diff --git a/PixelComposer.resource_order b/PixelComposer.resource_order index 1a2352bb8..f3c5fc74f 100644 --- a/PixelComposer.resource_order +++ b/PixelComposer.resource_order @@ -881,7 +881,7 @@ {"name":"node_fn_wave_table","order":1,"path":"scripts/node_fn_wave_table/node_fn_wave_table.yy",}, {"name":"node_fn","order":2,"path":"scripts/node_fn/node_fn.yy",}, {"name":"node_fold_noise","order":32,"path":"scripts/node_fold_noise/node_fold_noise.yy",}, - {"name":"node_font_bitmap","order":13,"path":"scripts/node_font_bitmap/node_font_bitmap.yy",}, + {"name":"node_font_bitmap","order":18,"path":"scripts/node_font_bitmap/node_font_bitmap.yy",}, {"name":"node_frame","order":5,"path":"scripts/node_frame/node_frame.yy",}, {"name":"node_functions","order":8,"path":"scripts/node_functions/node_functions.yy",}, {"name":"node_FXAA","order":25,"path":"scripts/node_FXAA/node_FXAA.yy",}, @@ -1041,7 +1041,7 @@ {"name":"node_path_sample","order":9,"path":"scripts/node_path_sample/node_path_sample.yy",}, {"name":"node_path_scatter","order":27,"path":"scripts/node_path_scatter/node_path_scatter.yy",}, {"name":"node_path_sdf","order":29,"path":"scripts/node_path_sdf/node_path_sdf.yy",}, - {"name":"node_path_separate_folder","order":12,"path":"scripts/node_path_separate_folder/node_path_separate_folder.yy",}, + {"name":"node_path_separate_folder","order":17,"path":"scripts/node_path_separate_folder/node_path_separate_folder.yy",}, {"name":"node_path_shape_3d","order":4,"path":"scripts/node_path_shape_3d/node_path_shape_3d.yy",}, {"name":"node_path_shape","order":3,"path":"scripts/node_path_shape/node_path_shape.yy",}, {"name":"node_path_shift","order":10,"path":"scripts/node_path_shift/node_path_shift.yy",}, @@ -1183,15 +1183,21 @@ {"name":"node_strand_render_texture","order":7,"path":"scripts/node_strand_render_texture/node_strand_render_texture.yy",}, {"name":"node_strand_render","order":5,"path":"scripts/node_strand_render/node_strand_render.yy",}, {"name":"node_strand_update","order":3,"path":"scripts/node_strand_update/node_strand_update.yy",}, - {"name":"node_string_get_char","order":5,"path":"scripts/node_string_get_char/node_string_get_char.yy",}, + {"name":"node_string_change_case","order":12,"path":"scripts/node_string_change_case/node_string_change_case.yy",}, + {"name":"node_string_count","order":9,"path":"scripts/node_string_count/node_string_count.yy",}, + {"name":"node_string_delete","order":10,"path":"scripts/node_string_delete/node_string_delete.yy",}, + {"name":"node_string_format","order":8,"path":"scripts/node_string_format/node_string_format.yy",}, + {"name":"node_string_get_char","order":4,"path":"scripts/node_string_get_char/node_string_get_char.yy",}, + {"name":"node_string_insert","order":11,"path":"scripts/node_string_insert/node_string_insert.yy",}, + {"name":"node_string_join","order":5,"path":"scripts/node_string_join/node_string_join.yy",}, {"name":"node_string_length","order":7,"path":"scripts/node_string_length/node_string_length.yy",}, {"name":"node_string_merge","order":6,"path":"scripts/node_string_merge/node_string_merge.yy",}, - {"name":"node_string_regex_match","order":10,"path":"scripts/node_string_regex_match/node_string_regex_match.yy",}, - {"name":"node_string_regex_replace","order":9,"path":"scripts/node_string_regex_replace/node_string_regex_replace.yy",}, - {"name":"node_string_regex_search","order":8,"path":"scripts/node_string_regex_search/node_string_regex_search.yy",}, - {"name":"node_string_split","order":3,"path":"scripts/node_string_split/node_string_split.yy",}, - {"name":"node_string_trim","order":4,"path":"scripts/node_string_trim/node_string_trim.yy",}, - {"name":"node_string","order":2,"path":"scripts/node_string/node_string.yy",}, + {"name":"node_string_regex_match","order":15,"path":"scripts/node_string_regex_match/node_string_regex_match.yy",}, + {"name":"node_string_regex_replace","order":14,"path":"scripts/node_string_regex_replace/node_string_regex_replace.yy",}, + {"name":"node_string_regex_search","order":13,"path":"scripts/node_string_regex_search/node_string_regex_search.yy",}, + {"name":"node_string_split","order":2,"path":"scripts/node_string_split/node_string_split.yy",}, + {"name":"node_string_trim","order":3,"path":"scripts/node_string_trim/node_string_trim.yy",}, + {"name":"node_string","order":1,"path":"scripts/node_string/node_string.yy",}, {"name":"node_stripe","order":8,"path":"scripts/node_stripe/node_stripe.yy",}, {"name":"node_struct_get","order":1,"path":"scripts/node_struct_get/node_struct_get.yy",}, {"name":"node_struct_json_parse","order":2,"path":"scripts/node_struct_json_parse/node_struct_json_parse.yy",}, @@ -1220,7 +1226,7 @@ {"name":"node_time_remap","order":6,"path":"scripts/node_time_remap/node_time_remap.yy",}, {"name":"node_timeline_preview","order":1,"path":"scripts/node_timeline_preview/node_timeline_preview.yy",}, {"name":"node_to_number","order":14,"path":"scripts/node_to_number/node_to_number.yy",}, - {"name":"node_to_text","order":11,"path":"scripts/node_to_text/node_to_text.yy",}, + {"name":"node_to_text","order":16,"path":"scripts/node_to_text/node_to_text.yy",}, {"name":"node_tonemap_ace","order":34,"path":"scripts/node_tonemap_ace/node_tonemap_ace.yy",}, {"name":"node_tool","order":12,"path":"scripts/node_tool/node_tool.yy",}, {"name":"node_trail","order":30,"path":"scripts/node_trail/node_trail.yy",}, @@ -1229,7 +1235,6 @@ {"name":"node_trigger_bool","order":1,"path":"scripts/node_trigger_bool/node_trigger_bool.yy",}, {"name":"node_tunnel_out","order":1,"path":"scripts/node_tunnel_out/node_tunnel_out.yy",}, {"name":"node_twirl","order":8,"path":"scripts/node_twirl/node_twirl.yy",}, - {"name":"node_unicode","order":1,"path":"scripts/node_unicode/node_unicode.yy",}, {"name":"node_value_area","order":11,"path":"scripts/node_value_area/node_value_area.yy",}, {"name":"node_value_atlas","order":7,"path":"scripts/node_value_atlas/node_value_atlas.yy",}, {"name":"node_value_audioBit","order":1,"path":"scripts/node_value_audioBit/node_value_audioBit.yy",}, @@ -2408,7 +2413,11 @@ {"name":"s_node_strand_render_texture","order":5,"path":"sprites/s_node_strand_render_texture/s_node_strand_render_texture.yy",}, {"name":"s_node_strand_update","order":1,"path":"sprites/s_node_strand_update/s_node_strand_update.yy",}, {"name":"s_node_strand","order":3,"path":"sprites/s_node_strand/s_node_strand.yy",}, + {"name":"s_node_string_count","order":18,"path":"sprites/s_node_string_count/s_node_string_count.yy",}, + {"name":"s_node_string_delete","order":16,"path":"sprites/s_node_string_delete/s_node_string_delete.yy",}, + {"name":"s_node_string_format","order":19,"path":"sprites/s_node_string_format/s_node_string_format.yy",}, {"name":"s_node_string_get_char","order":2,"path":"sprites/s_node_string_get_char/s_node_string_get_char.yy",}, + {"name":"s_node_string_insert","order":17,"path":"sprites/s_node_string_insert/s_node_string_insert.yy",}, {"name":"s_node_string_join","order":5,"path":"sprites/s_node_string_join/s_node_string_join.yy",}, {"name":"s_node_string_length","order":9,"path":"sprites/s_node_string_length/s_node_string_length.yy",}, {"name":"s_node_string_merge","order":3,"path":"sprites/s_node_string_merge/s_node_string_merge.yy",}, diff --git a/PixelComposer.yyp b/PixelComposer.yyp index 5b883ef83..53ae7b4e1 100644 --- a/PixelComposer.yyp +++ b/PixelComposer.yyp @@ -1197,7 +1197,12 @@ {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Path","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/Path/Node_Segment_Filter","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_Font_Bitmap","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Change_Case","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Count","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Delete","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Format","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Get_Char","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, + {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Insert","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Join","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Length","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"info.json","CopyToMask":-1,"filePath":"datafiles/data/Nodes/Internal/Values/String/Node_String_Merge","name":"info.json","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, @@ -2404,7 +2409,12 @@ {"id":{"name":"node_strand_render_texture","path":"scripts/node_strand_render_texture/node_strand_render_texture.yy",},}, {"id":{"name":"node_strand_render","path":"scripts/node_strand_render/node_strand_render.yy",},}, {"id":{"name":"node_strand_update","path":"scripts/node_strand_update/node_strand_update.yy",},}, + {"id":{"name":"node_string_change_case","path":"scripts/node_string_change_case/node_string_change_case.yy",},}, + {"id":{"name":"node_string_count","path":"scripts/node_string_count/node_string_count.yy",},}, + {"id":{"name":"node_string_delete","path":"scripts/node_string_delete/node_string_delete.yy",},}, + {"id":{"name":"node_string_format","path":"scripts/node_string_format/node_string_format.yy",},}, {"id":{"name":"node_string_get_char","path":"scripts/node_string_get_char/node_string_get_char.yy",},}, + {"id":{"name":"node_string_insert","path":"scripts/node_string_insert/node_string_insert.yy",},}, {"id":{"name":"node_string_join","path":"scripts/node_string_join/node_string_join.yy",},}, {"id":{"name":"node_string_length","path":"scripts/node_string_length/node_string_length.yy",},}, {"id":{"name":"node_string_merge","path":"scripts/node_string_merge/node_string_merge.yy",},}, @@ -3769,7 +3779,11 @@ {"id":{"name":"s_node_strand_render","path":"sprites/s_node_strand_render/s_node_strand_render.yy",},}, {"id":{"name":"s_node_strand_update","path":"sprites/s_node_strand_update/s_node_strand_update.yy",},}, {"id":{"name":"s_node_strand","path":"sprites/s_node_strand/s_node_strand.yy",},}, + {"id":{"name":"s_node_string_count","path":"sprites/s_node_string_count/s_node_string_count.yy",},}, + {"id":{"name":"s_node_string_delete","path":"sprites/s_node_string_delete/s_node_string_delete.yy",},}, + {"id":{"name":"s_node_string_format","path":"sprites/s_node_string_format/s_node_string_format.yy",},}, {"id":{"name":"s_node_string_get_char","path":"sprites/s_node_string_get_char/s_node_string_get_char.yy",},}, + {"id":{"name":"s_node_string_insert","path":"sprites/s_node_string_insert/s_node_string_insert.yy",},}, {"id":{"name":"s_node_string_join","path":"sprites/s_node_string_join/s_node_string_join.yy",},}, {"id":{"name":"s_node_string_length","path":"sprites/s_node_string_length/s_node_string_length.yy",},}, {"id":{"name":"s_node_string_merge","path":"sprites/s_node_string_merge/s_node_string_merge.yy",},}, diff --git a/datafiles/data/Nodes/Internal.zip b/datafiles/data/Nodes/Internal.zip index c233f50312e147fb90d92467363275faba98a8ef..dbd64f899fd3c9c907f1b187d010cfec530f9d82 100644 GIT binary patch delta 4834 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 diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Change_Case/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Change_Case/info.json new file mode 100644 index 000000000..d3efc8b15 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Change_Case/info.json @@ -0,0 +1,8 @@ +{ + "name":"Change Case", + "tooltip":"Change text to uppercase, lowercase, or titlecase.", + "spr":"s_node_string_insert", + "pxc_version":118090, + "baseNode":"Node_String_Change_Case", + "io":[ "text" ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Count/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Count/info.json new file mode 100644 index 000000000..3432368a9 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Count/info.json @@ -0,0 +1,8 @@ +{ + "name":"Count Text", + "tooltip":"Counts the number of times a subtext occurs in a text.", + "spr":"s_node_string_count", + "pxc_version":118090, + "baseNode":"Node_String_Count", + "io":[ "text" ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Delete/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Delete/info.json new file mode 100644 index 000000000..f2a3fc3d5 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Delete/info.json @@ -0,0 +1,8 @@ +{ + "name":"Delete Text", + "tooltip":"Delete parts of a text.", + "spr":"s_node_string_delete", + "pxc_version":118090, + "baseNode":"Node_String_Delete", + "io":[ "text" ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Format/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Format/info.json new file mode 100644 index 000000000..f8fb42d59 --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Format/info.json @@ -0,0 +1,8 @@ +{ + "name":"Format Text", + "tooltip":"Replace string with {var} format with a proper variable.", + "spr":"s_node_string_format", + "pxc_version":118090, + "baseNode":"Node_String_Format", + "io":[ "text" ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Insert/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Insert/info.json new file mode 100644 index 000000000..745c67ebe --- /dev/null +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Insert/info.json @@ -0,0 +1,8 @@ +{ + "name":"Insert Text", + "tooltip":"Insert subtext into another text.", + "spr":"s_node_string_insert", + "pxc_version":118090, + "baseNode":"Node_String_Insert", + "io":[ "text" ], +} \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Match/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Match/info.json index a3776584a..6f4920b56 100644 --- a/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Match/info.json +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Match/info.json @@ -1,10 +1,12 @@ { + "name":"RegEx Match", "tooltip":"Check whether regular expression pattern exist in a string.", "spr":"s_node_string_regex_match", "pxc_version":1140.0, "baseNode":"Node_String_Regex_Match", - "io":[ - "text" + "io":[ "text" ], + "alias": [ + "string match", + "text match", ], - "name":"RegEx Match" } \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Replace/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Replace/info.json index 77a6372a3..fc862e267 100644 --- a/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Replace/info.json +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Replace/info.json @@ -1,4 +1,5 @@ { + "name":"RegEx Replace", "tooltip":"Replace instances of a string with another using regular expression.", "spr":"s_node_string_regex_replace", "pxc_version":1140.0, @@ -6,5 +7,8 @@ "io":[ "text" ], - "name":"RegEx Replace" + "alias": [ + "string replace", + "text replace", + ], } \ No newline at end of file diff --git a/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Search/info.json b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Search/info.json index a82110a3a..38facacc3 100644 --- a/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Search/info.json +++ b/datafiles/data/Nodes/Internal/Values/String/Node_String_Regex_Search/info.json @@ -1,4 +1,5 @@ { + "name":"RegEx Search", "tooltip":"Search for instances in a string using regular expression.", "spr":"s_node_string_regex_search", "pxc_version":1140.0, @@ -6,5 +7,8 @@ "io":[ "text" ], - "name":"RegEx Search" + "alias": [ + "string search", + "text search", + ], } \ No newline at end of file diff --git a/datafiles/data/Nodes/display_data.json b/datafiles/data/Nodes/display_data.json index 27737e8ef..dce812d78 100644 --- a/datafiles/data/Nodes/display_data.json +++ b/datafiles/data/Nodes/display_data.json @@ -723,6 +723,10 @@ "Node_String_Join", "Node_String_Split", "Node_String_Trim", + "Node_String_Format", + "Node_String_Count", + "Node_String_Delete", + "Node_String_Change_Case", { "label": "/RegEx" }, "Node_String_Regex_Match", "Node_String_Regex_Search", diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index 11fc6614c..0debfe340 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -577,12 +577,12 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor { ////- INSPECTOR static onInspector1Update = noone; - static inspector1Update = function() { INLINE onInspector1Update(); } - static hasInspector1Update = function() { INLINE return onInspector1Update != noone; } + static inspector1Update = function() /*=>*/ { onInspector1Update(); } + static hasInspector1Update = function() /*=>*/ { return onInspector1Update != noone; } static onInspector2Update = noone; - static inspector2Update = function() { INLINE onInspector2Update(); } - static hasInspector2Update = function() { INLINE return onInspector2Update != noone; } + static inspector2Update = function() /*=>*/ { onInspector2Update(); } + static hasInspector2Update = function() /*=>*/ { return onInspector2Update != noone; } ////- STEP diff --git a/scripts/node_rigid_object/node_rigid_object.gml b/scripts/node_rigid_object/node_rigid_object.gml index 8142625b8..42e9848f2 100644 --- a/scripts/node_rigid_object/node_rigid_object.gml +++ b/scripts/node_rigid_object/node_rigid_object.gml @@ -432,7 +432,14 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr } var _shp = getInputData(5); - if(_shp != 2) return active; + var _tex = getInputData(6); + var _dim = surface_get_dimension(_tex); + + draw_set_color(COLORS._main_accent); + switch(_shp) { + case 0 : draw_rectangle(_x, _y, _x + _dim[0] * _s, _y + _dim[1] * _s, true); return active; + case 1 : draw_ellipse( _x, _y, _x + _dim[0] * _s, _y + _dim[1] * _s, true); return active; + } var meshes = attributes.mesh; var _hover = -1, _side = 0; @@ -714,7 +721,6 @@ function Node_Rigid_Object(_x, _y, _group = noone) : Node(_x, _y, _group) constr static update = function(frame = CURRENT_FRAME) { if(IS_FIRST_FRAME) reset(); - outputs[0].setValue(object); } diff --git a/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml b/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml index c0d1562f3..62adb571d 100644 --- a/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml +++ b/scripts/node_rigid_object_spawner/node_rigid_object_spawner.gml @@ -58,11 +58,6 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group return inputs[1].drawOverlay(hover, active, _x, _y, _s, _mx, _my, _snx, _sny); } - static reset = function() { - spawn_index = 0; - object = []; - } - static step = function() { var _typ = getInputData(2); @@ -97,6 +92,8 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group } static update = function(frame = CURRENT_FRAME) { + if(IS_FIRST_FRAME) reset(); + RETURN_ON_REST var _obj = getInputData(0); @@ -120,6 +117,14 @@ function Node_Rigid_Object_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group outputs[0].setValue(object); } + static reset = function() { + for( var i = 0, n = array_length(object); i < n; i++ ) + if(instance_exists(object[i])) instance_destroy(object[i]); + + spawn_index = 0; + object = []; + } + static getGraphPreviewSurface = function() /*=>*/ { var _in = array_safe_get(inputs, 0, noone); if(_in == noone) return noone; diff --git a/scripts/node_string_change_case/node_string_change_case.gml b/scripts/node_string_change_case/node_string_change_case.gml new file mode 100644 index 000000000..09f7654a9 --- /dev/null +++ b/scripts/node_string_change_case/node_string_change_case.gml @@ -0,0 +1,29 @@ +function Node_String_Change_Case(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Change Case"; + setDimension(96, 48); + + newInput(0, nodeValue_Text("Text", self, "")) + .setVisible(true, true); + + newInput(1, nodeValue_Enum_Scroll("Target", self, 0, [ "Lowercase", "Uppercase", "Titlecase" ])) + + newOutput(0, nodeValue_Output("Text", self, VALUE_TYPE.text, "")); + + static processData = function(_output, _data, _index = 0) { + switch(_data[1]) { + case 0 : return string_lower(_data[0]); + case 1 : return string_upper(_data[0]); + case 2 : return string_titlecase(_data[0]); + } + + return _data[0]; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var str = outputs[0].getValue(); + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_string_change_case/node_string_change_case.yy b/scripts/node_string_change_case/node_string_change_case.yy new file mode 100644 index 000000000..b3b153f9f --- /dev/null +++ b/scripts/node_string_change_case/node_string_change_case.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_string_change_case", + "isCompatibility":false, + "isDnD":false, + "name":"node_string_change_case", + "parent":{ + "name":"text", + "path":"folders/nodes/data/value/text.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_string_count/node_string_count.gml b/scripts/node_string_count/node_string_count.gml new file mode 100644 index 000000000..703a1842a --- /dev/null +++ b/scripts/node_string_count/node_string_count.gml @@ -0,0 +1,22 @@ +function Node_String_Count(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Count Text"; + + setDimension(96, 48); + + newInput(0, nodeValue_Text("Text", self, "")) + .setVisible(true, true); + + newInput(1, nodeValue_Text("Count Text", self, "")) + + newOutput(0, nodeValue_Output("Amount", self, VALUE_TYPE.integer, 0)); + + static processData = function(_output, _data, _index = 0) { return string_count(_data[1], _data[0]); } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var str = inputs[0].getValue(); + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_string_count/node_string_count.yy b/scripts/node_string_count/node_string_count.yy new file mode 100644 index 000000000..cbfc65df4 --- /dev/null +++ b/scripts/node_string_count/node_string_count.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_string_count", + "isCompatibility":false, + "isDnD":false, + "name":"node_string_count", + "parent":{ + "name":"text", + "path":"folders/nodes/data/value/text.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_string_delete/node_string_delete.gml b/scripts/node_string_delete/node_string_delete.gml new file mode 100644 index 000000000..739c70cfd --- /dev/null +++ b/scripts/node_string_delete/node_string_delete.gml @@ -0,0 +1,23 @@ +function Node_String_Delete(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Delete Text"; + setDimension(96, 48); + + newInput(0, nodeValue_Text("Text", self, "")) + .setVisible(true, true); + + newInput(1, nodeValue_Int("Index", self, 0)) + + newInput(2, nodeValue_Int("Amount", self, 1)) + + newOutput(0, nodeValue_Output("Text", self, VALUE_TYPE.text, "")); + + static processData = function(_output, _data, _index = 0) { return string_delete(_data[0], _data[1] + 1, _data[2]); } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var str = outputs[0].getValue(); + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_string_delete/node_string_delete.yy b/scripts/node_string_delete/node_string_delete.yy new file mode 100644 index 000000000..07c3e112b --- /dev/null +++ b/scripts/node_string_delete/node_string_delete.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_string_delete", + "isCompatibility":false, + "isDnD":false, + "name":"node_string_delete", + "parent":{ + "name":"text", + "path":"folders/nodes/data/value/text.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_string_format/node_string_format.gml b/scripts/node_string_format/node_string_format.gml new file mode 100644 index 000000000..c0fc8cc4a --- /dev/null +++ b/scripts/node_string_format/node_string_format.gml @@ -0,0 +1,141 @@ +function Node_String_Format(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Format Text"; + + setDimension(96, 48); + + newInput(0, nodeValue_Text("Text", self, "")) + .setVisible(true, true); + + newOutput(0, nodeValue_Output("Text", self, VALUE_TYPE.text, "")); + + attributes.size = 0; + + 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 bw = _w / 2 - ui(4); + var bh = ui(36); + if(buttonTextIconInstant(true, THEME.button_hide_fill, _x, _y + ui(8), bw, bh, _m, _focus, _hover, "", THEME.add, __txt("Add"), COLORS._main_value_positive) == 2) { + attributes.size++; + refreshDynamicInput(); + update(); + } + + var amo = attributes.size; + if(buttonTextIconInstant(attributes.size > 0, THEME.button_hide_fill, _x + _w - bw, _y + ui(8), bw, bh, _m, _focus, _hover, "", THEME.minus, __txt("Remove"), COLORS._main_value_negative) == 2) { + attributes.size--; + refreshDynamicInput(); + update(); + } + + var tx = _x + ui(8); + var ty = _y + bh + ui(16); + var hh = bh + ui(16); + var _th = TEXTBOX_HEIGHT; + + for( var i = input_fix_len; i < array_length(inputs); i += data_length ) { + var _h = 0; + + var _jName = inputs[i + 0]; + _jName.editWidget.setFocusHover(_focus, _hover); + _jName.editWidget.draw(tx, ty, ui(128), _th, _jName.showValue(), _m, _jName.display_type); + + draw_set_text(f_p1, fa_center, fa_top, COLORS._main_text_sub); + draw_text_add(tx + ui(128 + 12), ty + ui(6), "="); + + var _jValue = inputs[i + 1]; + _jValue.editWidget.setFocusHover(_focus, _hover); + _jValue.editWidget.draw(tx + ui(128 + 24), ty, _w - ui(128 + 24 + 16), _th, _jValue.showValue(), _m, _jValue.display_type); + + _h += _th + ui(6); + hh += _h; + ty += _h; + } + + argument_renderer.h = hh; + return hh; + }); + + argument_renderer.register = function(parent = noone) { + for( var i = input_fix_len; i < array_length(inputs); i++ ) + inputs[i].editWidget.register(parent); + } + + input_display_list = [ + ["Function", false], 0, + ["Arguments", false], argument_renderer, + ["Inputs", true], + ] + + static createNewInput = function() { + var index = array_length(inputs); + newInput(index + 0, nodeValue_Text("Argument name", self, "" )); + + newInput(index + 1, nodeValue_Text("Argument value", self, "" )) + .setVisible(true, true); + + return inputs[index + 0]; + } setDynamicInput(2, false); + + static refreshDynamicInput = function() { + var _l = []; + var amo = attributes.size; + + for(var i = 0; i < input_fix_len; i++ ) + array_push(_l, inputs[i]); + + for(var i = 0; i < amo; i++ ) { + var _i = input_fix_len + i * data_length; + + if(_i >= array_length(_l)) + createNewInput(); + + for(var j = 0; j < data_length; j++) + array_push(_l, inputs[_i + j]); + } + + input_display_list = array_clone(input_display_list_raw); + + for( var i = input_fix_len; i < array_length(_l); i++ ) { + _l[i].index = i; + array_push(input_display_list, i); + } + + for( var i = input_fix_len; i < array_length(_l) - 1; i += 2 ) + inputs[i + 1].setName(inputs[i].getValue()); + + + inputs = _l; + + getJunctionList(); + setHeight(); + } + + static processData = function(_output, _data, _index = 0) { + var _text = _data[0]; + var _amo = getInputAmount(); + + var _outT = _text; + + for( var i = 0; i < _amo; i++ ) { + var _in = input_fix_len + i * data_length; + + var _key = "{" + string(_data[_in]) + "}"; + var _rep = _data[_in + 1]; + + _outT = string_replace_all(_outT, _key, _rep); + } + + return _outT; + } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var str = outputs[0].getValue(); + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_string_format/node_string_format.yy b/scripts/node_string_format/node_string_format.yy new file mode 100644 index 000000000..dd6e3bd70 --- /dev/null +++ b/scripts/node_string_format/node_string_format.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_string_format", + "isCompatibility":false, + "isDnD":false, + "name":"node_string_format", + "parent":{ + "name":"text", + "path":"folders/nodes/data/value/text.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/scripts/node_string_insert/node_string_insert.gml b/scripts/node_string_insert/node_string_insert.gml new file mode 100644 index 000000000..5b39d8cf9 --- /dev/null +++ b/scripts/node_string_insert/node_string_insert.gml @@ -0,0 +1,23 @@ +function Node_String_Insert(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) constructor { + name = "Insert Text"; + setDimension(96, 48); + + newInput(0, nodeValue_Text("Text", self, "")) + .setVisible(true, true); + + newInput(1, nodeValue_Text("Insert Text", self, "")) + + newInput(2, nodeValue_Int("Position", self, 0)) + + newOutput(0, nodeValue_Output("Text", self, VALUE_TYPE.text, "")); + + static processData = function(_output, _data, _index = 0) { return string_insert(_data[1], _data[0], _data[2]); } + + static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) { + var str = outputs[0].getValue(); + var bbox = drawGetBbox(xx, yy, _s); + + draw_set_text(f_sdf, fa_center, fa_center, COLORS._main_text); + draw_text_bbox(bbox, str); + } +} \ No newline at end of file diff --git a/scripts/node_string_insert/node_string_insert.yy b/scripts/node_string_insert/node_string_insert.yy new file mode 100644 index 000000000..96f78f672 --- /dev/null +++ b/scripts/node_string_insert/node_string_insert.yy @@ -0,0 +1,14 @@ +{ + "$GMScript":"v1", + "%Name":"node_string_insert", + "isCompatibility":false, + "isDnD":false, + "name":"node_string_insert", + "parent":{ + "name":"text", + "path":"folders/nodes/data/value/text.yy", + }, + "resourceType":"GMScript", + "resourceVersion":"2.0", + "tags":[], +} \ No newline at end of file diff --git a/sprites/s_node_string_count/f6c2ee97-12ee-4371-a765-669275f0df88.png b/sprites/s_node_string_count/f6c2ee97-12ee-4371-a765-669275f0df88.png new file mode 100644 index 0000000000000000000000000000000000000000..c513bd3ddee7629e5a3cf4cea792f6c99febc255 GIT binary patch literal 2707 zcmZ{mX*kr27sr3I7~3Tb(U2IV(oDk?MnsG)MPZP{Si1^Y2RAXJvQC&VcO*p(@++k* zg;8S(#kCZdESa0gGKR<<$#Unu`9IJ9#eL3m&i8rFc|OlM&vRa!lYZLKRz?aX1pt7I zy&ch6q!$0W1VR+S;D}Em(eSr(J_P{3?F9hpbpTiwrKmFi5Q77NIWhp4umC_g{7%Ce zQ&9oo=U__&w*R%_rt(|>kW8^B9(Ro!Stz_h9~e~XFu&ka#hJiaLKyokr=E2#?^Efj z)>hn?oKki^q%vzSVyLDKbxtNdxVE-dwnoZD^Zmt&(mb{p8%jbut9MzQh>wP|pKnl? z_8siKG5*0^u&E!LI$q!#^t;$QqXK@>PvfXXVQk{pyHSGkYv!o~Lb!pohFpmBNpS=e zMvbzNtlAkjzH(nV>?{;Y<7tzzeRV0=Mrx|rp@vzemWG^!qu9=}zEuTW-^%?_@KQIp zc!OQPCd+*~-Y_lm{H&WRx8y=}!7~hXM^0q$s2sah^ zixN}_{i=^x^uMU5;!J`xz=V)k=sdL+?d&!I56ED{AI{nFLW`}uT*RsXiF7+_144|9 zOsWlXV3K(S@M;c^EHeUI4Vs`f+ZpD##cbGmjB>}o|@N{}U2vwTdOA=h|n9jVtkEXy~nANW!E(?EkIvX6;Qk1j%j%2k5q(ct=l_AGjBOb4}y`MvA!7t*9vO}dl50JYO&x0lx1 z{S>P%TD-Fw;r31l+PMUrs0qn}dHUUAV6$Kk_;qXeMxK7%>&9XiuHvIt`QW-bPW@L2 z&ZVDxU3^IFyH@@MLXhoC3iP1l6lfyG%J?Ro;(PFC2Ny+Vr15L7cDb%zVzL=+Y9*^& zJ@oTd`OWh@8Ty%n9sF{a0~!8@yP#L(fBdU=>+J5nt@Vze4ZJG0Q@x#2lm z4&DMeqc3lczKkgW-+&Fn2#+D93RI1Nb-G5rN_jZA=-!A&!ezg6!*24kNoJCEOu1bU z4snnx!J~r54x!!ArZTC5Hex9G^ODy7p1&l5^txLc8i$Za8d^XTL|pG#&U^+1lK2Qj z7B#$OX}^^s+kr?q#sd|jwNVywO!XR2tg_+?BvR8?&LJI+R7*xEHm10$o zk`1i5$ONasi%)diTx&By!>BnS=@BX;uBgUkjvKxG_0!kNcoK%eYJpnZ&l{ien*QL!amTah3|tvtQA} zdbw}J+W#c{BV$-EPJF5Ae1ewViuZ++hE*)ZYmbOJY6Q;?d6?h&?c0`g*w&Rp&2yTDKB|VSy*-C<*-KNP~xVF}bfLM z^2=Iw99_X`y}=ymHypMk?I8_{fg`7h*vw8F`FK>d*}8-)o>OKu6csGTOKJIbwj{}T z>TS>1QAlhl+LWR7UD?mRdoPG;ZkrHm6O8U_w>wVC*LxrSkd6uq96%p~W66=QT-TW0 zd)@VKC^n4+BvS8PO9Cc&{0{9y8-)cQtlK8!DM$Tv{dy!2&Z%;YYb@PG)ecSWFLa*> z1EpQ*be>xyb%=^-bM6OJY3b zetUoK+k35drpzYe`)|hBS%`Os_0`^o5>s=k7*cybc+$l(F4(DpB@<;G+GgO?-%PT*l4Rv1+Ni%bXd0gN6o@ zeab>Zj-Q_1g97L?BX^8+g{37;&nl&=hZZKMvSrt-dSF-04xvtc70yW&s9}#~MHPQ+ zyy|ko$%m&ZZG@+6A+RLZ<;rA7!T4qZ@7cO{xT(R9B-()&Pg_-G6+VT_QNu8(oFYuX zTapw76VV!T+!G}lUMyGE87z^wZS8QjS-BaR$F7o;u|{NN7*NiheYmXlsw?0N?09 z6aUCSkpKobgCiK60Y=}*6=!U6_^^qAp&kxrg2QE+Fm?YA2)!H-92EcG!1@Jjp$ORb gzYfvCp@C7+zMk literal 0 HcmV?d00001 diff --git a/sprites/s_node_string_count/layers/f6c2ee97-12ee-4371-a765-669275f0df88/8523380b-d87f-4054-ba6f-8a161d35456b.png b/sprites/s_node_string_count/layers/f6c2ee97-12ee-4371-a765-669275f0df88/8523380b-d87f-4054-ba6f-8a161d35456b.png new file mode 100644 index 0000000000000000000000000000000000000000..c513bd3ddee7629e5a3cf4cea792f6c99febc255 GIT binary patch literal 2707 zcmZ{mX*kr27sr3I7~3Tb(U2IV(oDk?MnsG)MPZP{Si1^Y2RAXJvQC&VcO*p(@++k* zg;8S(#kCZdESa0gGKR<<$#Unu`9IJ9#eL3m&i8rFc|OlM&vRa!lYZLKRz?aX1pt7I zy&ch6q!$0W1VR+S;D}Em(eSr(J_P{3?F9hpbpTiwrKmFi5Q77NIWhp4umC_g{7%Ce zQ&9oo=U__&w*R%_rt(|>kW8^B9(Ro!Stz_h9~e~XFu&ka#hJiaLKyokr=E2#?^Efj z)>hn?oKki^q%vzSVyLDKbxtNdxVE-dwnoZD^Zmt&(mb{p8%jbut9MzQh>wP|pKnl? z_8siKG5*0^u&E!LI$q!#^t;$QqXK@>PvfXXVQk{pyHSGkYv!o~Lb!pohFpmBNpS=e zMvbzNtlAkjzH(nV>?{;Y<7tzzeRV0=Mrx|rp@vzemWG^!qu9=}zEuTW-^%?_@KQIp zc!OQPCd+*~-Y_lm{H&WRx8y=}!7~hXM^0q$s2sah^ zixN}_{i=^x^uMU5;!J`xz=V)k=sdL+?d&!I56ED{AI{nFLW`}uT*RsXiF7+_144|9 zOsWlXV3K(S@M;c^EHeUI4Vs`f+ZpD##cbGmjB>}o|@N{}U2vwTdOA=h|n9jVtkEXy~nANW!E(?EkIvX6;Qk1j%j%2k5q(ct=l_AGjBOb4}y`MvA!7t*9vO}dl50JYO&x0lx1 z{S>P%TD-Fw;r31l+PMUrs0qn}dHUUAV6$Kk_;qXeMxK7%>&9XiuHvIt`QW-bPW@L2 z&ZVDxU3^IFyH@@MLXhoC3iP1l6lfyG%J?Ro;(PFC2Ny+Vr15L7cDb%zVzL=+Y9*^& zJ@oTd`OWh@8Ty%n9sF{a0~!8@yP#L(fBdU=>+J5nt@Vze4ZJG0Q@x#2lm z4&DMeqc3lczKkgW-+&Fn2#+D93RI1Nb-G5rN_jZA=-!A&!ezg6!*24kNoJCEOu1bU z4snnx!J~r54x!!ArZTC5Hex9G^ODy7p1&l5^txLc8i$Za8d^XTL|pG#&U^+1lK2Qj z7B#$OX}^^s+kr?q#sd|jwNVywO!XR2tg_+?BvR8?&LJI+R7*xEHm10$o zk`1i5$ONasi%)diTx&By!>BnS=@BX;uBgUkjvKxG_0!kNcoK%eYJpnZ&l{ien*QL!amTah3|tvtQA} zdbw}J+W#c{BV$-EPJF5Ae1ewViuZ++hE*)ZYmbOJY6Q;?d6?h&?c0`g*w&Rp&2yTDKB|VSy*-C<*-KNP~xVF}bfLM z^2=Iw99_X`y}=ymHypMk?I8_{fg`7h*vw8F`FK>d*}8-)o>OKu6csGTOKJIbwj{}T z>TS>1QAlhl+LWR7UD?mRdoPG;ZkrHm6O8U_w>wVC*LxrSkd6uq96%p~W66=QT-TW0 zd)@VKC^n4+BvS8PO9Cc&{0{9y8-)cQtlK8!DM$Tv{dy!2&Z%;YYb@PG)ecSWFLa*> z1EpQ*be>xyb%=^-bM6OJY3b zetUoK+k35drpzYe`)|hBS%`Os_0`^o5>s=k7*cybc+$l(F4(DpB@<;G+GgO?-%PT*l4Rv1+Ni%bXd0gN6o@ zeab>Zj-Q_1g97L?BX^8+g{37;&nl&=hZZKMvSrt-dSF-04xvtc70yW&s9}#~MHPQ+ zyy|ko$%m&ZZG@+6A+RLZ<;rA7!T4qZ@7cO{xT(R9B-()&Pg_-G6+VT_QNu8(oFYuX zTapw76VV!T+!G}lUMyGE87z^wZS8QjS-BaR$F7o;u|{NN7*NiheYmXlsw?0N?09 z6aUCSkpKobgCiK60Y=}*6=!U6_^^qAp&kxrg2QE+Fm?YA2)!H-92EcG!1@Jjp$ORb gzYfvCp@C7+zMk literal 0 HcmV?d00001 diff --git a/sprites/s_node_string_count/s_node_string_count.yy b/sprites/s_node_string_count/s_node_string_count.yy new file mode 100644 index 000000000..6aab93e64 --- /dev/null +++ b/sprites/s_node_string_count/s_node_string_count.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_string_count", + "bboxMode":0, + "bbox_bottom":61, + "bbox_left":6, + "bbox_right":58, + "bbox_top":1, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"f6c2ee97-12ee-4371-a765-669275f0df88","name":"f6c2ee97-12ee-4371-a765-669275f0df88","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"8523380b-d87f-4054-ba6f-8a161d35456b","blendMode":0,"displayName":"default","isLocked":false,"name":"8523380b-d87f-4054-ba6f-8a161d35456b","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_string_count", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"string", + "path":"folders/nodes/icons/value/string.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_string_count", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_string_count", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"f6c2ee97-12ee-4371-a765-669275f0df88","path":"sprites/s_node_string_count/s_node_string_count.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"a697645c-c6e1-488e-a2b5-e4a087582025","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_string_delete/03f83f41-ebc8-4cdf-b2e0-a12dfb781abe.png b/sprites/s_node_string_delete/03f83f41-ebc8-4cdf-b2e0-a12dfb781abe.png new file mode 100644 index 0000000000000000000000000000000000000000..547f4185e2defb4fbec8958998b8d048abf76f6e GIT binary patch literal 1302 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=3dtTpz6=aiY77hwEes65fI|H*Yfq{k7)5S5Q;?~<~zBwVG zBFF2O>mK>Vs_4<_vVp_oYSU$jQ^&JS7Z@ISArQD&QR0Y;_z{Wl71BN0u`jvI^9r;R zFD^GUY}@7_AMu!dNhXg;qHC^z>DC{CZ?_yjYTdt6@_vu=>=R9&z17~|D}ML)e)YLI z)%Tf?7s{ZbInpeg)~kLAZBR0p+EDmF$v{a-{Q2e?tKP9jt^M8D@uy<1aKO%kifhmH ztg2hHO8WW2dYucq^ZTUEuBtjwm;ZM@=ZPQDq2}?&S#-Ee&Yd-XwoGatd!v5i(gR@+ zd>=3-FcyS_T5EepgudTY$q*lt-RT|}*kHDReFw`IbnWPLKjuIepNQM%9e zm}STDZ$^w?I#0OVn>DrkfWU>+yK;h(JT=}8>ow;;tW_$yQKRc1bLOlCtBs=4{u?`z z50rf_?Kt5f@Q3Ykgy7n)Wly+4wE&LB}e+6-#AZkDfj7QQ^ntWtUlOxc9`LmkTXz zeyhq|$6}FQXvbHRakcO*CkKo1yY0{G5_-4tGi19g5w5tDbGvc+f9LNC8*bdPo}{8T zj;LgEMnIw%nc2tWV3YL3;sWas}3F864}(=m?t=Mi_5$97j9p>yLWTrmzXs7 zM4lhq5xIZk62d1PxmhW{yyj!$UbfIu;SZJ@PQ01!@xJ-Zq<73^9Vbd`MFUQ6JOjm(F3>);h?^WpMH!B&j zq(x!)P4taElN@@SfA-Lxz1y*|D=fGYuSupQHPehrYL+coe=gw?9$>&t{-;Q$rgQ& z(a@a!C8<`)MX5lF!N|bKRM)^r*U&t~z{1MJ#LCD_ z+rYrez@Xb|nmUSx-29Zxv`X9>ex>Wp25QiN+fb63n_66wm|K8b&)On>7oZ*nPgg&e IbxsLQ0Pw&vCIA2c literal 0 HcmV?d00001 diff --git a/sprites/s_node_string_delete/layers/03f83f41-ebc8-4cdf-b2e0-a12dfb781abe/3d4c5f4a-3d41-4539-90cd-5ecfb3a4ee71.png b/sprites/s_node_string_delete/layers/03f83f41-ebc8-4cdf-b2e0-a12dfb781abe/3d4c5f4a-3d41-4539-90cd-5ecfb3a4ee71.png new file mode 100644 index 0000000000000000000000000000000000000000..547f4185e2defb4fbec8958998b8d048abf76f6e GIT binary patch literal 1302 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=3dtTpz6=aiY77hwEes65fI|H*Yfq{k7)5S5Q;?~<~zBwVG zBFF2O>mK>Vs_4<_vVp_oYSU$jQ^&JS7Z@ISArQD&QR0Y;_z{Wl71BN0u`jvI^9r;R zFD^GUY}@7_AMu!dNhXg;qHC^z>DC{CZ?_yjYTdt6@_vu=>=R9&z17~|D}ML)e)YLI z)%Tf?7s{ZbInpeg)~kLAZBR0p+EDmF$v{a-{Q2e?tKP9jt^M8D@uy<1aKO%kifhmH ztg2hHO8WW2dYucq^ZTUEuBtjwm;ZM@=ZPQDq2}?&S#-Ee&Yd-XwoGatd!v5i(gR@+ zd>=3-FcyS_T5EepgudTY$q*lt-RT|}*kHDReFw`IbnWPLKjuIepNQM%9e zm}STDZ$^w?I#0OVn>DrkfWU>+yK;h(JT=}8>ow;;tW_$yQKRc1bLOlCtBs=4{u?`z z50rf_?Kt5f@Q3Ykgy7n)Wly+4wE&LB}e+6-#AZkDfj7QQ^ntWtUlOxc9`LmkTXz zeyhq|$6}FQXvbHRakcO*CkKo1yY0{G5_-4tGi19g5w5tDbGvc+f9LNC8*bdPo}{8T zj;LgEMnIw%nc2tWV3YL3;sWas}3F864}(=m?t=Mi_5$97j9p>yLWTrmzXs7 zM4lhq5xIZk62d1PxmhW{yyj!$UbfIu;SZJ@PQ01!@xJ-Zq<73^9Vbd`MFUQ6JOjm(F3>);h?^WpMH!B&j zq(x!)P4taElN@@SfA-Lxz1y*|D=fGYuSupQHPehrYL+coe=gw?9$>&t{-;Q$rgQ& z(a@a!C8<`)MX5lF!N|bKRM)^r*U&t~z{1MJ#LCD_ z+rYrez@Xb|nmUSx-29Zxv`X9>ex>Wp25QiN+fb63n_66wm|K8b&)On>7oZ*nPgg&e IbxsLQ0Pw&vCIA2c literal 0 HcmV?d00001 diff --git a/sprites/s_node_string_delete/s_node_string_delete.yy b/sprites/s_node_string_delete/s_node_string_delete.yy new file mode 100644 index 000000000..08fd867f4 --- /dev/null +++ b/sprites/s_node_string_delete/s_node_string_delete.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_string_delete", + "bboxMode":0, + "bbox_bottom":38, + "bbox_left":3, + "bbox_right":60, + "bbox_top":25, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"03f83f41-ebc8-4cdf-b2e0-a12dfb781abe","name":"03f83f41-ebc8-4cdf-b2e0-a12dfb781abe","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"3d4c5f4a-3d41-4539-90cd-5ecfb3a4ee71","blendMode":0,"displayName":"default","isLocked":false,"name":"3d4c5f4a-3d41-4539-90cd-5ecfb3a4ee71","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_string_delete", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"string", + "path":"folders/nodes/icons/value/string.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_string_delete", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_string_delete", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"03f83f41-ebc8-4cdf-b2e0-a12dfb781abe","path":"sprites/s_node_string_delete/s_node_string_delete.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"b184cc55-ac39-43ab-9b4c-9daf76c2a5de","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_string_format/09175abf-bf2a-4bb6-8ad7-f99262b0e804.png b/sprites/s_node_string_format/09175abf-bf2a-4bb6-8ad7-f99262b0e804.png new file mode 100644 index 0000000000000000000000000000000000000000..f13f0dbe6819e20fa12a715d4df896ea6b9b4d15 GIT binary patch literal 2104 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":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_string_format", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"09175abf-bf2a-4bb6-8ad7-f99262b0e804","path":"sprites/s_node_string_format/s_node_string_format.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"66cf7418-f45e-4c3d-a34d-9a4b729cd219","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file diff --git a/sprites/s_node_string_insert/26fe31e1-5e43-44ea-ba82-450db9d91039.png b/sprites/s_node_string_insert/26fe31e1-5e43-44ea-ba82-450db9d91039.png new file mode 100644 index 0000000000000000000000000000000000000000..1c102e4eaf73aff9838f35f9f28552a946df7f0c GIT binary patch literal 1380 zcmZ{ke>Bqz6u`gp9m}sx`r$_yX`V97ETrYf&cuXP7!Ru@v&e6&vzSa#NhhnROo}~w zyhmdmGM-pJB!%LUGTB})Pvlo(MCGk>dheX~N9Ue zylS8kxyPFbtbUEsI~6LT>~#7k?ech$wz%Fely0V{?Zktzpkig zc~Shlb3j?##Cn*qe-Posn3`EpHh)??AU}|9dXBjHlFt_X+;1or`ZNbzInnt1b5&%7 z)p&p3rG@;;W3W^j{@Gam$gMgz>lug{%nB5Z9M=nlvqRqPGqFJ*<>C;bf%@%Tc3SKT zQ2X=vpfpwir@@mTVpG<=E@gTuSzq?(3cU*3nu**R4`Mp6yOa7Oeyjv0;TE_Y+)Rlh97@9rC=t84cyPto)_$%;lyH=luuzo%M@#b`th+R(U`r z*)0aTbpHNIo@GOe+exUHP>XD2B%x->A{f%5W3aSOs4g)od?TBBkm1-8pA*?Vch|wd zBL=J02zy4ch}t?!6A>R-!s?-?<=S`z8f;y-E#uh4IxMw73r!0K)fU4Ap|kfQK)-rI z^1EELhl?aV>y9t4k(17m$L?6QC^4Z)+Wr{IN=fHXJ$~PCex{hK1|?k3Na)z53``D> z__?OHB-Q#E@nFms}lP-L9}`^Y2YlY#er$>J0Zx1}FlD>kTK7 zH~zipsO*oh<7DqXOXjv%)zd*Sy+WB$hnRHN!zpwX04xT(-4=tjb#M;CxVYkQu2?4< z48|3M$#cE>!~cZ%#Hg6)6W8FtrIg7tqJm@)D6ROX@hr0+YT6a-P_03@#fVl{zw F>K}6SUgZD) literal 0 HcmV?d00001 diff --git a/sprites/s_node_string_insert/layers/26fe31e1-5e43-44ea-ba82-450db9d91039/a88a30a1-50d3-4996-abfe-29342e338edc.png b/sprites/s_node_string_insert/layers/26fe31e1-5e43-44ea-ba82-450db9d91039/a88a30a1-50d3-4996-abfe-29342e338edc.png new file mode 100644 index 0000000000000000000000000000000000000000..1c102e4eaf73aff9838f35f9f28552a946df7f0c GIT binary patch literal 1380 zcmZ{ke>Bqz6u`gp9m}sx`r$_yX`V97ETrYf&cuXP7!Ru@v&e6&vzSa#NhhnROo}~w zyhmdmGM-pJB!%LUGTB})Pvlo(MCGk>dheX~N9Ue zylS8kxyPFbtbUEsI~6LT>~#7k?ech$wz%Fely0V{?Zktzpkig zc~Shlb3j?##Cn*qe-Posn3`EpHh)??AU}|9dXBjHlFt_X+;1or`ZNbzInnt1b5&%7 z)p&p3rG@;;W3W^j{@Gam$gMgz>lug{%nB5Z9M=nlvqRqPGqFJ*<>C;bf%@%Tc3SKT zQ2X=vpfpwir@@mTVpG<=E@gTuSzq?(3cU*3nu**R4`Mp6yOa7Oeyjv0;TE_Y+)Rlh97@9rC=t84cyPto)_$%;lyH=luuzo%M@#b`th+R(U`r z*)0aTbpHNIo@GOe+exUHP>XD2B%x->A{f%5W3aSOs4g)od?TBBkm1-8pA*?Vch|wd zBL=J02zy4ch}t?!6A>R-!s?-?<=S`z8f;y-E#uh4IxMw73r!0K)fU4Ap|kfQK)-rI z^1EELhl?aV>y9t4k(17m$L?6QC^4Z)+Wr{IN=fHXJ$~PCex{hK1|?k3Na)z53``D> z__?OHB-Q#E@nFms}lP-L9}`^Y2YlY#er$>J0Zx1}FlD>kTK7 zH~zipsO*oh<7DqXOXjv%)zd*Sy+WB$hnRHN!zpwX04xT(-4=tjb#M;CxVYkQu2?4< z48|3M$#cE>!~cZ%#Hg6)6W8FtrIg7tqJm@)D6ROX@hr0+YT6a-P_03@#fVl{zw F>K}6SUgZD) literal 0 HcmV?d00001 diff --git a/sprites/s_node_string_insert/s_node_string_insert.yy b/sprites/s_node_string_insert/s_node_string_insert.yy new file mode 100644 index 000000000..24ddf8313 --- /dev/null +++ b/sprites/s_node_string_insert/s_node_string_insert.yy @@ -0,0 +1,90 @@ +{ + "$GMSprite":"", + "%Name":"s_node_string_insert", + "bboxMode":0, + "bbox_bottom":53, + "bbox_left":2, + "bbox_right":62, + "bbox_top":18, + "collisionKind":1, + "collisionTolerance":0, + "DynamicTexturePage":false, + "edgeFiltering":false, + "For3D":false, + "frames":[ + {"$GMSpriteFrame":"","%Name":"26fe31e1-5e43-44ea-ba82-450db9d91039","name":"26fe31e1-5e43-44ea-ba82-450db9d91039","resourceType":"GMSpriteFrame","resourceVersion":"2.0",}, + ], + "gridX":0, + "gridY":0, + "height":64, + "HTile":false, + "layers":[ + {"$GMImageLayer":"","%Name":"a88a30a1-50d3-4996-abfe-29342e338edc","blendMode":0,"displayName":"default","isLocked":false,"name":"a88a30a1-50d3-4996-abfe-29342e338edc","opacity":100.0,"resourceType":"GMImageLayer","resourceVersion":"2.0","visible":true,}, + ], + "name":"s_node_string_insert", + "nineSlice":null, + "origin":4, + "parent":{ + "name":"string", + "path":"folders/nodes/icons/value/string.yy", + }, + "preMultiplyAlpha":false, + "resourceType":"GMSprite", + "resourceVersion":"2.0", + "sequence":{ + "$GMSequence":"", + "%Name":"s_node_string_insert", + "autoRecord":true, + "backdropHeight":768, + "backdropImageOpacity":0.5, + "backdropImagePath":"", + "backdropWidth":1366, + "backdropXOffset":0.0, + "backdropYOffset":0.0, + "events":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "eventStubScript":null, + "eventToFunction":{}, + "length":1.0, + "lockOrigin":false, + "moments":{ + "$KeyframeStore":"", + "Keyframes":[], + "resourceType":"KeyframeStore", + "resourceVersion":"2.0", + }, + "name":"s_node_string_insert", + "playback":1, + "playbackSpeed":30.0, + "playbackSpeedType":0, + "resourceType":"GMSequence", + "resourceVersion":"2.0", + "showBackdrop":true, + "showBackdropImage":false, + "timeUnits":1, + "tracks":[ + {"$GMSpriteFramesTrack":"","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"$KeyframeStore":"","Keyframes":[ + {"$Keyframe":"","Channels":{ + "0":{"$SpriteFrameKeyframe":"","Id":{"name":"26fe31e1-5e43-44ea-ba82-450db9d91039","path":"sprites/s_node_string_insert/s_node_string_insert.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",}, + },"Disabled":false,"id":"49f1c478-4b25-43bb-9131-289af5df5593","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe","resourceVersion":"2.0","Stretch":false,}, + ],"resourceType":"KeyframeStore","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,}, + ], + "visibleRange":null, + "volume":1.0, + "xorigin":32, + "yorigin":32, + }, + "swatchColours":null, + "swfPrecision":0.5, + "textureGroupId":{ + "name":"Default", + "path":"texturegroups/Default", + }, + "type":0, + "VTile":false, + "width":64, +} \ No newline at end of file