This commit is contained in:
Tanasart 2024-08-20 15:15:53 +07:00
parent 2e685d9016
commit 782e6d8e1a
231 changed files with 92738 additions and 67561 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View file

@ -1,5 +1,4 @@
{
"safe_mode": "SAFE MODE",
"anim_length": "Animation length",
"anim_frame_rate": "Preview frame rate",
@ -404,8 +403,6 @@
"pref_ui_font": "Overwrite UI font",
"panel_menu_node_credit": "Node credit dialog",
"panel_collection_update_thumbnail": "Update thumbnail",
"panel_collection_workshop_upload": "Upload to Steam Workshop",
"panel_graph_toggle_parameter" : "Toggle node parameters",
"panel_graph_group_require_shift" : "Hold Shift to enter group",
"pref_add_node_remember" : "Remember add node position",
@ -425,7 +422,7 @@
"panel_driver" : "Driver...",
"panel_preview_lock_preview" : "Lock previewing node",
// 1.19
// 1.16
"global_variables": "Global Variables",
"panel_animation_keyframe_edit": "Edit Value...",
"panel_graph_hide_disconnected": "Hide stray junctions",

File diff suppressed because it is too large Load diff

View file

@ -356,7 +356,7 @@
"packing": "Packing",
"resume" : "Resume",
// 1.19
// 1.16
"histogram" : "Histogram",
"background": "Background",
"search": "Search",
@ -372,5 +372,115 @@
"palettes_mixer": "Palettes Mixer",
"release_note": "Release note",
//1.17.10
"3d_back_view" : "3D Back view",
"3d_bottom_view" : "3D Bottom view",
"3d_front_view" : "3D Front view",
"3d_left_view_" : "3D Left view ",
"3d_right_view_" : "3D Right view ",
"3d_sdf_view_settings" : "3D SDF View Settings",
"3d_snap_settings" : "3D Snap Settings",
"3d_top_view" : "3D Top view",
"3d_view_settings" : "3D View Settings",
"add_display" : "Add Display",
"addons_menu" : "Addons Menu",
"animate" : "Animate",
"append" : "Append",
"auto_align" : "Auto Align",
"blend_canvas" : "Blend Canvas",
"clear_all_notifications" : "Clear all notifications",
"clear_log_messages" : "Clear log messages",
"clear_warning_messages" : "Clear warning messages",
"close_all_files" : "Close all files",
"close_project" : "Close project",
"collapse_all_sections" : "Collapse All Sections",
"combine_axis" : "Combine Axis",
"command_palette" : "Command Palette",
"connection_settings" : "Connection Settings",
"console" : "Console",
"copy_color_hex" : "Copy Color Hex",
"copy_color" : "Copy Color",
"copy_current_frame" : "Copy Current Frame",
"copy_to_canvas" : "Copy to Canvas",
"copy_value" : "Copy Value",
"create_tunnel" : "Create Tunnel",
"delete_collection" : "Delete Collection",
"disable_expression" : "Disable Expression",
"dopesheet_collapse" : "Dopesheet Collapse",
"dopesheet_expand" : "Dopesheet Expand",
"driver" : "Driver",
"edit_keyframe_value" : "Edit Keyframe Value",
"edit_meta" : "Edit Meta",
"enter_group" : "Enter Group",
"expand_all_sections" : "Expand All Sections",
"export_.zip" : "Export .zip",
"export_all" : "Export all",
"export_as_image" : "Export As Image",
"export_hovering_node" : "Export Hovering Node",
"export_selected_node" : "Export Selected Node",
"extract_value" : "Extract Value",
"globalvar" : "Globalvar",
"grid_settings" : "Grid Settings",
"hide_disconnected" : "Hide Disconnected",
"import_.zip" : "Import .zip",
"lock_keyframe_y" : "Lock Keyframe Y",
"new_preview_window" : "New Preview Window",
"onion_skin_settings" : "Onion Skin Settings",
"open_at" : "Open at",
"open_autosave_folder" : "Open Autosave Folder",
"open_group_in_new_tab" : "Open Group In New Tab",
"open_log_file" : "Open log file",
"open_safe" : "Open Safe",
"paste_value" : "Paste Value",
"remove_group" : "Remove Group",
"rename_group" : "Rename Group",
"replace" : "Replace",
"reset_animation" : "Reset Animation",
"reset_range" : "Reset Range",
"reset_to_default" : "Reset To Default",
"save_all_current_frames" : "Save All Current Frames",
"save_at" : "Save at",
"save_to_focused_file" : "Save to focused file",
"scale_x1" : "Scale x1",
"scale_x2" : "Scale x2",
"scale_x4" : "Scale x4",
"scale_x8" : "Scale x8",
"scaler" : "Scaler",
"send_to_inspector" : "Send To Inspector",
"send_to_preview_window" : "Send To Preview Window",
"send_to_preview" : "Send To Preview",
"separate_axis" : "Separate Axis",
"set_range_end" : "Set Range End",
"set_range_start" : "Set Range Start",
"set_tile_both" : "Set Tile Both",
"set_tile_horizontal" : "Set Tile Horizontal",
"set_tile_off" : "Set Tile Off",
"set_tile_vertical" : "Set Tile Vertical",
"snap_nodes" : "Snap Nodes",
"stagger" : "Stagger",
"tiling_settings" : "Tiling Settings",
"toggle_avoid_label" : "Toggle Avoid Label",
"toggle_bypass" : "Toggle Bypass",
"toggle_compute" : "Toggle Compute",
"toggle_control" : "Toggle Control",
"toggle_dimension" : "Toggle Dimension",
"toggle_grid_snap" : "Toggle Grid Snap",
"toggle_lock" : "Toggle Lock",
"toggle_minimap" : "Toggle Minimap",
"toggle_onion_skin_view" : "Toggle Onion Skin view",
"toggle_onion_skin" : "Toggle Onion Skin",
"toggle_pixel_grid" : "Toggle Pixel Grid",
"toggle_reset_view" : "Toggle Reset View",
"toggle_show_info" : "Toggle Show Info",
"toggle_show_origin" : "Toggle Show Origin",
"toggle_snap_to_grid" : "Toggle Snap to Grid",
"toggle_split_view" : "Toggle Split View",
"toggle_tile" : "Toggle Tile",
"update_steam" : "Update Steam",
"update_thumbnail" : "Update Thumbnail",
"upload_to_steam" : "Upload To Steam",
"use_expression" : "Use Expression",
"view_settings" : "View Settings",
"" : ""
}

View file

@ -1,5 +1,4 @@
{
"safe_mode": "SAFE MODE",
"anim_length": "Animation length",
"anim_frame_rate": "Preview frame rate",
@ -323,17 +322,114 @@
"workspace_replace_current": "Replace with current",
"preview_3d_settings": "3D Preview Settings",
"graph_view_settings": "View Settings",
"graph_visibility_preview_scale": "Preview Scale",
"graph_visibility_avoid_label": "Avoid Label",
"graph_grid_settings": "Grid Settings",
"project.graphGrid.color": "Grid color",
"project.graphGrid.opacity": "Grid opacity",
"close_all_projects": "Close all projects",
"close_current_file": "Close current file",
"graph_connection_settings": "Connection Settings",
"graph_export_nodes": "Nodes",
"graph_grid_settings": "Grid Settings",
"graph_view_settings": "View Settings",
"graph_visibility_avoid_label": "Avoid Label",
"graph_visibility_preview_scale": "Preview Scale",
"onion_skin_frame_step": "Frame step",
"onion_skin_post_color": "Post Color",
"onion_skin_pre_color": "Pre Color",
"onion_skin_top": "Draw on top",
"panel_animation_lock_y": "Lock/Unlock Y easing",
"panel_debug_overlay": "Debug overlay",
"panel_inspector_axis_separate": "Separate axis",
"panel_inspector_extract_multiple": "Extract to...",
"panel_inspector_extract_single": "Extract to node",
"panel_inspector_pop_text": "Pop up Editor",
"panel_menu_export_render_all": "Render disabled node when export",
"panel_menu_steam_workshop": "Steam Workshop",
"panel_menu_tester": "Tester",
"pref_connection_highlight_fade": "Fade connection",
"pref_connection_highlight": "Highlight connection",
"pref_connection_quality": "Render quality",
"preview_3d_settings": "3D Preview Settings",
"preview_grid_settings": "Grid Settings",
"preview_onion_skin_settings": "Onion skin Settings",
"project_graphGrid_color": "Grid color",
"project_graphGrid_opacity": "Grid opacity",
"project_modified": "Project modified",
"project_settings": "Project Settings",
"save_project_'{1}'_before_exit?": "Save project '{1}' before exit?",
"widget_control_point_move": "Move",
"widget_control_point_wind": "Wind",
"widget_range_constant": "Constant",
"widget_range_random": "Random Range",
"widget_rotator_random_double_range": "Double Range",
"widget_rotator_random_double_span": "Double Span",
"widget_rotator_random_range": "Range",
"widget_rotator_random_span": "Span",
"pref_clear_temp": "Clear temp file on close.",
"pref_connection_type": "Connection type",
"pref_use_alt": "Use ALT for",
"meta_old_version": "Created on an older version",
"open_in_safe_mode": "Open in safe mode",
"group_properties": "Group Properties",
"panel_inspector_axis_combine": "Combine axis",
"panel_inspector_disable_expression": "Disable expression",
"new_folder": "New folder",
"panel_graph_enter_group_new_tab": "Open group in new tab",
"set_as_group_tool": "Set as group tool",
"panel_graph_align_nodes": "Align nodes",
"panel_graph_copy_prop": "Copy all properties",
"panel_graph_paste_prop": "Paste all properties",
"node_color": "Node Color",
"connection_color": "Connection Color",
"pref_pages_interface": "Interface",
"pref_directory_temp": "Temp path (restart required)",
"pref_inspector_focus_on_double_click": "Focus on double click",
"notification": "Notification",
"pref_pan_key": "Panning key",
"reload_theme": "Reload theme",
"reset_layout": "Reset layout",
"close_current_project": "Close current project",
"panel_menu_connect_patreon": "Connect to Patreon",
"pref_directory_ImageMagick": "ImageMagick path*",
"pref_directory_webp": "Webp path*",
"pref_directory_gifski": "Gifski path*",
"pref_directory_FFmpeg": "FFmpeg path*",
"pref_supporter_icon": "Show supporter icon",
"pref_graph_group_in_tab": "Open group in new tab",
"pref_widget_autocomplete_delay": "Code Autocomplete delay",
"panel_collection_workshop_update": "Update Steam Workshop content",
"meta_new_version": "Created on a newer version",
"pref_ui_font": "Overwrite UI font",
"panel_menu_node_credit": "Node credit dialog",
"panel_graph_toggle_parameter" : "Toggle node parameters",
"panel_graph_group_require_shift" : "Hold Shift to enter group",
"pref_add_node_remember" : "Remember add node position",
"pref_preview_show_real_fps" : "Show real fps",
"pref_widget_textbox_shake" : "Textbox shake",
"pref_widget_textbox_particles" : "Textbox particles",
"panel_menu_test_error" : "Display Error",
"pref_node_param_show" : "Show paramater on new node",
"panel_menu_test_warning" : "Display Warning",
"pref_node_param_width" : "Default param width",
"panel_menu_test_gen_theme" : "Generate theme object",
"collapse_toggle" : "Collapse Toggle",
"panel_animation_name_only" : "Node name",
"toggle_nodes" : "Toggle nodes",
"panel_animation_name_type" : "Node type",
"toggle_parameters" : "Toggle parameters",
"panel_driver" : "Driver...",
"panel_preview_lock_preview" : "Lock previewing node",
// 1.16
"global_variables": "Global Variables",
"panel_animation_keyframe_edit": "Edit Value...",
"panel_graph_hide_disconnected": "Hide stray junctions",
"panel_graph_tunnel": "Create tunnels",
"art_by_kenney": "Art by Kenney",
"panel_menu_reset_layout": "Reset layout",
"panel_graph_toggle_minimap": "Toggle minimap",
"" : ""
}

File diff suppressed because it is too large Load diff

View file

@ -190,23 +190,297 @@
"zoom_to_fit": "Zoom to fit",
"zoom": "Zoom",
"onion_skin": "Onion skin",
"default_surface": "Default Surface",
"palette": "Palette",
"misc": "Misc",
"action": "Action",
"custom": "Custom",
"light": "Light",
"legacy": "Legacy",
"region": "Region",
"armature": "Armature",
"surface": "Surface",
"buffer": "Buffer",
"shader": "Shader",
"system": "System",
"linked": "Linked",
"curve": "Curve",
"custom": "Custom",
"default_surface": "Default Surface",
"euler": "Euler",
"format_": "Format ",
"independent": "Independent",
"legacy": "Legacy",
"light": "Light",
"linked": "Linked",
"misc.": "Misc.",
"misc": "Misc",
"number": "Number",
"onion_skin": "Onion skin",
"opacity": "Opacity",
"output": "Output",
"palette": "Palette",
"path": "Path",
"quaternion": "Quaternion",
"radius": "radius",
"region": "Region",
"render": "Render",
"save_all": "Save all",
"scale": "Scale",
"settings": "Settings",
"shader": "Shader",
"shape": "Shape",
"render": "Render"
"surface": "Surface",
"system": "System",
"text": "Text",
"3d_camera": "3D Camera",
"add_bones": "Add bones",
"add_node": "Add node",
"add_number": "Add number",
"add_vector2": "Add vector2",
"add_vector3": "Add vector3",
"add_vector4": "Add vector4",
"adjust_control_point": "Adjust control point",
"anchor_add_/_remove": "Anchor add / remove",
"anchor_remove": "Anchor remove",
"array": "Array",
"assetbox": "Assetbox",
"bg": "Bg",
"blend": "Blend",
"canvas_blend": "Canvas blend",
"canvas": "Canvas",
"circle_path": "Circle path",
"close_file": "Close file",
"collection": "Collection",
"color_picker": "Color picker",
"comb": "Comb",
"copy_property": "Copy property",
"delete_(break)": "Delete (break)",
"delete_(merge)": "Delete (merge)",
"delete_keys": "Delete keys",
"detach_bones": "Detach bones",
"dialog": "Dialog",
"draw_path": "Draw path",
"edit_control_point": "Edit control point",
"ellipse": "Ellipse",
"eraser": "Eraser",
"fill": "Fill",
"first_frame": "First frame",
"focus_content": "Focus content",
"full_panel": "Full panel",
"grab": "Grab",
"ik": "IK",
"import_image_array": "Import image array",
"import_image": "Import image",
"last_frame": "Last frame",
"main": "Main",
"mesh_edit": "Mesh edit",
"mesh_warp": "Mesh Warp",
"move_target": "Move Target",
"new_file": "New file",
"next_frame": "Next frame",
"open_notification": "Open notification",
"pan": "Pan",
"panel": "Panel",
"paste_property": "Paste property",
"path_anchor": "Path Anchor",
"pencil": "Pencil",
"pin_mesh": "Pin mesh",
"play/pause": "Play/Pause",
"preview_focusing_node": "Preview focusing node",
"preview_window": "Preview window",
"previous_frame": "Previous frame",
"push": "Push",
"rectangle_path": "Rectangle path",
"rectangle": "Rectangle",
"remove_bones": "Remove bones",
"render_all": "Render all",
"resume/pause": "Resume/Pause",
"rigid_object": "Rigid Object",
"rotate": "Rotate",
"rotation": "Rotation",
"save_all_current_frame": "Save all current frame",
"save_current_frame": "Save current frame",
"scrollbar": "Scrollbar",
"select_all": "Select all",
"selection": "Selection",
"shorten": "Shorten",
"strand_create": "Strand Create",
"stretch": "Stretch",
"surfaces": "Surfaces",
"toggle_animation": "Toggle animation",
"toggle_grid": "Toggle grid",
"toggle_preview": "Toggle preview",
"toggle_render": "Toggle render",
"transform_node": "Transform node",
"widget": "Widget",
"workshop": "Workshop",
"rename": "Rename",
"inputs": "Inputs",
"save/load": "Save/Load",
"crash": "Crash",
"splash": "Splash",
"quality": "Quality",
"display": "Display",
"data": "Data",
"layers": "Layers",
"brush": "Brush",
"sprite": "Sprite",
"spawn": "Spawn",
"movement": "Movement",
"physics": "Physics",
"ground": "Ground",
"wiggles": "Wiggles",
"sdf": "SDF",
"level": "Level",
"channel": "Channel",
"solid": "Solid",
"noise": "Noise",
"pattern": "Pattern",
"related": "Related",
"uncategorized": "uncategorized",
"libraries": "Libraries",
"extra": "Extra",
"modify": "Modify",
"points": "Points",
"text_area": "Text Area",
"safe_mode": "SAFE MODE",
"read_only": "READ ONLY",
"untitled": "Untitled",
"supporter": "Supporter",
"supporter_exclusive": "Supporter exclusive",
"external": "External",
"mk_effects": "MK Effects",
"flip_fluid": "FLIP Fluid",
"projects": "Projects",
"project": "Project",
"portable_project_(.zip)": "Portable project (.zip)",
"brightness": "Brightness",
"alpha": "Alpha",
"material": "Material",
"packing": "Packing",
"resume" : "Resume",
// 1.16
"histogram" : "Histogram",
"background": "Background",
"search": "Search",
"welcome_files": "Welcome Files",
"palette_mixer": "Palette Mixer",
"file_explorer": "File Explorer",
"show_avatar" : "Show Avatar",
"open_in_explorer" : "Open in explorer",
"downloads": "Downloads",
"label": "Label",
"list": "List",
"view_mode": "View mode",
"palettes_mixer": "Palettes Mixer",
"release_note": "Release note",
//1.17.10
"3d_back_view" : "3D Back view",
"3d_bottom_view" : "3D Bottom view",
"3d_front_view" : "3D Front view",
"3d_left_view_" : "3D Left view ",
"3d_right_view_" : "3D Right view ",
"3d_sdf_view_settings" : "3D SDF View Settings",
"3d_snap_settings" : "3D Snap Settings",
"3d_top_view" : "3D Top view",
"3d_view_settings" : "3D View Settings",
"add_display" : "Add Display",
"addons_menu" : "Addons Menu",
"animate" : "Animate",
"append" : "Append",
"auto_align" : "Auto Align",
"blend_canvas" : "Blend Canvas",
"clear_all_notifications" : "Clear all notifications",
"clear_log_messages" : "Clear log messages",
"clear_warning_messages" : "Clear warning messages",
"close_all_files" : "Close all files",
"close_project" : "Close project",
"collapse_all_sections" : "Collapse All Sections",
"combine_axis" : "Combine Axis",
"command_palette" : "Command Palette",
"connection_settings" : "Connection Settings",
"console" : "Console",
"copy_color_hex" : "Copy Color Hex",
"copy_color" : "Copy Color",
"copy_current_frame" : "Copy Current Frame",
"copy_to_canvas" : "Copy to Canvas",
"copy_value" : "Copy Value",
"create_tunnel" : "Create Tunnel",
"delete_collection" : "Delete Collection",
"disable_expression" : "Disable Expression",
"dopesheet_collapse" : "Dopesheet Collapse",
"dopesheet_expand" : "Dopesheet Expand",
"driver" : "Driver",
"edit_keyframe_value" : "Edit Keyframe Value",
"edit_meta" : "Edit Meta",
"enter_group" : "Enter Group",
"expand_all_sections" : "Expand All Sections",
"export_.zip" : "Export .zip",
"export_all" : "Export all",
"export_as_image" : "Export As Image",
"export_hovering_node" : "Export Hovering Node",
"export_selected_node" : "Export Selected Node",
"extract_value" : "Extract Value",
"globalvar" : "Globalvar",
"grid_settings" : "Grid Settings",
"hide_disconnected" : "Hide Disconnected",
"import_.zip" : "Import .zip",
"lock_keyframe_y" : "Lock Keyframe Y",
"new_preview_window" : "New Preview Window",
"onion_skin_settings" : "Onion Skin Settings",
"open_at" : "Open at",
"open_autosave_folder" : "Open Autosave Folder",
"open_group_in_new_tab" : "Open Group In New Tab",
"open_log_file" : "Open log file",
"open_safe" : "Open Safe",
"paste_value" : "Paste Value",
"remove_group" : "Remove Group",
"rename_group" : "Rename Group",
"replace" : "Replace",
"reset_animation" : "Reset Animation",
"reset_range" : "Reset Range",
"reset_to_default" : "Reset To Default",
"save_all_current_frames" : "Save All Current Frames",
"save_at" : "Save at",
"save_to_focused_file" : "Save to focused file",
"scale_x1" : "Scale x1",
"scale_x2" : "Scale x2",
"scale_x4" : "Scale x4",
"scale_x8" : "Scale x8",
"scaler" : "Scaler",
"send_to_inspector" : "Send To Inspector",
"send_to_preview_window" : "Send To Preview Window",
"send_to_preview" : "Send To Preview",
"separate_axis" : "Separate Axis",
"set_range_end" : "Set Range End",
"set_range_start" : "Set Range Start",
"set_tile_both" : "Set Tile Both",
"set_tile_horizontal" : "Set Tile Horizontal",
"set_tile_off" : "Set Tile Off",
"set_tile_vertical" : "Set Tile Vertical",
"snap_nodes" : "Snap Nodes",
"stagger" : "Stagger",
"tiling_settings" : "Tiling Settings",
"toggle_avoid_label" : "Toggle Avoid Label",
"toggle_bypass" : "Toggle Bypass",
"toggle_compute" : "Toggle Compute",
"toggle_control" : "Toggle Control",
"toggle_dimension" : "Toggle Dimension",
"toggle_grid_snap" : "Toggle Grid Snap",
"toggle_lock" : "Toggle Lock",
"toggle_minimap" : "Toggle Minimap",
"toggle_onion_skin_view" : "Toggle Onion Skin view",
"toggle_onion_skin" : "Toggle Onion Skin",
"toggle_pixel_grid" : "Toggle Pixel Grid",
"toggle_reset_view" : "Toggle Reset View",
"toggle_show_info" : "Toggle Show Info",
"toggle_show_origin" : "Toggle Show Origin",
"toggle_snap_to_grid" : "Toggle Snap to Grid",
"toggle_split_view" : "Toggle Split View",
"toggle_tile" : "Toggle Tile",
"update_steam" : "Update Steam",
"update_thumbnail" : "Update Thumbnail",
"upload_to_steam" : "Upload To Steam",
"use_expression" : "Use Expression",
"view_settings" : "View Settings",
"" : ""
}

Binary file not shown.

View file

@ -1,5 +1,4 @@
{
"safe_mode": "SAFE MODE",
"anim_length": "Animation length",
"anim_frame_rate": "Preview frame rate",
@ -404,8 +403,6 @@
"pref_ui_font": "Overwrite UI font",
"panel_menu_node_credit": "Node credit dialog",
"panel_collection_update_thumbnail": "Update thumbnail",
"panel_collection_workshop_upload": "Upload to Steam Workshop",
"panel_graph_toggle_parameter" : "Toggle node parameters",
"panel_graph_group_require_shift" : "Hold Shift to enter group",
"pref_add_node_remember" : "Remember add node position",
@ -425,7 +422,7 @@
"panel_driver" : "Driver...",
"panel_preview_lock_preview" : "Lock previewing node",
// 1.19
// 1.16
"global_variables": "Global Variables",
"panel_animation_keyframe_edit": "Edit Value...",
"panel_graph_hide_disconnected": "Hide stray junctions",

File diff suppressed because it is too large Load diff

View file

@ -356,7 +356,7 @@
"packing": "Packing",
"resume" : "Resume",
// 1.19
// 1.16
"histogram" : "Histogram",
"background": "Background",
"search": "Search",
@ -372,5 +372,115 @@
"palettes_mixer": "Palettes Mixer",
"release_note": "Release note",
//1.17.10
"3d_back_view" : "3D Back view",
"3d_bottom_view" : "3D Bottom view",
"3d_front_view" : "3D Front view",
"3d_left_view_" : "3D Left view ",
"3d_right_view_" : "3D Right view ",
"3d_sdf_view_settings" : "3D SDF View Settings",
"3d_snap_settings" : "3D Snap Settings",
"3d_top_view" : "3D Top view",
"3d_view_settings" : "3D View Settings",
"add_display" : "Add Display",
"addons_menu" : "Addons Menu",
"animate" : "Animate",
"append" : "Append",
"auto_align" : "Auto Align",
"blend_canvas" : "Blend Canvas",
"clear_all_notifications" : "Clear all notifications",
"clear_log_messages" : "Clear log messages",
"clear_warning_messages" : "Clear warning messages",
"close_all_files" : "Close all files",
"close_project" : "Close project",
"collapse_all_sections" : "Collapse All Sections",
"combine_axis" : "Combine Axis",
"command_palette" : "Command Palette",
"connection_settings" : "Connection Settings",
"console" : "Console",
"copy_color_hex" : "Copy Color Hex",
"copy_color" : "Copy Color",
"copy_current_frame" : "Copy Current Frame",
"copy_to_canvas" : "Copy to Canvas",
"copy_value" : "Copy Value",
"create_tunnel" : "Create Tunnel",
"delete_collection" : "Delete Collection",
"disable_expression" : "Disable Expression",
"dopesheet_collapse" : "Dopesheet Collapse",
"dopesheet_expand" : "Dopesheet Expand",
"driver" : "Driver",
"edit_keyframe_value" : "Edit Keyframe Value",
"edit_meta" : "Edit Meta",
"enter_group" : "Enter Group",
"expand_all_sections" : "Expand All Sections",
"export_.zip" : "Export .zip",
"export_all" : "Export all",
"export_as_image" : "Export As Image",
"export_hovering_node" : "Export Hovering Node",
"export_selected_node" : "Export Selected Node",
"extract_value" : "Extract Value",
"globalvar" : "Globalvar",
"grid_settings" : "Grid Settings",
"hide_disconnected" : "Hide Disconnected",
"import_.zip" : "Import .zip",
"lock_keyframe_y" : "Lock Keyframe Y",
"new_preview_window" : "New Preview Window",
"onion_skin_settings" : "Onion Skin Settings",
"open_at" : "Open at",
"open_autosave_folder" : "Open Autosave Folder",
"open_group_in_new_tab" : "Open Group In New Tab",
"open_log_file" : "Open log file",
"open_safe" : "Open Safe",
"paste_value" : "Paste Value",
"remove_group" : "Remove Group",
"rename_group" : "Rename Group",
"replace" : "Replace",
"reset_animation" : "Reset Animation",
"reset_range" : "Reset Range",
"reset_to_default" : "Reset To Default",
"save_all_current_frames" : "Save All Current Frames",
"save_at" : "Save at",
"save_to_focused_file" : "Save to focused file",
"scale_x1" : "Scale x1",
"scale_x2" : "Scale x2",
"scale_x4" : "Scale x4",
"scale_x8" : "Scale x8",
"scaler" : "Scaler",
"send_to_inspector" : "Send To Inspector",
"send_to_preview_window" : "Send To Preview Window",
"send_to_preview" : "Send To Preview",
"separate_axis" : "Separate Axis",
"set_range_end" : "Set Range End",
"set_range_start" : "Set Range Start",
"set_tile_both" : "Set Tile Both",
"set_tile_horizontal" : "Set Tile Horizontal",
"set_tile_off" : "Set Tile Off",
"set_tile_vertical" : "Set Tile Vertical",
"snap_nodes" : "Snap Nodes",
"stagger" : "Stagger",
"tiling_settings" : "Tiling Settings",
"toggle_avoid_label" : "Toggle Avoid Label",
"toggle_bypass" : "Toggle Bypass",
"toggle_compute" : "Toggle Compute",
"toggle_control" : "Toggle Control",
"toggle_dimension" : "Toggle Dimension",
"toggle_grid_snap" : "Toggle Grid Snap",
"toggle_lock" : "Toggle Lock",
"toggle_minimap" : "Toggle Minimap",
"toggle_onion_skin_view" : "Toggle Onion Skin view",
"toggle_onion_skin" : "Toggle Onion Skin",
"toggle_pixel_grid" : "Toggle Pixel Grid",
"toggle_reset_view" : "Toggle Reset View",
"toggle_show_info" : "Toggle Show Info",
"toggle_show_origin" : "Toggle Show Origin",
"toggle_snap_to_grid" : "Toggle Snap to Grid",
"toggle_split_view" : "Toggle Split View",
"toggle_tile" : "Toggle Tile",
"update_steam" : "Update Steam",
"update_thumbnail" : "Update Thumbnail",
"upload_to_steam" : "Upload To Steam",
"use_expression" : "Use Expression",
"view_settings" : "View Settings",
"" : ""
}

View file

@ -1,5 +1,4 @@
{
"safe_mode": "SAFE MODE",
"anim_length": "Animation length",
"anim_frame_rate": "Preview frame rate",
@ -323,17 +322,114 @@
"workspace_replace_current": "Replace with current",
"preview_3d_settings": "3D Preview Settings",
"graph_view_settings": "View Settings",
"graph_visibility_preview_scale": "Preview Scale",
"graph_visibility_avoid_label": "Avoid Label",
"graph_grid_settings": "Grid Settings",
"project.graphGrid.color": "Grid color",
"project.graphGrid.opacity": "Grid opacity",
"close_all_projects": "Close all projects",
"close_current_file": "Close current file",
"graph_connection_settings": "Connection Settings",
"graph_export_nodes": "Nodes",
"graph_grid_settings": "Grid Settings",
"graph_view_settings": "View Settings",
"graph_visibility_avoid_label": "Avoid Label",
"graph_visibility_preview_scale": "Preview Scale",
"onion_skin_frame_step": "Frame step",
"onion_skin_post_color": "Post Color",
"onion_skin_pre_color": "Pre Color",
"onion_skin_top": "Draw on top",
"panel_animation_lock_y": "Lock/Unlock Y easing",
"panel_debug_overlay": "Debug overlay",
"panel_inspector_axis_separate": "Separate axis",
"panel_inspector_extract_multiple": "Extract to...",
"panel_inspector_extract_single": "Extract to node",
"panel_inspector_pop_text": "Pop up Editor",
"panel_menu_export_render_all": "Render disabled node when export",
"panel_menu_steam_workshop": "Steam Workshop",
"panel_menu_tester": "Tester",
"pref_connection_highlight_fade": "Fade connection",
"pref_connection_highlight": "Highlight connection",
"pref_connection_quality": "Render quality",
"preview_3d_settings": "3D Preview Settings",
"preview_grid_settings": "Grid Settings",
"preview_onion_skin_settings": "Onion skin Settings",
"project_graphGrid_color": "Grid color",
"project_graphGrid_opacity": "Grid opacity",
"project_modified": "Project modified",
"project_settings": "Project Settings",
"save_project_'{1}'_before_exit?": "Save project '{1}' before exit?",
"widget_control_point_move": "Move",
"widget_control_point_wind": "Wind",
"widget_range_constant": "Constant",
"widget_range_random": "Random Range",
"widget_rotator_random_double_range": "Double Range",
"widget_rotator_random_double_span": "Double Span",
"widget_rotator_random_range": "Range",
"widget_rotator_random_span": "Span",
"pref_clear_temp": "Clear temp file on close.",
"pref_connection_type": "Connection type",
"pref_use_alt": "Use ALT for",
"meta_old_version": "Created on an older version",
"open_in_safe_mode": "Open in safe mode",
"group_properties": "Group Properties",
"panel_inspector_axis_combine": "Combine axis",
"panel_inspector_disable_expression": "Disable expression",
"new_folder": "New folder",
"panel_graph_enter_group_new_tab": "Open group in new tab",
"set_as_group_tool": "Set as group tool",
"panel_graph_align_nodes": "Align nodes",
"panel_graph_copy_prop": "Copy all properties",
"panel_graph_paste_prop": "Paste all properties",
"node_color": "Node Color",
"connection_color": "Connection Color",
"pref_pages_interface": "Interface",
"pref_directory_temp": "Temp path (restart required)",
"pref_inspector_focus_on_double_click": "Focus on double click",
"notification": "Notification",
"pref_pan_key": "Panning key",
"reload_theme": "Reload theme",
"reset_layout": "Reset layout",
"close_current_project": "Close current project",
"panel_menu_connect_patreon": "Connect to Patreon",
"pref_directory_ImageMagick": "ImageMagick path*",
"pref_directory_webp": "Webp path*",
"pref_directory_gifski": "Gifski path*",
"pref_directory_FFmpeg": "FFmpeg path*",
"pref_supporter_icon": "Show supporter icon",
"pref_graph_group_in_tab": "Open group in new tab",
"pref_widget_autocomplete_delay": "Code Autocomplete delay",
"panel_collection_workshop_update": "Update Steam Workshop content",
"meta_new_version": "Created on a newer version",
"pref_ui_font": "Overwrite UI font",
"panel_menu_node_credit": "Node credit dialog",
"panel_graph_toggle_parameter" : "Toggle node parameters",
"panel_graph_group_require_shift" : "Hold Shift to enter group",
"pref_add_node_remember" : "Remember add node position",
"pref_preview_show_real_fps" : "Show real fps",
"pref_widget_textbox_shake" : "Textbox shake",
"pref_widget_textbox_particles" : "Textbox particles",
"panel_menu_test_error" : "Display Error",
"pref_node_param_show" : "Show paramater on new node",
"panel_menu_test_warning" : "Display Warning",
"pref_node_param_width" : "Default param width",
"panel_menu_test_gen_theme" : "Generate theme object",
"collapse_toggle" : "Collapse Toggle",
"panel_animation_name_only" : "Node name",
"toggle_nodes" : "Toggle nodes",
"panel_animation_name_type" : "Node type",
"toggle_parameters" : "Toggle parameters",
"panel_driver" : "Driver...",
"panel_preview_lock_preview" : "Lock previewing node",
// 1.16
"global_variables": "Global Variables",
"panel_animation_keyframe_edit": "Edit Value...",
"panel_graph_hide_disconnected": "Hide stray junctions",
"panel_graph_tunnel": "Create tunnels",
"art_by_kenney": "Art by Kenney",
"panel_menu_reset_layout": "Reset layout",
"panel_graph_toggle_minimap": "Toggle minimap",
"" : ""
}

File diff suppressed because it is too large Load diff

View file

@ -190,23 +190,297 @@
"zoom_to_fit": "Zoom to fit",
"zoom": "Zoom",
"onion_skin": "Onion skin",
"default_surface": "Default Surface",
"palette": "Palette",
"misc": "Misc",
"action": "Action",
"custom": "Custom",
"light": "Light",
"legacy": "Legacy",
"region": "Region",
"armature": "Armature",
"surface": "Surface",
"buffer": "Buffer",
"shader": "Shader",
"system": "System",
"linked": "Linked",
"curve": "Curve",
"custom": "Custom",
"default_surface": "Default Surface",
"euler": "Euler",
"format_": "Format ",
"independent": "Independent",
"legacy": "Legacy",
"light": "Light",
"linked": "Linked",
"misc.": "Misc.",
"misc": "Misc",
"number": "Number",
"onion_skin": "Onion skin",
"opacity": "Opacity",
"output": "Output",
"palette": "Palette",
"path": "Path",
"quaternion": "Quaternion",
"radius": "radius",
"region": "Region",
"render": "Render",
"save_all": "Save all",
"scale": "Scale",
"settings": "Settings",
"shader": "Shader",
"shape": "Shape",
"render": "Render"
"surface": "Surface",
"system": "System",
"text": "Text",
"3d_camera": "3D Camera",
"add_bones": "Add bones",
"add_node": "Add node",
"add_number": "Add number",
"add_vector2": "Add vector2",
"add_vector3": "Add vector3",
"add_vector4": "Add vector4",
"adjust_control_point": "Adjust control point",
"anchor_add_/_remove": "Anchor add / remove",
"anchor_remove": "Anchor remove",
"array": "Array",
"assetbox": "Assetbox",
"bg": "Bg",
"blend": "Blend",
"canvas_blend": "Canvas blend",
"canvas": "Canvas",
"circle_path": "Circle path",
"close_file": "Close file",
"collection": "Collection",
"color_picker": "Color picker",
"comb": "Comb",
"copy_property": "Copy property",
"delete_(break)": "Delete (break)",
"delete_(merge)": "Delete (merge)",
"delete_keys": "Delete keys",
"detach_bones": "Detach bones",
"dialog": "Dialog",
"draw_path": "Draw path",
"edit_control_point": "Edit control point",
"ellipse": "Ellipse",
"eraser": "Eraser",
"fill": "Fill",
"first_frame": "First frame",
"focus_content": "Focus content",
"full_panel": "Full panel",
"grab": "Grab",
"ik": "IK",
"import_image_array": "Import image array",
"import_image": "Import image",
"last_frame": "Last frame",
"main": "Main",
"mesh_edit": "Mesh edit",
"mesh_warp": "Mesh Warp",
"move_target": "Move Target",
"new_file": "New file",
"next_frame": "Next frame",
"open_notification": "Open notification",
"pan": "Pan",
"panel": "Panel",
"paste_property": "Paste property",
"path_anchor": "Path Anchor",
"pencil": "Pencil",
"pin_mesh": "Pin mesh",
"play/pause": "Play/Pause",
"preview_focusing_node": "Preview focusing node",
"preview_window": "Preview window",
"previous_frame": "Previous frame",
"push": "Push",
"rectangle_path": "Rectangle path",
"rectangle": "Rectangle",
"remove_bones": "Remove bones",
"render_all": "Render all",
"resume/pause": "Resume/Pause",
"rigid_object": "Rigid Object",
"rotate": "Rotate",
"rotation": "Rotation",
"save_all_current_frame": "Save all current frame",
"save_current_frame": "Save current frame",
"scrollbar": "Scrollbar",
"select_all": "Select all",
"selection": "Selection",
"shorten": "Shorten",
"strand_create": "Strand Create",
"stretch": "Stretch",
"surfaces": "Surfaces",
"toggle_animation": "Toggle animation",
"toggle_grid": "Toggle grid",
"toggle_preview": "Toggle preview",
"toggle_render": "Toggle render",
"transform_node": "Transform node",
"widget": "Widget",
"workshop": "Workshop",
"rename": "Rename",
"inputs": "Inputs",
"save/load": "Save/Load",
"crash": "Crash",
"splash": "Splash",
"quality": "Quality",
"display": "Display",
"data": "Data",
"layers": "Layers",
"brush": "Brush",
"sprite": "Sprite",
"spawn": "Spawn",
"movement": "Movement",
"physics": "Physics",
"ground": "Ground",
"wiggles": "Wiggles",
"sdf": "SDF",
"level": "Level",
"channel": "Channel",
"solid": "Solid",
"noise": "Noise",
"pattern": "Pattern",
"related": "Related",
"uncategorized": "uncategorized",
"libraries": "Libraries",
"extra": "Extra",
"modify": "Modify",
"points": "Points",
"text_area": "Text Area",
"safe_mode": "SAFE MODE",
"read_only": "READ ONLY",
"untitled": "Untitled",
"supporter": "Supporter",
"supporter_exclusive": "Supporter exclusive",
"external": "External",
"mk_effects": "MK Effects",
"flip_fluid": "FLIP Fluid",
"projects": "Projects",
"project": "Project",
"portable_project_(.zip)": "Portable project (.zip)",
"brightness": "Brightness",
"alpha": "Alpha",
"material": "Material",
"packing": "Packing",
"resume" : "Resume",
// 1.16
"histogram" : "Histogram",
"background": "Background",
"search": "Search",
"welcome_files": "Welcome Files",
"palette_mixer": "Palette Mixer",
"file_explorer": "File Explorer",
"show_avatar" : "Show Avatar",
"open_in_explorer" : "Open in explorer",
"downloads": "Downloads",
"label": "Label",
"list": "List",
"view_mode": "View mode",
"palettes_mixer": "Palettes Mixer",
"release_note": "Release note",
//1.17.10
"3d_back_view" : "3D Back view",
"3d_bottom_view" : "3D Bottom view",
"3d_front_view" : "3D Front view",
"3d_left_view_" : "3D Left view ",
"3d_right_view_" : "3D Right view ",
"3d_sdf_view_settings" : "3D SDF View Settings",
"3d_snap_settings" : "3D Snap Settings",
"3d_top_view" : "3D Top view",
"3d_view_settings" : "3D View Settings",
"add_display" : "Add Display",
"addons_menu" : "Addons Menu",
"animate" : "Animate",
"append" : "Append",
"auto_align" : "Auto Align",
"blend_canvas" : "Blend Canvas",
"clear_all_notifications" : "Clear all notifications",
"clear_log_messages" : "Clear log messages",
"clear_warning_messages" : "Clear warning messages",
"close_all_files" : "Close all files",
"close_project" : "Close project",
"collapse_all_sections" : "Collapse All Sections",
"combine_axis" : "Combine Axis",
"command_palette" : "Command Palette",
"connection_settings" : "Connection Settings",
"console" : "Console",
"copy_color_hex" : "Copy Color Hex",
"copy_color" : "Copy Color",
"copy_current_frame" : "Copy Current Frame",
"copy_to_canvas" : "Copy to Canvas",
"copy_value" : "Copy Value",
"create_tunnel" : "Create Tunnel",
"delete_collection" : "Delete Collection",
"disable_expression" : "Disable Expression",
"dopesheet_collapse" : "Dopesheet Collapse",
"dopesheet_expand" : "Dopesheet Expand",
"driver" : "Driver",
"edit_keyframe_value" : "Edit Keyframe Value",
"edit_meta" : "Edit Meta",
"enter_group" : "Enter Group",
"expand_all_sections" : "Expand All Sections",
"export_.zip" : "Export .zip",
"export_all" : "Export all",
"export_as_image" : "Export As Image",
"export_hovering_node" : "Export Hovering Node",
"export_selected_node" : "Export Selected Node",
"extract_value" : "Extract Value",
"globalvar" : "Globalvar",
"grid_settings" : "Grid Settings",
"hide_disconnected" : "Hide Disconnected",
"import_.zip" : "Import .zip",
"lock_keyframe_y" : "Lock Keyframe Y",
"new_preview_window" : "New Preview Window",
"onion_skin_settings" : "Onion Skin Settings",
"open_at" : "Open at",
"open_autosave_folder" : "Open Autosave Folder",
"open_group_in_new_tab" : "Open Group In New Tab",
"open_log_file" : "Open log file",
"open_safe" : "Open Safe",
"paste_value" : "Paste Value",
"remove_group" : "Remove Group",
"rename_group" : "Rename Group",
"replace" : "Replace",
"reset_animation" : "Reset Animation",
"reset_range" : "Reset Range",
"reset_to_default" : "Reset To Default",
"save_all_current_frames" : "Save All Current Frames",
"save_at" : "Save at",
"save_to_focused_file" : "Save to focused file",
"scale_x1" : "Scale x1",
"scale_x2" : "Scale x2",
"scale_x4" : "Scale x4",
"scale_x8" : "Scale x8",
"scaler" : "Scaler",
"send_to_inspector" : "Send To Inspector",
"send_to_preview_window" : "Send To Preview Window",
"send_to_preview" : "Send To Preview",
"separate_axis" : "Separate Axis",
"set_range_end" : "Set Range End",
"set_range_start" : "Set Range Start",
"set_tile_both" : "Set Tile Both",
"set_tile_horizontal" : "Set Tile Horizontal",
"set_tile_off" : "Set Tile Off",
"set_tile_vertical" : "Set Tile Vertical",
"snap_nodes" : "Snap Nodes",
"stagger" : "Stagger",
"tiling_settings" : "Tiling Settings",
"toggle_avoid_label" : "Toggle Avoid Label",
"toggle_bypass" : "Toggle Bypass",
"toggle_compute" : "Toggle Compute",
"toggle_control" : "Toggle Control",
"toggle_dimension" : "Toggle Dimension",
"toggle_grid_snap" : "Toggle Grid Snap",
"toggle_lock" : "Toggle Lock",
"toggle_minimap" : "Toggle Minimap",
"toggle_onion_skin_view" : "Toggle Onion Skin view",
"toggle_onion_skin" : "Toggle Onion Skin",
"toggle_pixel_grid" : "Toggle Pixel Grid",
"toggle_reset_view" : "Toggle Reset View",
"toggle_show_info" : "Toggle Show Info",
"toggle_show_origin" : "Toggle Show Origin",
"toggle_snap_to_grid" : "Toggle Snap to Grid",
"toggle_split_view" : "Toggle Split View",
"toggle_tile" : "Toggle Tile",
"update_steam" : "Update Steam",
"update_thumbnail" : "Update Thumbnail",
"upload_to_steam" : "Upload To Steam",
"use_expression" : "Use Expression",
"view_settings" : "View Settings",
"" : ""
}

View file

@ -98,7 +98,7 @@ event_inherited();
var io = global.NODE_GUIDE[$ node.node];
if(node_called) {
var call_in = node_called.connect_type == JUNCTION_CONNECT.input;
var call_in = node_called.connect_type == CONNECT_TYPE.input;
var ar = call_in? io.outputs : io.inputs;
var typ = node_called.type;
@ -228,7 +228,7 @@ event_inherited();
//try to connect
if(node_called != noone) { //dragging from junction
var _call_input = node_called.connect_type == JUNCTION_CONNECT.input;
var _call_input = node_called.connect_type == CONNECT_TYPE.input;
var _junc_list = _call_input? _outputs : _inputs;
for(var i = 0; i < array_length(_junc_list); i++) {
@ -407,7 +407,7 @@ event_inherited();
if(node_called != noone) {
array_append(sug, nodeReleatedQuery(
node_called.connect_type == JUNCTION_CONNECT.input? "connectTo" : "connectFrom",
node_called.connect_type == CONNECT_TYPE.input? "connectTo" : "connectFrom",
node_called.type
));
}

View file

@ -53,7 +53,7 @@
bx -= bw + ui(4);
var txt = __txtx("cancel", "Cancel");
var txt = __txt("Cancel");
var icon = THEME.cross;
var clr = COLORS._main_value_negative;

View file

@ -30,8 +30,8 @@ event_inherited();
function setNode(node, type) {
self.node = node;
self.type = type;
self.display_list = type == JUNCTION_CONNECT.input? node.attributes.input_display_list : node.attributes.output_display_list;
self.junction_list = type == JUNCTION_CONNECT.input? node.inputs : node.outputs;
self.display_list = type == CONNECT_TYPE.input? node.attributes.input_display_list : node.attributes.output_display_list;
self.junction_list = type == CONNECT_TYPE.input? node.inputs : node.outputs;
}
#endregion

View file

@ -23,7 +23,7 @@ if !ready exit;
var bx = dialog_x + dialog_w - ui(32 + 16);
var by = dialog_y + ui(16);
if(type == JUNCTION_CONNECT.input) {
if(type == CONNECT_TYPE.input) {
var _txt = __txtx("dialog_group_order_add", "Add separator");
if(buttonInstant(THEME.button_hide, bx, by, ui(32), ui(32), mouse_ui, sFOCUS, sHOVER, _txt, THEME.add_16, 1, COLORS._main_value_positive) == 2) {
array_push(node.attributes.input_display_list, [ "Separator", false ]);

View file

@ -56,6 +56,7 @@
var t = current_time;
PREF_LOAD(); log_message("SESSION", $"> init Preferences | complete in {get_timer() - t}"); t = get_timer();
if(!IS_CMD) { __initLocale(); log_message("SESSION", $"> init Locale | complete in {get_timer() - t}"); t = get_timer(); }
if(!IS_CMD) { __initHotKey(); log_message("SESSION", $"> init Hotkeys | complete in {get_timer() - t}"); t = get_timer(); }
__fnInit();
@ -75,7 +76,6 @@
__initKeys()
__initPatreon(); log_message("SESSION", $"> init Patreon | complete in {get_timer() - t}"); t = get_timer();
if(!IS_CMD) { __initTheme(); log_message("SESSION", $"> init Theme | complete in {get_timer() - t}"); t = get_timer(); }
if(!IS_CMD) { __initLocale(); log_message("SESSION", $"> init Locale | complete in {get_timer() - t}"); t = get_timer(); }
if(!IS_CMD) { loadFonts(); log_message("SESSION", $"> init Font | complete in {get_timer() - t}"); t = get_timer(); }
if(!IS_CMD) { __initProject(); log_message("SESSION", $"> init Project | complete in {get_timer() - t}"); t = get_timer(); }

View file

@ -66,7 +66,7 @@ function __Node_3D_Combine(_x, _y, _group = noone) : Node(_x, _y, _group) constr
static createNewInput = function() {
var index = array_length(inputs);
newInput(index, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone ))
newInput(index, nodeValue("3D object", self, CONNECT_TYPE.input, VALUE_TYPE.d3object, noone ))
.setVisible(true, true);
array_push(input_display_list, index);

View file

@ -27,7 +27,7 @@ function __Node_3D_Displace(_x, _y, _group = noone) : Node_Processor(_x, _y, _gr
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
newInput(11, nodeValue("3D vertex", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, []))
newInput(11, nodeValue("3D vertex", self, CONNECT_TYPE.input, VALUE_TYPE.d3vertex, []))
.setVisible(true, true);
newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))

View file

@ -1,7 +1,7 @@
function __Node_3D_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "3D Export";
newInput(0, nodeValue("Vertex data", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3vertex, [] ))
newInput(0, nodeValue("Vertex data", self, CONNECT_TYPE.input, VALUE_TYPE.d3vertex, [] ))
.setVisible(true, true);
newInput(1, nodeValue_Path("Path", self, "", "Export location without '.obj' extension." ))

View file

@ -14,12 +14,12 @@ function Node_3D_Object(_x, _y, _group = noone) : Node_3D(_x, _y, _group) constr
newInput(2, nodeValue_Vec3("Scale", self, [ 1, 1, 1 ]));
inputs[3] = nodeValue_Vec3("Anchor", self, [ 0, 0, 0 ], {
newInput(3, nodeValue_Vec3("Anchor", self, [ 0, 0, 0 ], {
linkable: false,
side_button : button(function() { apply_anchor = !apply_anchor; triggerRender(); })
.setIcon(THEME.icon_3d_anchor, [ function() /*=>*/ {return apply_anchor} ], c_white)
.setTooltip("Apply Position")
});
}));
in_d3d = array_length(inputs);

View file

@ -26,7 +26,7 @@ function __Node_3D_Repeat(_x, _y, _group = noone) : Node(_x, _y, _group) constru
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
newInput(11, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone))
newInput(11, nodeValue("3D object", self, CONNECT_TYPE.input, VALUE_TYPE.d3object, noone))
.setVisible(true, true);
newInput(12, nodeValue_Int("Repeat", self, 1, "Amount of copies to be generated."));

View file

@ -27,7 +27,7 @@ function __Node_3D_Transform(_x, _y, _group = noone) : Node_Processor(_x, _y, _g
newInput(10, nodeValue_Color("Ambient color", self, c_grey));
newInput(11, nodeValue("3D object", self, JUNCTION_CONNECT.input, VALUE_TYPE.d3object, noone))
newInput(11, nodeValue("3D object", self, CONNECT_TYPE.input, VALUE_TYPE.d3object, noone))
.setVisible(true, true);
newInput(12, nodeValue_Enum_Button("Projection", self, 0, [ "Orthographic", "Perspective" ]))

View file

@ -26,7 +26,7 @@ function Node_VFX_effector(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(1, nodeValue_Area("Area", self, DEF_AREA))
.rejectArray();
newInput(2, nodeValue("Falloff", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01 ))
newInput(2, nodeValue("Falloff", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01 ))
.rejectArray();
newInput(3, nodeValue_Float("Falloff distance", self, 4 ))

View file

@ -49,7 +49,7 @@ function Node_Custom(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
for( var i = 0, n = array_length(info.inputs); i < n; i++ ) {
var _input = info.inputs[i];
newInput(i, nodeValue(_input.name, self, JUNCTION_CONNECT.input, value_type_from_string(_input.type), _input.value))
newInput(i, nodeValue(_input.name, self, CONNECT_TYPE.input, value_type_from_string(_input.type), _input.value))
.setVisible(_input.show_in_inspector, _input.show_in_graph);
input_index_map[? _input.name] = i;

View file

@ -10,7 +10,7 @@ function nodeValue_Vector(_name, _node, _value, _data = {}) {
return new NodeValue_Array(_name, _node, _value, "", _len);
}
function NodeValue_Array(_name, _node, _value, _tooltip = "", _length = 2) : NodeValue(_name, _node, JUNCTION_CONNECT.input, VALUE_TYPE.float, _value, _tooltip) constructor {
function NodeValue_Array(_name, _node, _value, _tooltip = "", _length = 2) : NodeValue(_name, _node, CONNECT_TYPE.input, VALUE_TYPE.float, _value, _tooltip) constructor {
data_array_length = _length;

View file

@ -1,6 +1,6 @@
function nodeValue_Object(_name, _node, _value, _tooltip = "") { return new NodeValue_Object(_name, _node, _value, _tooltip); }
function __NodeValue_Object(_name, _node, _type, _value, _tooltip = "") : NodeValue(_name, _node, JUNCTION_CONNECT.input, _type, _value, _tooltip) constructor {
function __NodeValue_Object(_name, _node, _type, _value, _tooltip = "") : NodeValue(_name, _node, CONNECT_TYPE.input, _type, _value, _tooltip) constructor {
animable = false;

View file

@ -79,9 +79,11 @@ function Panel_Linear_Setting() : PanelContent() constructor {
_widg.setFocusHover(pFOCUS, pHOVER);
_widg.register();
var _whover = false;
if(pHOVER && point_in_rectangle(mx, my, 0, yy - th / 2, w, yy + th / 2)) {
bg_y_to = yy - th / 2;
_hov = true;
_whover = true;
}
draw_set_text(f_p1, fa_left, fa_center, COLORS._main_text);
@ -104,7 +106,7 @@ function Panel_Linear_Setting() : PanelContent() constructor {
if(_prop.action != noone) {
var _key = _prop.action.hotkey;
if(_hov && !_widg.inBBOX([ mx, my ]) && mouse_press(mb_right)) {
if(_whover && !_widg.inBBOX([ mx, my ]) && mouse_press(mb_right)) {
selecting_menu = _key;
var context_menu_settings = [

View file

@ -25,13 +25,13 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(10, nodeValue_Vec2_Range("Spawn scale", self, [ 1, 1, 1, 1 ] , { linked : true }));
newInput(11, nodeValue("Scale over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
newInput(11, nodeValue("Scale over time", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
newInput(12, nodeValue_Gradient("Color over lifetime", self, new gradientObject(cola(c_white))));
newInput(13, nodeValue_Range("Alpha", self, [ 1, 1 ], { linked : true }));
newInput(14, nodeValue("Alpha over time", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11));
newInput(14, nodeValue("Alpha over time", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_11));
newInput(15, nodeValue_Bool("Rotate by direction", self, false, "Make the particle rotates to follow its movement."));
@ -108,7 +108,7 @@ function Node_VFX_Spawner_Base(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(46, nodeValue_PathNode("Path", self, noone ));
newInput(47, nodeValue("Path Deviation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
newInput(47, nodeValue("Path Deviation", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
newInput(48, nodeValue_Trigger("Reset Seed", self, false ))
.setDisplay(VALUE_DISPLAY.button, { name: "Trigger" })

View file

@ -40,7 +40,7 @@ function _Node_Strand_Affector(_x, _y, _group = noone) : Node(_x, _y, _group) co
icon = THEME.strandSim;
setDimension(96, 48);
newInput(0, nodeValue("Strand", self, JUNCTION_CONNECT.input, VALUE_TYPE.strands, noone))
newInput(0, nodeValue("Strand", self, CONNECT_TYPE.input, VALUE_TYPE.strands, noone))
.setVisible(true, true);
newInput(1, nodeValue_Enum_Scroll("Shape", self, 0, [ "Point", "Band" ]));

View file

@ -2,80 +2,76 @@
globalvar DEBUG_COUNTER;
DEBUG_COUNTER = ds_map_create();
function __debug_counter(key) {
if(ds_map_exists(DEBUG_COUNTER, key))
DEBUG_COUNTER[? key]++;
else
DEBUG_COUNTER[? key] = 1;
print(key + ": " + string(DEBUG_COUNTER[? key]));
}
// #mfunc log(msg) show_debug_message("[" + @@__FILE__ + ":" + @@__LINE_STR__ + "] " + string(msg))
#endregion
function _log_template() { #region
function __debug_counter(key) {
if(ds_map_exists(DEBUG_COUNTER, key)) DEBUG_COUNTER[? key]++;
else DEBUG_COUNTER[? key] = 1;
print($"{key}: {DEBUG_COUNTER[? key]}");
}
function _log_template() {
INLINE
return $"{current_year}/{current_month}/{current_day} {string_lead_zero(current_hour, 2)}:{string_lead_zero(current_minute, 2)}:{string_lead_zero(current_second, 2)} > ";
} #endregion
}
function __log(title, str, fname = "log/log.txt") { #region
function __log(title, str, fname = "log/log.txt") {
var path = DIRECTORY + fname;
var f = file_text_open_append(path);
var t = _log_template();
file_text_write_string(f, $"{title}{t}{str}\n");
file_text_close(f);
} #endregion
}
function log_console(str, wait = false) { #region
function log_console(str, wait = false) {
INLINE
show_debug_message($"CLI: {str}");
if(wait) cli_wait();
return;
} #endregion
}
function cli_wait() { #region
INLINE
show_debug_message("WAIT");
return;
} #endregion
function cli_wait() { INLINE show_debug_message("WAIT"); return; }
function log_message(title, str, icon = noone, flash = false, write = true) { #region
function log_message(title, str, icon = noone, flash = false, write = true) {
if(TEST_ERROR) return;
if(IS_CMD) { show_debug_message($"{title}: {str}"); return; }
if(write) __log("[MESSAGE] ", $"{title}: {str}");
return noti_status($"{title}: {str}", icon, flash);
} #endregion
}
function log_warning(title, str, ref = noone) { #region
function log_warning(title, str, ref = noone) {
if(TEST_ERROR) return;
if(IS_CMD) { show_debug_message($"{title}: {str}"); return; }
__log("[WARNING] ", string(title) + ": " + string(str));
return noti_warning(string(title) + ": " + string(str),, ref);
} #endregion
}
function log_crash(str) { #region
function log_crash(str) {
if(TEST_ERROR) return;
if(IS_CMD) { show_debug_message($"{title}: {str}"); return; }
__log("[ERROR] ", string(str));
return noti_error(string(str));
} #endregion
}
function log_newline() { #region
function log_newline() {
var path = DIRECTORY + "log/log.txt";
var f = file_text_open_write(path);
file_text_writeln(f);
file_text_close(f);
} #endregion
}
function log_clear() { #region
function log_clear() {
var path = DIRECTORY + "log/log.txt";
if(file_exists_empty(path))
file_delete(path);
} #endregion
}
function os_type_sting() {
switch(os_type) {
@ -87,7 +83,7 @@ function os_type_sting() {
return "undefined";
}
function exception_print(e) { #region
function exception_print(e) {
if(!is_struct(e) || !struct_has(e, "longMessage")) return string(e);
var str = $"\n\n========== Crash log [PXC {VERSION_STRING}] [{os_type_sting()}] ==========\n\n" + e.longMessage;
@ -99,9 +95,9 @@ function exception_print(e) { #region
str += "\n\n========= Crash log end =========\n";
return str;
} #endregion
}
function setException() { #region
function setException() {
if(OS == os_macosx) return noone;
exception_unhandled_handler(function(ex) {
@ -137,11 +133,11 @@ function setException() { #region
return 0;
});
} #endregion
}
function resetException() { exception_unhandled_handler(undefined); }
function printCallStack(maxDepth = 32) { #region
function printCallStack(maxDepth = 32) {
var stack = debug_get_callstack(maxDepth);
print($"Call Stack:");
@ -170,4 +166,4 @@ function printCallStack(maxDepth = 32) { #region
}
}
print("")
} #endregion
}

View file

@ -37,10 +37,10 @@
globalvar HOTKEYS, HOTKEY_CONTEXT;
LATEST_VERSION = 1_16_00_0;
VERSION = 1_17_10_3;
VERSION = 1_17_10_4;
SAVE_VERSION = 1_17_10_0;
VERSION_STRING = "1.17.10.3";
BUILD_NUMBER = 1_17_10_3;
VERSION_STRING = "1.17.10.4";
BUILD_NUMBER = 1_17_10_4;
HOTKEYS = ds_map_create();
HOTKEY_CONTEXT = ds_list_create();

View file

@ -48,7 +48,7 @@ function __txtx(key, def = "") {
if(TEST_LOCALE) {
if(key != "" && !struct_has(LOCALE.word, key) && !struct_has(LOCALE.ui, key)) {
global.missing_locale[$ key] = def;
show_debug_message($"LOCALE: {global.missing_locale}");
show_debug_message($"LOCALE: {global.missing_locale}\n");
return def;
}
return "";
@ -65,13 +65,12 @@ function __txt(txt, prefix = "") {
if(LOCALE_DEF && !TEST_LOCALE) return txt;
var key = string_lower(txt);
key = string_replace_all(key, " ", "_");
var key = string_replace_all(string_lower(txt), " ", "_");
if(TEST_LOCALE) {
if(key != "" && !struct_has(LOCALE.word, key) && !struct_has(LOCALE.ui, key)) {
global.missing_locale[$ key] = txt;
show_debug_message($"LOCALE: {global.missing_locale}");
show_debug_message($"LOCALE: {global.missing_locale}\n");
return txt;
}
return "";
@ -143,7 +142,7 @@ function __txt_junction_name(node, type, index, def = "") {
return def;
var nde = LOCALE.node[$ node];
var lst = type == JUNCTION_CONNECT.input? nde.inputs : nde.outputs;
var lst = type == CONNECT_TYPE.input? nde.inputs : nde.outputs;
if(index >= array_length(lst)) return def;
return lst[index].name;
@ -166,7 +165,7 @@ function __txt_junction_tooltip(node, type, index, def = "") {
return def;
var nde = LOCALE.node[$ node];
var lst = type == JUNCTION_CONNECT.input? nde.inputs : nde.outputs;
var lst = type == CONNECT_TYPE.input? nde.inputs : nde.outputs;
if(index >= array_length(lst)) return def;
return lst[index].tooltip;
@ -189,7 +188,7 @@ function __txt_junction_data(node, type, index, def = []) {
return def;
var nde = LOCALE.node[$ node];
var lst = type == JUNCTION_CONNECT.input? nde.inputs : nde.outputs;
var lst = type == CONNECT_TYPE.input? nde.inputs : nde.outputs;
if(index >= array_length(lst)) return def;
if(!struct_has(lst[index], "display_data"))

View file

@ -12,7 +12,7 @@ function Node_MK_Delay_Machine(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(3, nodeValue_Palette("Blend over Delay", self, [ c_white ]));
newInput(4, nodeValue("Alpha over Delay", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11));
newInput(4, nodeValue("Alpha over Delay", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_11));
newInput(5, nodeValue_Enum_Scroll("Palette Select", self, 0, [ "Loop", "Pingpong", "Random" ]));

View file

@ -34,7 +34,7 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc
}
var butx = xx;
if(jun.connect_type == JUNCTION_CONNECT.input && jun.isAnimable() && !jun.expUse) { // animation
if(jun.connect_type == CONNECT_TYPE.input && jun.isAnimable() && !jun.expUse) { // animation
var index = jun.hasJunctionFrom()? 2 : jun.is_anim;
var cc = c_white;
@ -160,7 +160,7 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc
#endregion
#region anim
if(jun.connect_type == JUNCTION_CONNECT.input && breakLine && jun.is_anim) {
if(jun.connect_type == CONNECT_TYPE.input && breakLine && jun.is_anim) {
var _anim = jun.animator;
var bx = xx + ww - ui(12);
@ -242,7 +242,7 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc
#endregion
#region right buttons
if(jun.connect_type == JUNCTION_CONNECT.input && breakLine && !jun.is_anim && !global_var) {
if(jun.connect_type == CONNECT_TYPE.input && breakLine && !jun.is_anim && !global_var) {
var bx = xx + ww + ui(16);
var by = lb_y;
var bs = ui(24);
@ -339,7 +339,7 @@ function drawWidget(xx, yy, ww, _m, jun, global_var = true, _hover = false, _foc
} else if(wid && jun.display_type != VALUE_DISPLAY.none) { // edit widget
wid.setFocusHover(_focus, _hover);
if(jun.connect_type == JUNCTION_CONNECT.input) {
if(jun.connect_type == CONNECT_TYPE.input) {
wid.setInteract(!jun.hasJunctionFrom());
if(_focus) wid.register(_scrollPane);

View file

@ -17,10 +17,10 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(0, nodeValue_Surface("Surface in", self));
inputs[1] = nodeValue_Enum_Scroll("Light shape", self, 0, [ new scrollItem("Point", s_node_2d_light_shape, 0),
new scrollItem("Line", s_node_2d_light_shape, 1),
new scrollItem("Line asymmetric", s_node_2d_light_shape, 2),
new scrollItem("Spot", s_node_2d_light_shape, 3), ]);
newInput(1, nodeValue_Enum_Scroll("Light shape", self, 0, [ new scrollItem("Point", s_node_2d_light_shape, 0),
new scrollItem("Line", s_node_2d_light_shape, 1),
new scrollItem("Line asymmetric", s_node_2d_light_shape, 2),
new scrollItem("Spot", s_node_2d_light_shape, 3), ]));
newInput(2, nodeValue_Vec2("Center", self, [ 16, 16 ]))
.setUnitRef(function(index) { return getDimension(index); });
@ -45,10 +45,10 @@ function Node_2D_light(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(10, nodeValue_Int("Banding", self, 0))
.setDisplay(VALUE_DISPLAY.slider, { range: [0, 16, 0.1] });
inputs[11] = nodeValue_Enum_Scroll("Attenuation", self, 0,
newInput(11, nodeValue_Enum_Scroll("Attenuation", self, 0,
[ new scrollItem("Quadratic", s_node_curve, 0),
new scrollItem("Invert quadratic", s_node_curve, 1),
new scrollItem("Linear", s_node_curve, 2), ])
new scrollItem("Linear", s_node_curve, 2), ]))
.setTooltip("Control how light fade out over distance.");
newInput(12, nodeValue_Int("Radial banding", self, 0))

View file

@ -25,7 +25,7 @@ function Node_3D_Mesh_Path_Extrude(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y
newInput(in_mesh + 7, nodeValue_Float("Radius", self, 0.25 ))
.setDisplay(VALUE_DISPLAY.slider);
newInput(in_mesh + 8, nodeValue("Radius Over Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
newInput(in_mesh + 8, nodeValue("Radius Over Path", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_11 ));
newInput(in_mesh + 9, nodeValue_Vec2("Texture Scale", self, [ 1, 1 ] ));

View file

@ -14,10 +14,10 @@ function Node_3D_Point_Affector(_x, _y, _group = noone) : Node_3D_Object(_x, _y,
newInput(in_d3d + 3, nodeValue_Float("Falloff distance", self, 0.5));
newInput(in_d3d + 4, nodeValue("Falloff curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(in_d3d + 4, nodeValue("Falloff curve", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
inputs[in_d3d + 5] = nodeValue_Enum_Scroll("Shape", self, 0, [ new scrollItem("Sphere", s_node_3d_affector_shape, 0),
new scrollItem("Plane", s_node_3d_affector_shape, 1), ]);
newInput(in_d3d + 5, nodeValue_Enum_Scroll("Shape", self, 0, [ new scrollItem("Sphere", s_node_3d_affector_shape, 0),
new scrollItem("Plane", s_node_3d_affector_shape, 1), ]));
outputs[0] = nodeValue_Output("Output", self, VALUE_TYPE.float, [ 0, 0, 0 ])
.setDisplay(VALUE_DISPLAY.vector);

View file

@ -9,7 +9,7 @@ function Node_FLIP_Add_Rigidbody(_x, _y, _group = noone) : Node(_x, _y, _group)
newInput(0, nodeValue_Fdomain("Domain", self, noone ))
.setVisible(true, true);
newInput(1, nodeValue("Objects", self, JUNCTION_CONNECT.input, VALUE_TYPE.rigid, [] ))
newInput(1, nodeValue("Objects", self, CONNECT_TYPE.input, VALUE_TYPE.rigid, [] ))
.setVisible(true, true);
input_display_list = [ 0,

View file

@ -28,7 +28,7 @@ function Node_FLIP_Apply_Force(_x, _y, _group = noone) : Node(_x, _y, _group) co
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(); });
inputs[2] = nodeValue_Float("Radius", self, 4 )
newInput(2, nodeValue_Float("Radius", self, 4 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
newInput(3, nodeValue_Enum_Scroll("Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ]));

View file

@ -12,7 +12,7 @@ function Node_FLIP_Apply_Velocity(_x, _y, _group = noone) : Node(_x, _y, _group)
newInput(1, nodeValue_Vec2("Position", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(); });
inputs[2] = nodeValue_Float("Radius", self, 4 )
newInput(2, nodeValue_Float("Radius", self, 4 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
newInput(3, nodeValue_Vec2("Velocity", self, [ 0, 0 ] ));

View file

@ -14,7 +14,7 @@ function Node_FLIP_Destroy(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(2, nodeValue_Enum_Scroll("Shape", self, 0 , [ new scrollItem("Circle", s_node_shape_circle, 0), new scrollItem("Rectangle", s_node_shape_rectangle, 0), ]));
inputs[3] = nodeValue_Float("Radius", self, 4 )
newInput(3, nodeValue_Float("Radius", self, 4 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
newInput(4, nodeValue_Vec2("Size", self, [ 4, 4 ] ));

View file

@ -19,8 +19,8 @@ function Node_FLIP_Render(_x, _y, _group = noone) : Node(_x, _y, _group) constru
newInput(5, nodeValue_Surface("Fluid particle", self));
inputs[6] = nodeValue_Enum_Scroll("Render type", self, 0, [ new scrollItem("Particle", s_node_flip_render, 0),
new scrollItem("Line", s_node_flip_render, 1), ] );
newInput(6, nodeValue_Enum_Scroll("Render type", self, 0, [ new scrollItem("Particle", s_node_flip_render, 0),
new scrollItem("Line", s_node_flip_render, 1), ] ));
newInput(7, nodeValue_Bool("Threshold", self, true));

View file

@ -24,7 +24,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(7, nodeValue_Surface("Spawn Surface", self));
inputs[8] = nodeValue_Float("Spawn Radius", self, 2 )
newInput(8, nodeValue_Float("Spawn Radius", self, 2 ))
.setDisplay(VALUE_DISPLAY.slider, { range: [1, 16, 0.1] });
newInput(9, nodeValue_Int("Seed", self, seed_random(6)))
@ -32,7 +32,7 @@ function Node_FLIP_Spawner(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(10, nodeValue_Rotation_Random("Spawn Direction", self, [ 0, 45, 135, 0, 0 ] ));
inputs[11] = nodeValue_Float("Inherit Velocity", self, 0 )
newInput(11, nodeValue_Float("Inherit Velocity", self, 0 ))
.setDisplay(VALUE_DISPLAY.slider);
newInput(12, nodeValue_Int("Spawn Duration", self, 1 ));

View file

@ -1,9 +1,9 @@
function Node_PCX_Array_Get(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
name = "Array Get";
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("Index", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("Index", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -1,11 +1,11 @@
function Node_PCX_Array_Set(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
name = "Array Set";
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("Index", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("Index", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -1,11 +1,11 @@
function Node_PCX_Condition(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
name = "Condition";
newInput(0, nodeValue("Condition", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Condition", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("True", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("True", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("False", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("False", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -53,7 +53,7 @@ function Node_PCX_Equation(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) co
newInput(index + 0, nodeValue_Text("Argument name", self, "" ))
.setDisplay(VALUE_DISPLAY.text_box);
newInput(index + 1, nodeValue("Argument value", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone ))
newInput(index + 1, nodeValue("Argument value", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone ))
.setVisible(true, true);
inputs[index + 1].editWidget.interactable = false;

View file

@ -1,17 +1,17 @@
function Node_PCX_fn_Math(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
name = "Math";
inputs[0] = nodeValue_Enum_Scroll("Operator", self, 0, [ "Add", "Subtract", "Multiply", "Divide", "Power", "Modulo", "Absolute", -1,
"Round", "Floor", "Ceil", -1,
"Sin", "Cos", "Tan", "Arcsin", "Arccos", "Arctan", -1,
"Min", "Max", "Clamp", -1,
"Lerp" ]);
newInput(0, nodeValue_Enum_Scroll("Operator", self, 0, [ "Add", "Subtract", "Multiply", "Divide", "Power", "Modulo", "Absolute", -1,
"Round", "Floor", "Ceil", -1,
"Sin", "Cos", "Tan", "Arcsin", "Arccos", "Arctan", -1,
"Min", "Max", "Clamp", -1,
"Lerp" ]));
newInput(1, nodeValue("x", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("x", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("y", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("y", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(3, nodeValue("z", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(3, nodeValue("z", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -1,9 +1,9 @@
function Node_PCX_fn_Random(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
name = "Random";
newInput(0, nodeValue("Min", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Min", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("Max", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("Max", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue_Bool("Integer", self, false));

View file

@ -1,7 +1,7 @@
function Node_PCX_fn_Surface_Height(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
name = "Surface Height";
newInput(0, nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Surface", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -1,7 +1,7 @@
function Node_PCX_fn_Surface_Width(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constructor {
name = "Surface Width";
newInput(0, nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Surface", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -2,7 +2,7 @@ function Node_PCX_fn_var(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) cons
name = "Fn Variable";
w = 64;
newInput(0, nodeValue("Default Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0));
newInput(0, nodeValue("Default Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -3,7 +3,7 @@ function Node_PCX_var(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) constru
newInput(0, nodeValue_Text("Name", self, ""));
newInput(1, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1));
newInput(1, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, -1));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone);

View file

@ -22,7 +22,7 @@ function Node_VCT(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) const
var _var = vct[$ key];
newInput(index, nodeValue(name, self, JUNCTION_CONNECT.input, _var.type, 0))
newInput(index, nodeValue(name, self, CONNECT_TYPE.input, _var.type, 0))
.setDisplay(_var.disp, _var.disp_data);
inputs[index].display_data.key = key;

View file

@ -55,7 +55,7 @@ function Node_VFX_Renderer_Output(_x, _y, _group = noone) : Node_Group_Output(_x
if(!is_undefined(outParent))
array_remove(group.outputs, outParent);
outParent = nodeValue("Rendered", group, JUNCTION_CONNECT.output, VALUE_TYPE.surface, noone)
outParent = nodeValue("Rendered", group, CONNECT_TYPE.output, VALUE_TYPE.surface, noone)
.uncache()
.setVisible(true, true);
outParent.from = self;

View file

@ -12,7 +12,7 @@ function Node_VFX_Spawner(_x, _y, _group = noone) : Node_VFX_Spawner_Base(_x, _y
inputs[21].setVisible(false, false);
newInput(input_len + 0, nodeValue("Spawn trigger", self, JUNCTION_CONNECT.input, VALUE_TYPE.node, false))
newInput(input_len + 0, nodeValue("Spawn trigger", self, CONNECT_TYPE.input, VALUE_TYPE.node, false))
.setVisible(true, true);
newInput(input_len + 1, nodeValue_Int("Step interval", self, 1, "How often the 'on step' event is triggered.\nWith 1 being trigger every frame, 2 means triggered once every 2 frames."));

View file

@ -4,7 +4,7 @@ function Node_Anim_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group
setDimension(96, 48);
newInput(0, nodeValue("Curve", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(0, nodeValue("Curve", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(1, nodeValue_Float("Progress", self, 0))
.setDisplay(VALUE_DISPLAY.slider);

View file

@ -9,10 +9,10 @@ function Node_Area(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
newInput(1, nodeValue_Vec2("Span", self, [ 16, 16 ] ))
.setVisible(true, true);
inputs[2] = nodeValue_Enum_Scroll("Shape", self, AREA_SHAPE.rectangle, [
newInput(2, nodeValue_Enum_Scroll("Shape", self, AREA_SHAPE.rectangle, [
new scrollItem("Rectangle", s_node_shape_rectangle, 0),
new scrollItem("Elipse", s_node_shape_circle, 0)
]);
]));
newInput(3, nodeValue_Enum_Scroll("Type", self, 0, [ "Center Span", "Two Point" ]));

View file

@ -27,7 +27,7 @@ function Node_Armature_Pose(_x, _y, _group = noone) : Node(_x, _y, _group) const
static createNewInput = function(bone = noone) {
var index = array_length(inputs);
newInput(index, nodeValue(bone != noone? bone.name : "bone", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, [ 0, 0, 0, 1 ] ))
newInput(index, nodeValue(bone != noone? bone.name : "bone", self, CONNECT_TYPE.input, VALUE_TYPE.float, [ 0, 0, 0, 1 ] ))
.setDisplay(VALUE_DISPLAY.transform);
inputs[index].display_data.bone_id = bone != noone? bone.ID : noone;

View file

@ -36,7 +36,7 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
var index = array_length(inputs);
var _typ = getType();
newInput(index, nodeValue("Input", self, JUNCTION_CONNECT.input, _typ, -1 ))
newInput(index, nodeValue("Input", self, CONNECT_TYPE.input, _typ, -1 ))
.setVisible(true, true);
array_push(input_display_list, index);
@ -156,4 +156,23 @@ function Node_Array(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
}
static postConnect = function() { updateType(false); }
static onDrawNode = function(xx, yy, _mx, _my, _s, _hover, _focus) {
if(outputs[0].type == VALUE_TYPE.surface) return;
var bbox = drawGetBbox(xx, yy, _s);
draw_set_text(f_sdf, fa_left, fa_center, COLORS._main_text);
for(var i = input_fix_len; i < array_length(inputs); i += data_length) {
var val = inputs[i];
var key = getInputData(i, "");
if(!val.visible) continue;
var _ss = min(_s * .4, string_scale(key, bbox.w - 12 * _s, 9999));
draw_set_color(value_color(val.type));
draw_text_transformed(bbox.x0 + 6 * _s, val.y, key, _ss, _ss, 0);
}
}
}

View file

@ -2,7 +2,7 @@ function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) construct
name = "Array Add";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(1, nodeValue_Bool("Spread array", self, false ))
@ -15,7 +15,7 @@ function Node_Array_Add(_x, _y, _group = noone) : Node(_x, _y, _group) construct
static createNewInput = function() {
var index = array_length(inputs);
newInput(index, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
newInput(index, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, -1 ))
.setVisible(true, true);
array_push(input_display_list, index);

View file

@ -2,7 +2,7 @@ function Node_Array_Copy(_x, _y, _group = noone) : Node(_x, _y, _group) construc
name = "Array Copy";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setArrayDepth(1)
.setVisible(true, true);

View file

@ -2,10 +2,10 @@ function Node_Array_Find(_x, _y, _group = noone) : Node(_x, _y, _group) construc
name = "Array Find";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(1, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(1, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true)
.rejectArray();

View file

@ -2,7 +2,7 @@ function Node_Array_Get(_x, _y, _group = noone) : Node(_x, _y, _group) construct
name = "Array Get";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(1, nodeValue_Int("Index", self, 0))

View file

@ -2,12 +2,12 @@ function Node_Array_Insert(_x, _y, _group = noone) : Node(_x, _y, _group) constr
name = "Array Insert";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(1, nodeValue_Int("Index", self, 0));
newInput(2, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(2, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(3, nodeValue_Bool("Spread array", self, false ))

View file

@ -2,7 +2,7 @@ function Node_Array_Length(_x, _y, _group = noone) : Node(_x, _y, _group) constr
name = "Array Length";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
outputs[0] = nodeValue_Output("Size", self, VALUE_TYPE.integer, 0);

View file

@ -17,7 +17,7 @@ function Node_Array_Pin(_x, _y, _group = noone) : Node(_x, _y, _group) construct
static createNewInput = function() {
var index = array_length(inputs);
newInput(index, nodeValue("Input", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
newInput(index, nodeValue("Input", self, CONNECT_TYPE.input, VALUE_TYPE.any, -1 ))
.setVisible(true, true);
return inputs[index];
@ -68,7 +68,7 @@ function Node_Array_Pin(_x, _y, _group = noone) : Node(_x, _y, _group) construct
static drawJunctions = function(_x, _y, _mx, _my, _s) {
var _dval = PANEL_GRAPH.value_dragging;
var hover = _dval == noone || _dval.connect_type == JUNCTION_CONNECT.input? outputs[0] : dummy_input;
var hover = _dval == noone || _dval.connect_type == CONNECT_TYPE.input? outputs[0] : dummy_input;
var xx = x * _s + _x;
var yy = y * _s + _y;
isHovering = point_in_circle(_mx, _my, xx, yy, _s * 24);

View file

@ -4,7 +4,7 @@ function Node_Array_Rearrange(_x, _y, _group = noone) : Node(_x, _y, _group) con
draw_pad_w = 10;
setDimension(96, 48);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setArrayDepth(1)
.setVisible(true, true);

View file

@ -2,7 +2,7 @@ function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constr
name = "Array Remove";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(1, nodeValue_Enum_Button("Type", self, 0, [ "Index", "Value" ]))
@ -10,7 +10,7 @@ function Node_Array_Remove(_x, _y, _group = noone) : Node(_x, _y, _group) constr
newInput(2, nodeValue_Int("Index", self, 0));
newInput(3, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(3, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(4, nodeValue_Bool("Spread array", self, false ))

View file

@ -2,7 +2,7 @@ function Node_Array_Reverse(_x, _y, _group = noone) : Node(_x, _y, _group) const
name = "Array Reverse";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);

View file

@ -2,12 +2,12 @@ function Node_Array_Set(_x, _y, _group = noone) : Node(_x, _y, _group) construct
name = "Array Set";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
newInput(1, nodeValue_Int("Index", self, 0));
newInput(2, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(2, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
outputs[0] = nodeValue_Output("Array", self, VALUE_TYPE.any, 0);

View file

@ -2,7 +2,7 @@ function Node_Array_Shift(_x, _y, _group = noone) : Node_Processor(_x, _y, _grou
name = "Array Shift";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setArrayDepth(99)
.setVisible(true, true);

View file

@ -3,7 +3,7 @@ function Node_Array_Shuffle(_x, _y, _group = noone) : Node(_x, _y, _group) const
setDimension(96, 48);
newInput(0, nodeValue("Array in", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, []))
newInput(0, nodeValue("Array in", self, CONNECT_TYPE.input, VALUE_TYPE.any, []))
.setVisible(true, true);
newInput(1, nodeValue_Int("Seed", self, seed_random(6)))

View file

@ -3,7 +3,7 @@ function Node_Array_Sort(_x, _y, _group = noone) : Node(_x, _y, _group) construc
setDimension(96, 48);
newInput(0, nodeValue("Array in", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, []))
newInput(0, nodeValue("Array in", self, CONNECT_TYPE.input, VALUE_TYPE.any, []))
.setVisible(true, true);
newInput(1, nodeValue_Enum_Button("Order", self, 0, [ "Ascending", "Descending" ]))

View file

@ -4,7 +4,7 @@ function Node_Array_Split(_x, _y, _group = noone) : Node(_x, _y, _group) constru
draw_padding = 4;
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, []))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, []))
.setVisible(true, true);
outputs[0] = nodeValue_Output("val 0", self, VALUE_TYPE.any, 0);

View file

@ -2,7 +2,7 @@ function Node_Array_Zip(_x, _y, _group = noone) : Node(_x, _y, _group) construct
name = "Array Zip";
setDimension(96, 32 + 24);
newInput(0, nodeValue("Array", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0))
newInput(0, nodeValue("Array", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0))
.setVisible(true, true);
outputs[0] = nodeValue_Output("Output", self, VALUE_TYPE.integer, 0);
@ -10,7 +10,7 @@ function Node_Array_Zip(_x, _y, _group = noone) : Node(_x, _y, _group) construct
static createNewInput = function() {
var index = array_length(inputs);
newInput(index, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
newInput(index, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.any, -1 ))
.setVisible(true, true);
return inputs[index];

View file

@ -1,7 +1,7 @@
function Node_ASE_layer(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "ASE Layer";
newInput(0, nodeValue("ASE data", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, noone))
newInput(0, nodeValue("ASE data", self, CONNECT_TYPE.input, VALUE_TYPE.object, noone))
.setVisible(false, true)
.rejectArray();

View file

@ -6,8 +6,8 @@ function Node_Bend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) cons
newInput(1, nodeValue_Bool("Active", self, true));
active_index = 1;
inputs[2] = nodeValue_Enum_Scroll("Type", self, 0, [ new scrollItem("Arc", s_node_bend_type, 0),
new scrollItem("Wave", s_node_bend_type, 1) ]);
newInput(2, nodeValue_Enum_Scroll("Type", self, 0, [ new scrollItem("Arc", s_node_bend_type, 0),
new scrollItem("Wave", s_node_bend_type, 1) ]));
newInput(3, nodeValue_Enum_Button("Axis", self, 0, [ "x", "y" ]));

View file

@ -10,9 +10,9 @@ function Node_Bevel(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
newInput(3, nodeValue_Vec2("Scale", self, [ 1, 1 ] ));
inputs[4] = nodeValue_Enum_Scroll("Slope", self, 0, [ new scrollItem("Linear", s_node_curve, 2),
new scrollItem("Smooth", s_node_curve, 4),
new scrollItem("Circular", s_node_curve, 5), ]);
newInput(4, nodeValue_Enum_Scroll("Slope", self, 0, [ new scrollItem("Linear", s_node_curve, 2),
new scrollItem("Smooth", s_node_curve, 4),
new scrollItem("Circular", s_node_curve, 5), ]));
newInput(5, nodeValue_Surface("Mask", self));

View file

@ -56,11 +56,9 @@ function Node_Blend(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
newInput(9, nodeValue_Bool("Preserve alpha", self, false));
inputs[10] = nodeValue_Enum_Button("Horizontal Align", self, 0,
[ THEME.inspector_surface_halign, THEME.inspector_surface_halign, THEME.inspector_surface_halign]);
newInput(10, nodeValue_Enum_Button("Horizontal Align", self, 0, [ THEME.inspector_surface_halign, THEME.inspector_surface_halign, THEME.inspector_surface_halign]));
inputs[11] = nodeValue_Enum_Button("Vertical Align", self, 0,
[ THEME.inspector_surface_valign, THEME.inspector_surface_valign, THEME.inspector_surface_valign]);
newInput(11, nodeValue_Enum_Button("Vertical Align", self, 0, [ THEME.inspector_surface_valign, THEME.inspector_surface_valign, THEME.inspector_surface_valign]));
newInput(12, nodeValue_Bool("Invert mask", self, false));

View file

@ -21,7 +21,7 @@ function Node_Blur_Path(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(9, nodeValue_Float("Intensity", self, 1));
newInput(10, nodeValue("Intensity Along Path", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_11));
newInput(10, nodeValue("Intensity Along Path", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_11));
newInput(11, nodeValue_Slider_Range("Range", self, [ 0, 1 ]));

View file

@ -41,14 +41,14 @@ function Node_Camera(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) co
newInput(index + 2, nodeValue_Vec2($"Position {_s}", self, [ 0, 0 ] ))
.setUnitRef(function(index) { return getDimension(index); });
inputs[index + 3] = nodeValue_Enum_Scroll($"Oversample {_s}", self, 0, [ new scrollItem("Empty ", s_node_camera_repeat, 0),
new scrollItem("Repeat ", s_node_camera_repeat, 1),
new scrollItem("Repeat X", s_node_camera_repeat, 2),
new scrollItem("Repeat Y", s_node_camera_repeat, 3), ]);
newInput(index + 3, nodeValue_Enum_Scroll($"Oversample {_s}", self, 0, [ new scrollItem("Empty ", s_node_camera_repeat, 0),
new scrollItem("Repeat ", s_node_camera_repeat, 1),
new scrollItem("Repeat X", s_node_camera_repeat, 2),
new scrollItem("Repeat Y", s_node_camera_repeat, 3), ]));
newInput(index + 4, nodeValue_Vec2($"Parallax {_s}", self, [ 0, 0 ]));
newInput(index + 5, nodeValue($"Depth {_s}", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0));
newInput(index + 5, nodeValue($"Depth {_s}", self, CONNECT_TYPE.input, VALUE_TYPE.float, 0));
for( var i = 0; i < data_length; i++ ) array_push(input_display_list, index + i);

View file

@ -199,7 +199,7 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
skipDefault();
draw_dummy = false;
dummy_input = nodeValue("Add to group", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, 0);
dummy_input = nodeValue("Add to group", self, CONNECT_TYPE.input, VALUE_TYPE.any, 0);
dummy_input.setDummy(function() /*=>*/ { var input = nodeBuild("Node_Group_Input", 0, 0, self); return input.inParent; },
function(_junc) /*=>*/ { _junc.from.destroy() }
@ -226,8 +226,8 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
tool_node = noone;
draw_input_overlay = true;
array_push(attributeEditors, ["Edit Input Display", function() /*=>*/ {return 0}, button(function() { dialogCall(o_dialog_group_input_order).setNode(self, JUNCTION_CONNECT.input); }) ]);
array_push(attributeEditors, ["Edit Output Display", function() /*=>*/ {return 0}, button(function() { dialogCall(o_dialog_group_input_order).setNode(self, JUNCTION_CONNECT.output); }) ]);
array_push(attributeEditors, ["Edit Input Display", function() /*=>*/ {return 0}, button(function() { dialogCall(o_dialog_group_input_order).setNode(self, CONNECT_TYPE.input); }) ]);
array_push(attributeEditors, ["Edit Output Display", function() /*=>*/ {return 0}, button(function() { dialogCall(o_dialog_group_input_order).setNode(self, CONNECT_TYPE.output); }) ]);
/////========== INSPECTOR ===========
@ -567,17 +567,18 @@ function Node_Collection(_x, _y, _group = noone) : Node(_x, _y, _group) construc
/////============ PREVIEW ============
static getGraphPreviewSurface = function() {
static getGraphPreviewSurface = function() {
for( var i = 0, n = array_length(nodes); i < n; i++ ) {
if(!nodes[i].active) continue;
if(is_instanceof(nodes[i], Node_Group_Thumbnail))
return nodes[i].inputs[0].getValue();
}
var _oj = outputs[preview_channel];
if(is_undefined(_oj)) return noone;
var _oj = array_safe_get(outputs, preview_channel);
if(!is_instanceof(_oj, NodeValue)) return noone;
var _fr = _oj.from.inputs[0];
if(_oj.from == noone) return noone;
var _fr = array_safe_get(_oj.from.inputs, 0);
return _fr.value_from == noone? noone : _fr.value_from.node.getGraphPreviewSurface();
}

View file

@ -33,12 +33,12 @@ function Node_Compare(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
setDimension(96, 48);
inputs[0] = nodeValue_Enum_Scroll("Type", self, 0, [ new scrollItem("Equal", s_node_condition_type, 0),
new scrollItem("Not equal", s_node_condition_type, 1),
new scrollItem("Greater ", s_node_condition_type, 4),
new scrollItem("Greater or equal", s_node_condition_type, 5),
new scrollItem("Lesser", s_node_condition_type, 2),
new scrollItem("Lesser or equal", s_node_condition_type, 3), ]);
newInput(0, nodeValue_Enum_Scroll("Type", self, 0, [ new scrollItem("Equal", s_node_condition_type, 0),
new scrollItem("Not equal", s_node_condition_type, 1),
new scrollItem("Greater ", s_node_condition_type, 4),
new scrollItem("Greater or equal", s_node_condition_type, 5),
new scrollItem("Lesser", s_node_condition_type, 2),
new scrollItem("Lesser or equal", s_node_condition_type, 3), ]));
newInput(1, nodeValue_Float("a", self, 0))
.setVisible(true, true);

View file

@ -6,21 +6,21 @@ function Node_Condition(_x, _y, _group = noone) : Node(_x, _y, _group) construct
newInput(0, nodeValue_Float("Check value", self, 0 ))
.setVisible(true, true);
inputs[1] = nodeValue_Enum_Scroll("Condition", self, 0 , [ new scrollItem("Equal", s_node_condition_type, 0),
new scrollItem("Not equal", s_node_condition_type, 1),
new scrollItem("Less ", s_node_condition_type, 2),
new scrollItem("Less or equal ", s_node_condition_type, 3),
new scrollItem("Greater ", s_node_condition_type, 4),
new scrollItem("Greater or equal", s_node_condition_type, 5), ])
newInput(1, nodeValue_Enum_Scroll("Condition", self, 0 , [ new scrollItem("Equal", s_node_condition_type, 0),
new scrollItem("Not equal", s_node_condition_type, 1),
new scrollItem("Less ", s_node_condition_type, 2),
new scrollItem("Less or equal ", s_node_condition_type, 3),
new scrollItem("Greater ", s_node_condition_type, 4),
new scrollItem("Greater or equal", s_node_condition_type, 5), ]))
.rejectArray();
newInput(2, nodeValue_Float("Compare to", self, 0 ))
.rejectArray();
newInput(3, nodeValue("True", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
newInput(3, nodeValue("True", self, CONNECT_TYPE.input, VALUE_TYPE.any, -1 ))
.setVisible(true, true);
newInput(4, nodeValue("False", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, -1 ))
newInput(4, nodeValue("False", self, CONNECT_TYPE.input, VALUE_TYPE.any, -1 ))
.setVisible(true, true);
newInput(5, nodeValue_Enum_Scroll("Eval mode", self, 0 , ["Boolean", "Number compare", "Text compare" ]))

View file

@ -8,10 +8,10 @@ function Node_Counter(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) c
newInput(1, nodeValue_Float("Speed", self, 1));
inputs[2] = nodeValue_Int("Mode", self, 0, @"Counting mode
newInput(2, nodeValue_Int("Mode", self, 0, @"Counting mode
- Frame count: Count value up/down per frame.
- Animation progress: Count from 0 (first frame) to 1 (last frame). ")
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Frame count", "Animation progress"])
.setDisplay(VALUE_DISPLAY.enum_scroll, ["Frame count", "Animation progress"]))
.rejectArray();
outputs[0] = nodeValue_Output("Value", self, VALUE_TYPE.float, 0);

View file

@ -18,7 +18,7 @@ function Node_CSV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) cons
.setDisplay(VALUE_DISPLAY.path_save, { filter: "csv file|*.csv" })
.rejectArray();
newInput(1, nodeValue("Content", self, JUNCTION_CONNECT.input, VALUE_TYPE.any, ""))
newInput(1, nodeValue("Content", self, CONNECT_TYPE.input, VALUE_TYPE.any, ""))
.setVisible(true, true);
static writeFile = function() { #region

View file

@ -3,13 +3,13 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
newInput(0, nodeValue_Surface("Surface in", self));
newInput(1, nodeValue("Brightness", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(1, nodeValue("Brightness", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(2, nodeValue("Red", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(2, nodeValue("Red", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(3, nodeValue("Green", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(3, nodeValue("Green", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(4, nodeValue("Blue", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(4, nodeValue("Blue", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(5, nodeValue_Surface("Mask", self));
@ -23,7 +23,7 @@ function Node_Curve(_x, _y, _group = noone) : Node_Processor(_x, _y, _group) con
__init_mask_modifier(5); // inputs 9, 10
newInput(11, nodeValue("Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(11, nodeValue("Alpha", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
outputs[0] = nodeValue_Output("Surface out", self, VALUE_TYPE.surface, noone);

View file

@ -3,11 +3,11 @@ function Node_Curve_HSV(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
newInput(0, nodeValue_Surface("Surface in", self));
newInput(1, nodeValue("Hue", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(1, nodeValue("Hue", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(2, nodeValue("Saturation", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(2, nodeValue("Saturation", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(3, nodeValue("Value", self, JUNCTION_CONNECT.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(3, nodeValue("Value", self, CONNECT_TYPE.input, VALUE_TYPE.curve, CURVE_DEF_01));
newInput(4, nodeValue_Surface("Mask", self));

View file

@ -152,13 +152,13 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
inspector_display_list = -1;
is_dynamic_output = false;
inspectInput1 = nodeValue("Toggle execution", self, JUNCTION_CONNECT.input, VALUE_TYPE.action, false).setVisible(true, true);
inspectInput1 = nodeValue("Toggle execution", self, CONNECT_TYPE.input, VALUE_TYPE.action, false).setVisible(true, true);
inspectInput1.index = -1;
inspectInput2 = nodeValue("Toggle execution", self, JUNCTION_CONNECT.input, VALUE_TYPE.action, false).setVisible(true, true);
inspectInput2 = nodeValue("Toggle execution", self, CONNECT_TYPE.input, VALUE_TYPE.action, false).setVisible(true, true);
inspectInput2.index = -1;
updatedInTrigger = nodeValue("Update", self, JUNCTION_CONNECT.input, VALUE_TYPE.trigger, false).setVisible(true, true);
updatedInTrigger = nodeValue("Update", self, CONNECT_TYPE.input, VALUE_TYPE.trigger, false).setVisible(true, true);
updatedInTrigger.index = -1;
updatedInTrigger.tags = VALUE_TAG.updateInTrigger;
@ -391,7 +391,7 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
dynamic_input_cond = _dynamic_input_cond;
if(auto_input) {
dummy_input = nodeValue("Add value", self, JUNCTION_CONNECT.input, dummy_type, 0)
dummy_input = nodeValue("Add value", self, CONNECT_TYPE.input, dummy_type, 0)
.setDummy(function() /*=>*/ {return createNewInput()})
.setVisible(false, true);
}
@ -1544,8 +1544,8 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
show_output_name &= point_in_rectangle(_mx, _my, xx + (w - 12) * _s, _y0, xx + (w + 12) * _s, _y1);
if(PANEL_GRAPH.value_dragging && PANEL_GRAPH.node_hovering == self) {
if(PANEL_GRAPH.value_dragging.connect_type == JUNCTION_CONNECT.input) show_output_name = true;
if(PANEL_GRAPH.value_dragging.connect_type == JUNCTION_CONNECT.output) show_input_name = true;
if(PANEL_GRAPH.value_dragging.connect_type == CONNECT_TYPE.input) show_output_name = true;
if(PANEL_GRAPH.value_dragging.connect_type == CONNECT_TYPE.output) show_input_name = true;
}
if(show_input_name) {
@ -1674,15 +1674,14 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
return hovering;
}
static getGraphPreviewSurface = function() {
static getGraphPreviewSurface = function() {
var _node = array_safe_get(outputs, preview_channel);
if(!is_instanceof(_node, NodeValue)) return noone;
switch(_node.type) {
case VALUE_TYPE.surface :
case VALUE_TYPE.dynaSurface :
var val = _node.showValue();
return val;
return _node.showValue();
}
return noone;

View file

@ -22,8 +22,8 @@ function Node_Displace(_x, _y, _group = noone) : Node_Processor(_x, _y, _group)
- Angle: Use red as angle, green as distance.
- Gradient: Displace down the brightness value defined by the Displace map.");
inputs[6] = nodeValue_Bool("Iterate", self, false, @"If not set, then strength value is multiplied directly to the displacement.
If set, then strength value control how many times the effect applies on itself.");
newInput(6, nodeValue_Bool("Iterate", self, false, @"If not set, then strength value is multiplied directly to the displacement.
If set, then strength value control how many times the effect applies on itself."));
newInput(7, nodeValue_Enum_Scroll("Oversample mode", self, 0, [ "Empty", "Clamp", "Repeat" ]))
.setTooltip("How to deal with pixel outside the surface.\n - Empty: Use empty pixel\n - Clamp: Repeat edge pixel\n - Repeat: Repeat texture.");

View file

@ -2,7 +2,7 @@ function Node_DLL(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
name = "DLL";
setDimension(96, 32 + 24 * 1);
newInput(0, nodeValue_Text("DLL File", self, ""))
newInput(0, nodeValue_Path("DLL File", self, ""))
.setDisplay(VALUE_DISPLAY.path_load, { filter: "Dynamic-link library (.dll)|*.dll" })
.setVisible(true, false);

View file

@ -5,21 +5,21 @@ function Node_DynaSurf_Out(_x, _y, _group = noone) : Node_PCX(_x, _y, _group) co
manual_deletable = false;
destroy_when_upgroup = true;
newInput(0, nodeValue("Surface", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Surface", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("x", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(1, nodeValue("x", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("y", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(2, nodeValue("y", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(3, nodeValue("sx", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(3, nodeValue("sx", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(4, nodeValue("sy", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(4, nodeValue("sy", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(5, nodeValue("angle", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(5, nodeValue("angle", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(6, nodeValue("color", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(6, nodeValue("color", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
newInput(7, nodeValue("alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(7, nodeValue("alpha", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone)
.setVisible(false);

View file

@ -5,7 +5,7 @@ function Node_DynaSurf_Out_Height(_x, _y, _group = noone) : Node_PCX(_x, _y, _gr
manual_deletable = false;
destroy_when_upgroup = true;
newInput(0, nodeValue("Height", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Height", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone)
.setVisible(false);

View file

@ -5,7 +5,7 @@ function Node_DynaSurf_Out_Width(_x, _y, _group = noone) : Node_PCX(_x, _y, _gro
manual_deletable = false;
destroy_when_upgroup = true;
newInput(0, nodeValue("Width", self, JUNCTION_CONNECT.input, VALUE_TYPE.PCXnode, noone));
newInput(0, nodeValue("Width", self, CONNECT_TYPE.input, VALUE_TYPE.PCXnode, noone));
outputs[0] = nodeValue_Output("PCX", self, VALUE_TYPE.PCXnode, noone)
.setVisible(false);

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