From cc68af17affdf1a2c49c461675b96ddb6b793289 Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Sun, 1 Mar 2020 01:06:39 -0500 Subject: [PATCH] 2.5D Editor Viewport for GDScript --- .github/CODEOWNERS | 6 + .../icons/{node25d.png => node_25d.png} | Bin ...sort25d.png.import => node_25d.png.import} | 6 +- .../{node25d_icon.png => node_25d_icon.png} | Bin ...on.png.import => node_25d_icon.png.import} | 6 +- ...{shadowmath25d.png => shadow_math_25d.png} | Bin ....png.import => shadow_math_25d.png.import} | 6 +- ...h25d_icon.png => shadow_math_25d_icon.png} | Bin ...import => shadow_math_25d_icon.png.import} | 6 +- .../icons/{ysort25d.png => y_sort_25d.png} | Bin .../node25d/icons/y_sort_25d.png.import | 34 ++++ ...{ysort25d_icon.png => y_sort_25d_icon.png} | Bin .../node25d/icons/y_sort_25d_icon.png.import | 34 ++++ .../node25d/icons/ysort25d_icon.png.import | 34 ---- .../addons/node25d/main_screen/gizmo_25d.gd | 105 +++++++++++ .../addons/node25d/main_screen/gizmo_25d.tscn | 23 +++ .../node25d/main_screen/main_screen_25d.tscn | 173 ++++++++++++++++++ .../main_screen/view_mode_button_group.tres | 3 + .../node25d/main_screen/viewport_25d.gd | 147 +++++++++++++++ misc/2.5d/addons/node25d/node25d_plugin.gd | 37 +++- .../node25d/{Node25D.gd => node_25d.gd} | 2 +- .../{ShadowMath25D.gd => shadow_math_25d.gd} | 2 +- .../node25d/{YSort25D.gd => y_sort_25d.gd} | 2 +- .../2.5d/assets/cube/{Cube.tscn => cube.tscn} | 8 +- .../assets/cube/{CubeMath.gd => cube_math.gd} | 4 +- .../cube/{CubePoint.tscn => cube_point.tscn} | 4 +- .../{DemoScene.tscn => demo_scene.tscn} | 45 +++-- .../platform/{Platform.tscn => platform.tscn} | 8 +- .../{PlatformSprite.gd => platform_sprite.gd} | 20 +- .../41226408-platform-texture.jpg.import | 34 ---- .../{fortyfive.png => forty_five.png} | Bin .../platform/textures/forty_five.png.import | 34 ++++ .../{frontside.png => front_side.png} | Bin .../platform/textures/front_side.png.import | 34 ++++ .../textures/{obliqueY.png => oblique_y.png} | Bin .../platform/textures/oblique_y.png.import | 34 ++++ .../textures/{obliqueZ.png => oblique_z.png} | Bin .../platform/textures/oblique_z.png.import | 34 ++++ .../textures/{topdown.png => top_down.png} | Bin .../textures/top_down.png.import} | 6 +- .../{Player25D.tscn => player_25d.tscn} | 11 +- .../{PlayerMath25D.gd => player_math_25d.gd} | 2 +- .../{PlayerSprite.gd => player_sprite.gd} | 0 .../{Shadow25D.tscn => shadow_25d.tscn} | 15 +- .../{ShadowSprite.gd => shadow_sprite.gd} | 20 +- .../{fortyfive.png => forty_five.png} | Bin .../shadow/textures/forty_five.png.import | 34 ++++ .../{frontside.png => front_side.png} | Bin .../shadow/textures/front_side.png.import | 34 ++++ misc/2.5d/assets/shadow/textures/obliqueZ.png | Bin 597 -> 0 bytes .../textures/{obliqueY.png => oblique_y.png} | Bin .../shadow/textures/oblique_y.png.import} | 6 +- .../2.5d/assets/shadow/textures/oblique_z.png | Bin 0 -> 805 bytes .../shadow/textures/oblique_z.png.import | 34 ++++ .../textures/{topdown.png => top_down.png} | Bin ...bliqueZ.png.import => top_down.png.import} | 6 +- .../ui/{ControlHints.gd => control_hints.gd} | 0 .../assets/ui/{Overlay.tscn => overlay.tscn} | 4 +- .../{OverlayCube.tscn => overlay_cube.tscn} | 4 +- misc/2.5d/project.godot | 16 +- 60 files changed, 914 insertions(+), 163 deletions(-) create mode 100644 .github/CODEOWNERS rename misc/2.5d/addons/node25d/icons/{node25d.png => node_25d.png} (100%) rename misc/2.5d/addons/node25d/icons/{ysort25d.png.import => node_25d.png.import} (69%) rename misc/2.5d/addons/node25d/icons/{node25d_icon.png => node_25d_icon.png} (100%) rename misc/2.5d/addons/node25d/icons/{node25d_icon.png.import => node_25d_icon.png.import} (67%) rename misc/2.5d/addons/node25d/icons/{shadowmath25d.png => shadow_math_25d.png} (100%) rename misc/2.5d/addons/node25d/icons/{shadowmath25d.png.import => shadow_math_25d.png.import} (67%) rename misc/2.5d/addons/node25d/icons/{shadowmath25d_icon.png => shadow_math_25d_icon.png} (100%) rename misc/2.5d/addons/node25d/icons/{shadowmath25d_icon.png.import => shadow_math_25d_icon.png.import} (65%) rename misc/2.5d/addons/node25d/icons/{ysort25d.png => y_sort_25d.png} (100%) create mode 100644 misc/2.5d/addons/node25d/icons/y_sort_25d.png.import rename misc/2.5d/addons/node25d/icons/{ysort25d_icon.png => y_sort_25d_icon.png} (100%) create mode 100644 misc/2.5d/addons/node25d/icons/y_sort_25d_icon.png.import delete mode 100644 misc/2.5d/addons/node25d/icons/ysort25d_icon.png.import create mode 100644 misc/2.5d/addons/node25d/main_screen/gizmo_25d.gd create mode 100644 misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn create mode 100644 misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn create mode 100644 misc/2.5d/addons/node25d/main_screen/view_mode_button_group.tres create mode 100644 misc/2.5d/addons/node25d/main_screen/viewport_25d.gd rename misc/2.5d/addons/node25d/{Node25D.gd => node_25d.gd} (98%) rename misc/2.5d/addons/node25d/{ShadowMath25D.gd => shadow_math_25d.gd} (92%) rename misc/2.5d/addons/node25d/{YSort25D.gd => y_sort_25d.gd} (95%) rename misc/2.5d/assets/cube/{Cube.tscn => cube.tscn} (55%) rename misc/2.5d/assets/cube/{CubeMath.gd => cube_math.gd} (95%) rename misc/2.5d/assets/cube/{CubePoint.tscn => cube_point.tscn} (68%) rename misc/2.5d/assets/{DemoScene.tscn => demo_scene.tscn} (90%) rename misc/2.5d/assets/platform/{Platform.tscn => platform.tscn} (64%) rename misc/2.5d/assets/platform/{PlatformSprite.gd => platform_sprite.gd} (57%) delete mode 100644 misc/2.5d/assets/platform/textures/41226408-platform-texture.jpg.import rename misc/2.5d/assets/platform/textures/{fortyfive.png => forty_five.png} (100%) create mode 100644 misc/2.5d/assets/platform/textures/forty_five.png.import rename misc/2.5d/assets/platform/textures/{frontside.png => front_side.png} (100%) create mode 100644 misc/2.5d/assets/platform/textures/front_side.png.import rename misc/2.5d/assets/platform/textures/{obliqueY.png => oblique_y.png} (100%) create mode 100644 misc/2.5d/assets/platform/textures/oblique_y.png.import rename misc/2.5d/assets/platform/textures/{obliqueZ.png => oblique_z.png} (100%) create mode 100644 misc/2.5d/assets/platform/textures/oblique_z.png.import rename misc/2.5d/assets/platform/textures/{topdown.png => top_down.png} (100%) rename misc/2.5d/assets/{shadow/textures/obliqueY.png.import => platform/textures/top_down.png.import} (68%) rename misc/2.5d/assets/player/{Player25D.tscn => player_25d.tscn} (71%) rename misc/2.5d/assets/player/{PlayerMath25D.gd => player_math_25d.gd} (97%) rename misc/2.5d/assets/player/{PlayerSprite.gd => player_sprite.gd} (100%) rename misc/2.5d/assets/shadow/{Shadow25D.tscn => shadow_25d.tscn} (59%) rename misc/2.5d/assets/shadow/{ShadowSprite.gd => shadow_sprite.gd} (58%) rename misc/2.5d/assets/shadow/textures/{fortyfive.png => forty_five.png} (100%) create mode 100644 misc/2.5d/assets/shadow/textures/forty_five.png.import rename misc/2.5d/assets/shadow/textures/{frontside.png => front_side.png} (100%) create mode 100644 misc/2.5d/assets/shadow/textures/front_side.png.import delete mode 100644 misc/2.5d/assets/shadow/textures/obliqueZ.png rename misc/2.5d/assets/shadow/textures/{obliqueY.png => oblique_y.png} (100%) rename misc/2.5d/{addons/node25d/icons/node25d.png.import => assets/shadow/textures/oblique_y.png.import} (68%) create mode 100644 misc/2.5d/assets/shadow/textures/oblique_z.png create mode 100644 misc/2.5d/assets/shadow/textures/oblique_z.png.import rename misc/2.5d/assets/shadow/textures/{topdown.png => top_down.png} (100%) rename misc/2.5d/assets/shadow/textures/{obliqueZ.png.import => top_down.png.import} (68%) rename misc/2.5d/assets/ui/{ControlHints.gd => control_hints.gd} (100%) rename misc/2.5d/assets/ui/{Overlay.tscn => overlay.tscn} (85%) rename misc/2.5d/assets/ui/{OverlayCube.tscn => overlay_cube.tscn} (84%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..c04eb75f --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,6 @@ +# Lines starting with '#' are comments. +# Each line is a file pattern followed by one or more owners. +# Owners can be @users, @org/teams or emails + +/misc/2.5d @aaronfranke +/mono/2.5d @aaronfranke diff --git a/misc/2.5d/addons/node25d/icons/node25d.png b/misc/2.5d/addons/node25d/icons/node_25d.png similarity index 100% rename from misc/2.5d/addons/node25d/icons/node25d.png rename to misc/2.5d/addons/node25d/icons/node_25d.png diff --git a/misc/2.5d/addons/node25d/icons/ysort25d.png.import b/misc/2.5d/addons/node25d/icons/node_25d.png.import similarity index 69% rename from misc/2.5d/addons/node25d/icons/ysort25d.png.import rename to misc/2.5d/addons/node25d/icons/node_25d.png.import index b187da88..1eba533e 100644 --- a/misc/2.5d/addons/node25d/icons/ysort25d.png.import +++ b/misc/2.5d/addons/node25d/icons/node_25d.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/ysort25d.png-d31f6d31844267009448064818383c0d.stex" +path="res://.import/node_25d.png-72e45d8600ccbde01c6d9ad51f5fc530.stex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/node25d/icons/ysort25d.png" -dest_files=[ "res://.import/ysort25d.png-d31f6d31844267009448064818383c0d.stex" ] +source_file="res://addons/node25d/icons/node_25d.png" +dest_files=[ "res://.import/node_25d.png-72e45d8600ccbde01c6d9ad51f5fc530.stex" ] [params] diff --git a/misc/2.5d/addons/node25d/icons/node25d_icon.png b/misc/2.5d/addons/node25d/icons/node_25d_icon.png similarity index 100% rename from misc/2.5d/addons/node25d/icons/node25d_icon.png rename to misc/2.5d/addons/node25d/icons/node_25d_icon.png diff --git a/misc/2.5d/addons/node25d/icons/node25d_icon.png.import b/misc/2.5d/addons/node25d/icons/node_25d_icon.png.import similarity index 67% rename from misc/2.5d/addons/node25d/icons/node25d_icon.png.import rename to misc/2.5d/addons/node25d/icons/node_25d_icon.png.import index bac3b673..29f4dda8 100644 --- a/misc/2.5d/addons/node25d/icons/node25d_icon.png.import +++ b/misc/2.5d/addons/node25d/icons/node_25d_icon.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/node25d_icon.png-075c4b266c832f0f269670bad017ac93.stex" +path="res://.import/node_25d_icon.png-2ad780313818706789bbb15408797db2.stex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/node25d/icons/node25d_icon.png" -dest_files=[ "res://.import/node25d_icon.png-075c4b266c832f0f269670bad017ac93.stex" ] +source_file="res://addons/node25d/icons/node_25d_icon.png" +dest_files=[ "res://.import/node_25d_icon.png-2ad780313818706789bbb15408797db2.stex" ] [params] diff --git a/misc/2.5d/addons/node25d/icons/shadowmath25d.png b/misc/2.5d/addons/node25d/icons/shadow_math_25d.png similarity index 100% rename from misc/2.5d/addons/node25d/icons/shadowmath25d.png rename to misc/2.5d/addons/node25d/icons/shadow_math_25d.png diff --git a/misc/2.5d/addons/node25d/icons/shadowmath25d.png.import b/misc/2.5d/addons/node25d/icons/shadow_math_25d.png.import similarity index 67% rename from misc/2.5d/addons/node25d/icons/shadowmath25d.png.import rename to misc/2.5d/addons/node25d/icons/shadow_math_25d.png.import index 42ef89f7..54046259 100644 --- a/misc/2.5d/addons/node25d/icons/shadowmath25d.png.import +++ b/misc/2.5d/addons/node25d/icons/shadow_math_25d.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/shadowmath25d.png-829bb9aabf7e847ec9c9f29f41353471.stex" +path="res://.import/shadow_math_25d.png-333790a3285ee4c26792088985815eba.stex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/node25d/icons/shadowmath25d.png" -dest_files=[ "res://.import/shadowmath25d.png-829bb9aabf7e847ec9c9f29f41353471.stex" ] +source_file="res://addons/node25d/icons/shadow_math_25d.png" +dest_files=[ "res://.import/shadow_math_25d.png-333790a3285ee4c26792088985815eba.stex" ] [params] diff --git a/misc/2.5d/addons/node25d/icons/shadowmath25d_icon.png b/misc/2.5d/addons/node25d/icons/shadow_math_25d_icon.png similarity index 100% rename from misc/2.5d/addons/node25d/icons/shadowmath25d_icon.png rename to misc/2.5d/addons/node25d/icons/shadow_math_25d_icon.png diff --git a/misc/2.5d/addons/node25d/icons/shadowmath25d_icon.png.import b/misc/2.5d/addons/node25d/icons/shadow_math_25d_icon.png.import similarity index 65% rename from misc/2.5d/addons/node25d/icons/shadowmath25d_icon.png.import rename to misc/2.5d/addons/node25d/icons/shadow_math_25d_icon.png.import index 107f5cf7..3c8a11d0 100644 --- a/misc/2.5d/addons/node25d/icons/shadowmath25d_icon.png.import +++ b/misc/2.5d/addons/node25d/icons/shadow_math_25d_icon.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/shadowmath25d_icon.png-2b9af3adf31a4021b98dae0a81fb9294.stex" +path="res://.import/shadow_math_25d_icon.png-f286bd905218b9a04121a430c1fdd042.stex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/node25d/icons/shadowmath25d_icon.png" -dest_files=[ "res://.import/shadowmath25d_icon.png-2b9af3adf31a4021b98dae0a81fb9294.stex" ] +source_file="res://addons/node25d/icons/shadow_math_25d_icon.png" +dest_files=[ "res://.import/shadow_math_25d_icon.png-f286bd905218b9a04121a430c1fdd042.stex" ] [params] diff --git a/misc/2.5d/addons/node25d/icons/ysort25d.png b/misc/2.5d/addons/node25d/icons/y_sort_25d.png similarity index 100% rename from misc/2.5d/addons/node25d/icons/ysort25d.png rename to misc/2.5d/addons/node25d/icons/y_sort_25d.png diff --git a/misc/2.5d/addons/node25d/icons/y_sort_25d.png.import b/misc/2.5d/addons/node25d/icons/y_sort_25d.png.import new file mode 100644 index 00000000..64a7c359 --- /dev/null +++ b/misc/2.5d/addons/node25d/icons/y_sort_25d.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/y_sort_25d.png-2e15f3765afd8b0136201cb9dea4049b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/node25d/icons/y_sort_25d.png" +dest_files=[ "res://.import/y_sort_25d.png-2e15f3765afd8b0136201cb9dea4049b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/addons/node25d/icons/ysort25d_icon.png b/misc/2.5d/addons/node25d/icons/y_sort_25d_icon.png similarity index 100% rename from misc/2.5d/addons/node25d/icons/ysort25d_icon.png rename to misc/2.5d/addons/node25d/icons/y_sort_25d_icon.png diff --git a/misc/2.5d/addons/node25d/icons/y_sort_25d_icon.png.import b/misc/2.5d/addons/node25d/icons/y_sort_25d_icon.png.import new file mode 100644 index 00000000..f1dab61a --- /dev/null +++ b/misc/2.5d/addons/node25d/icons/y_sort_25d_icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/y_sort_25d_icon.png-48050bfa8b299992a68b4f1e12bd5d44.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/node25d/icons/y_sort_25d_icon.png" +dest_files=[ "res://.import/y_sort_25d_icon.png-48050bfa8b299992a68b4f1e12bd5d44.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/addons/node25d/icons/ysort25d_icon.png.import b/misc/2.5d/addons/node25d/icons/ysort25d_icon.png.import deleted file mode 100644 index a781fa62..00000000 --- a/misc/2.5d/addons/node25d/icons/ysort25d_icon.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="StreamTexture" -path="res://.import/ysort25d_icon.png-7203736c3c997b4f31f7b878b0530dfd.stex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://addons/node25d/icons/ysort25d_icon.png" -dest_files=[ "res://.import/ysort25d_icon.png-7203736c3c997b4f31f7b878b0530dfd.stex" ] - -[params] - -compress/mode=0 -compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 -compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 -process/fix_alpha_border=true -process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 diff --git a/misc/2.5d/addons/node25d/main_screen/gizmo_25d.gd b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.gd new file mode 100644 index 00000000..54a386c1 --- /dev/null +++ b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.gd @@ -0,0 +1,105 @@ +tool +extends Node2D + +# Not pixel perfect for all axes in all modes, but works well enough. +# Rounding is not done until after the movement is finished. +const ROUGHLY_ROUND_TO_PIXELS = true + +# Set when the node is created. +var node_25d: Node25D +var spatial_node + +# Input from Viewport25D, represents if the mouse is clicked. +var wants_to_move = false + +# Used to control the state of movement. +var _moving = false +var _start_position = Vector2() + +# Stores state of closest or currently used axis. +var dominant_axis + +onready var lines_root = $Lines +onready var lines = [$Lines/X, $Lines/Y, $Lines/Z] + +func _process(_delta): + if !lines: + return # Somehow this node hasn't been set up yet. + if !node_25d: + return # We're most likely viewing the Gizmo25D scene. + # While getting the mouse position works in any viewport, it doesn't do + # anything significant unless the mouse is in the 2.5D viewport. + var mouse_position = get_local_mouse_position() + if !_moving: + # If the mouse is farther than this many pixels, it won't grab anything. + var closest_distance = 20.0 + dominant_axis = -1 + for i in range(3): + lines[i].modulate.a = 0.8 # Unrelated, but needs a loop too. + var distance = _distance_to_segment_at_index(i, mouse_position) + if distance < closest_distance: + closest_distance = distance + dominant_axis = i + if dominant_axis == -1: + # If we're not hovering over a line, ensure they are placed correctly. + lines_root.global_position = node_25d.global_position + return + + lines[dominant_axis].modulate.a = 1 + if !wants_to_move: + _moving = false + elif wants_to_move and !_moving: + _moving = true + _start_position = mouse_position + + if _moving: + # Change modulate of unselected axes. + lines[(dominant_axis + 1) % 3].modulate.a = 0.5 + lines[(dominant_axis + 2) % 3].modulate.a = 0.5 + # Calculate mouse movement and reset for next frame. + var mouse_diff = mouse_position - _start_position + _start_position = mouse_position + # Calculate movement. + var projected_diff = mouse_diff.project(lines[dominant_axis].points[1]) + var movement = projected_diff.length() / Node25D.SCALE + if is_equal_approx(PI, projected_diff.angle_to(lines[dominant_axis].points[1])): + movement *= -1 + # Apply movement. + spatial_node.transform.origin += spatial_node.transform.basis[dominant_axis] * movement + else: + # Make sure the gizmo is located at the object. + global_position = node_25d.global_position + if ROUGHLY_ROUND_TO_PIXELS: + spatial_node.transform.origin = (spatial_node.transform.origin * Node25D.SCALE).round() / Node25D.SCALE + # Move the gizmo lines appropriately. + lines_root.global_position = node_25d.global_position + node_25d.property_list_changed_notify() + + +# Initializes after _ready due to the onready vars, called manually in Viewport25D.gd. +# Sets up the points based on the basis values of the Node25D. +func initialize(): + var basis = node_25d.get_basis() + for i in range(3): + lines[i].points[1] = basis[i] * 3 + global_position = node_25d.global_position + spatial_node = node_25d.get_child(0) + + +# Figures out if the mouse is very close to a segment. This method is +# specialized for this script, it assumes that each segment starts at +# (0, 0) and it provides a deadzone around the origin. +func _distance_to_segment_at_index(index, point): + if !lines: + return INF + if point.length_squared() < 400: + return INF + + var segment_end = lines[index].points[1] + var length_squared = segment_end.length_squared() + if length_squared < 400: + return INF + + var t = clamp(point.dot(segment_end) / length_squared, 0, 1) + var projection = t * segment_end + return point.distance_to(projection) diff --git a/misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn new file mode 100644 index 00000000..5a565dc6 --- /dev/null +++ b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://addons/node25d/main_screen/gizmo_25d.gd" type="Script" id=1] + +[node name="Gizmo25D" type="Node2D"] +script = ExtResource( 1 ) + +[node name="Lines" type="Node2D" parent="."] + +[node name="X" type="Line2D" parent="Lines"] +modulate = Color( 1, 1, 1, 0.8 ) +points = PoolVector2Array( 0, 0, 100, 0 ) +default_color = Color( 0.91, 0.273, 0, 1 ) + +[node name="Y" type="Line2D" parent="Lines"] +modulate = Color( 1, 1, 1, 0.8 ) +points = PoolVector2Array( 0, 0, 0, -100 ) +default_color = Color( 0, 0.91, 0.273, 1 ) + +[node name="Z" type="Line2D" parent="Lines"] +modulate = Color( 1, 1, 1, 0.8 ) +points = PoolVector2Array( 0, 0, 0, 100 ) +default_color = Color( 0.3, 0, 1, 1 ) diff --git a/misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn b/misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn new file mode 100644 index 00000000..a4ea5420 --- /dev/null +++ b/misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn @@ -0,0 +1,173 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://addons/node25d/main_screen/viewport_25d.gd" type="Script" id=1] +[ext_resource path="res://addons/node25d/main_screen/view_mode_button_group.tres" type="ButtonGroup" id=2] + +[sub_resource type="ViewportTexture" id=1] +viewport_path = NodePath("Viewport25D/Viewport2D") + +[sub_resource type="ViewportTexture" id=2] +viewport_path = NodePath("Viewport25D/ViewportOverlay") + +[node name="MainScreen25D" type="VBoxContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TopBar" type="HBoxContainer" parent="."] +margin_right = 1600.0 +margin_bottom = 32.0 +rect_min_size = Vector2( 0, 32 ) +size_flags_horizontal = 3 + +[node name="ViewModeButtons" type="HBoxContainer" parent="TopBar"] +margin_right = 798.0 +margin_bottom = 32.0 +size_flags_horizontal = 3 + +[node name="45Degree" type="CheckBox" parent="TopBar/ViewModeButtons"] +margin_right = 94.0 +margin_bottom = 32.0 +pressed = true +group = ExtResource( 2 ) +text = "45 Degree" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Isometric" type="CheckBox" parent="TopBar/ViewModeButtons"] +margin_left = 98.0 +margin_right = 188.0 +margin_bottom = 32.0 +group = ExtResource( 2 ) +text = "Isometric" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TopDown" type="CheckBox" parent="TopBar/ViewModeButtons"] +margin_left = 192.0 +margin_right = 283.0 +margin_bottom = 32.0 +group = ExtResource( 2 ) +text = "Top Down" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FrontSide" type="CheckBox" parent="TopBar/ViewModeButtons"] +margin_left = 287.0 +margin_right = 379.0 +margin_bottom = 32.0 +group = ExtResource( 2 ) +text = "Front Side" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ObliqueY" type="CheckBox" parent="TopBar/ViewModeButtons"] +margin_left = 383.0 +margin_right = 473.0 +margin_bottom = 32.0 +group = ExtResource( 2 ) +text = "Oblique Y" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ObliqueZ" type="CheckBox" parent="TopBar/ViewModeButtons"] +margin_left = 477.0 +margin_right = 568.0 +margin_bottom = 32.0 +group = ExtResource( 2 ) +text = "Oblique Z" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Zoom" type="HBoxContainer" parent="TopBar"] +margin_left = 802.0 +margin_right = 1600.0 +margin_bottom = 32.0 +size_flags_horizontal = 3 +alignment = 2 + +[node name="ZoomOut" type="Button" parent="TopBar/Zoom"] +margin_left = 680.0 +margin_right = 710.0 +margin_bottom = 32.0 +rect_min_size = Vector2( 30, 0 ) +text = "-" + +[node name="ZoomPercent" type="Label" parent="TopBar/Zoom"] +margin_left = 714.0 +margin_top = 9.0 +margin_right = 764.0 +margin_bottom = 23.0 +rect_min_size = Vector2( 50, 0 ) +text = "100%" +align = 1 +clip_text = true + +[node name="ZoomReset" type="Button" parent="TopBar/Zoom/ZoomPercent"] +modulate = Color( 1, 1, 1, 0 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ZoomIn" type="Button" parent="TopBar/Zoom"] +margin_left = 768.0 +margin_right = 798.0 +margin_bottom = 32.0 +rect_min_size = Vector2( 30, 0 ) +text = "+" + +[node name="Viewport25D" type="ColorRect" parent="."] +margin_top = 36.0 +margin_right = 1600.0 +margin_bottom = 900.0 +rect_clip_content = true +size_flags_horizontal = 3 +size_flags_vertical = 3 +color = Color( 0.301961, 0.301961, 0.301961, 1 ) +script = ExtResource( 1 ) + +[node name="Viewport2D" type="Viewport" parent="Viewport25D"] +size = Vector2( 1600, 864 ) +transparent_bg = true +disable_3d = true +usage = 1 +render_target_v_flip = true + +[node name="ViewportOverlay" type="Viewport" parent="Viewport25D"] +size = Vector2( 1600, 864 ) +transparent_bg = true +disable_3d = true +usage = 1 +render_target_v_flip = true + +[node name="ViewportTexture" type="TextureRect" parent="Viewport25D"] +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = SubResource( 1 ) +expand = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Overlay" type="TextureRect" parent="Viewport25D/ViewportTexture"] +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = SubResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +[connection signal="pressed" from="TopBar/Zoom/ZoomOut" to="Viewport25D" method="_on_ZoomOut_pressed"] +[connection signal="pressed" from="TopBar/Zoom/ZoomPercent/ZoomReset" to="Viewport25D" method="_on_ZoomReset_pressed"] +[connection signal="pressed" from="TopBar/Zoom/ZoomIn" to="Viewport25D" method="_on_ZoomIn_pressed"] diff --git a/misc/2.5d/addons/node25d/main_screen/view_mode_button_group.tres b/misc/2.5d/addons/node25d/main_screen/view_mode_button_group.tres new file mode 100644 index 00000000..0e55d740 --- /dev/null +++ b/misc/2.5d/addons/node25d/main_screen/view_mode_button_group.tres @@ -0,0 +1,3 @@ +[gd_resource type="ButtonGroup" format=2] + +[resource] diff --git a/misc/2.5d/addons/node25d/main_screen/viewport_25d.gd b/misc/2.5d/addons/node25d/main_screen/viewport_25d.gd new file mode 100644 index 00000000..c6d83d66 --- /dev/null +++ b/misc/2.5d/addons/node25d/main_screen/viewport_25d.gd @@ -0,0 +1,147 @@ +tool +extends Control + +var zoom_level := 0 +var is_panning = false +var pan_center: Vector2 +var viewport_center: Vector2 +var view_mode_index := 0 + +var editor_interface: EditorInterface # Set in node25d_plugin.gd +var moving = false + +onready var viewport_2d = $Viewport2D +onready var viewport_overlay = $ViewportOverlay +onready var view_mode_button_group: ButtonGroup = $"../TopBar/ViewModeButtons/45Degree".group +onready var zoom_label: Label = $"../TopBar/Zoom/ZoomPercent" +onready var gizmo_25d_scene = preload("res://addons/node25d/main_screen/gizmo_25d.tscn") + +func _ready(): + # Give Godot a chance to fully load the scene. Should take two frames. + yield(get_tree(), "idle_frame") + yield(get_tree(), "idle_frame") + var edited_scene_root = get_tree().edited_scene_root + if !edited_scene_root: + # Godot hasn't finished loading yet, so try loading the plugin again. + editor_interface.set_plugin_enabled("node25d", false) + editor_interface.set_plugin_enabled("node25d", true) + return + # Alright, we're loaded up. Now check if we have a valid world and assign it. + var world_2d = edited_scene_root.get_viewport().world_2d + if world_2d == get_viewport().world_2d: + return # This is the MainScreen25D scene opened in the editor! + viewport_2d.world_2d = world_2d + + +func _process(delta): + if !editor_interface: # Something's not right... bail! + return + + # View mode polling. + var view_mode_changed_this_frame = false + var new_view_mode = view_mode_button_group.get_pressed_button().get_index() + if view_mode_index != new_view_mode: + view_mode_index = new_view_mode + view_mode_changed_this_frame = true + _recursive_change_view_mode(get_tree().edited_scene_root) + + # Zooming. + if Input.is_mouse_button_pressed(BUTTON_WHEEL_UP): + zoom_level += 1 + elif Input.is_mouse_button_pressed(BUTTON_WHEEL_DOWN): + zoom_level -= 1 + var zoom = _get_zoom_amount() + + # Viewport size. + var size = get_global_rect().size + viewport_2d.size = size + + # Viewport transform. + var viewport_trans = Transform2D.IDENTITY + viewport_trans.x *= zoom + viewport_trans.y *= zoom + viewport_trans.origin = viewport_trans.basis_xform(viewport_center) + size / 2 + viewport_2d.canvas_transform = viewport_trans + viewport_overlay.canvas_transform = viewport_trans + + # Delete unused gizmos. + var selection = editor_interface.get_selection().get_selected_nodes() + var overlay_children = viewport_overlay.get_children() + for overlay_child in overlay_children: + var contains = false + for selected in selection: + if selected == overlay_child.node_25d and !view_mode_changed_this_frame: + contains = true + if !contains: + overlay_child.queue_free() + + # Add new gizmos. + for selected in selection: + if selected is Node25D: + var new = true + for overlay_child in overlay_children: + if selected == overlay_child.node_25d: + new = false + if new: + var gizmo = gizmo_25d_scene.instance() + viewport_overlay.add_child(gizmo) + gizmo.node_25d = selected + gizmo.initialize() + + +# This only accepts input when the mouse is inside of the 2.5D viewport. +func _gui_input(event): + if event is InputEventMouseButton: + if event.is_pressed(): + if event.button_index == BUTTON_WHEEL_UP: + zoom_level += 1 + accept_event() + elif event.button_index == BUTTON_WHEEL_DOWN: + zoom_level -= 1 + accept_event() + elif event.button_index == BUTTON_MIDDLE: + is_panning = true + pan_center = viewport_center - event.position + accept_event() + elif event.button_index == BUTTON_LEFT: + var overlay_children = viewport_overlay.get_children() + for overlay_child in overlay_children: + overlay_child.wants_to_move = true + accept_event() + elif event.button_index == BUTTON_MIDDLE: + is_panning = false + accept_event() + elif event.button_index == BUTTON_LEFT: + var overlay_children = viewport_overlay.get_children() + for overlay_child in overlay_children: + overlay_child.wants_to_move = false + accept_event() + elif event is InputEventMouseMotion: + if is_panning: + viewport_center = pan_center + event.position + accept_event() + + +func _recursive_change_view_mode(current_node): + if current_node.has_method("set_view_mode"): + current_node.set_view_mode(view_mode_index) + for child in current_node.get_children(): + _recursive_change_view_mode(child) + + +func _get_zoom_amount(): + var zoom_amount = pow(1.05476607648, zoom_level) # 13th root of 2 + zoom_label.text = str(round(zoom_amount * 1000) / 10) + "%" + return zoom_amount + + +func _on_ZoomOut_pressed(): + zoom_level -= 1 + + +func _on_ZoomIn_pressed(): + zoom_level += 1 + + +func _on_ZoomReset_pressed(): + zoom_level = 0 diff --git a/misc/2.5d/addons/node25d/node25d_plugin.gd b/misc/2.5d/addons/node25d/node25d_plugin.gd index ad179025..eb606101 100644 --- a/misc/2.5d/addons/node25d/node25d_plugin.gd +++ b/misc/2.5d/addons/node25d/node25d_plugin.gd @@ -1,16 +1,43 @@ tool extends EditorPlugin +const MainPanel = preload("res://addons/node25d/main_screen/main_screen_25d.tscn") + +var main_panel_instance func _enter_tree(): - # When this plugin node enters tree, add the custom types - add_custom_type("Node25D", "Node2D", preload("Node25D.gd"), preload("icons/node25d_icon.png")) - add_custom_type("YSort25D", "Node", preload("YSort25D.gd"), preload("icons/ysort25d_icon.png")) - add_custom_type("ShadowMath25D", "KinematicBody", preload("ShadowMath25D.gd"), preload("icons/shadowmath25d_icon.png")) + main_panel_instance = MainPanel.instance() + main_panel_instance.get_child(1).editor_interface = get_editor_interface() + + # Add the main panel to the editor's main viewport. + get_editor_interface().get_editor_viewport().add_child(main_panel_instance) + + # Hide the main panel. + make_visible(false) + # When this plugin node enters tree, add the custom types. + add_custom_type("Node25D", "Node2D", preload("node_25d.gd"), preload("icons/node_25d_icon.png")) + add_custom_type("YSort25D", "Node", preload("y_sort_25d.gd"), preload("icons/y_sort_25d_icon.png")) + add_custom_type("ShadowMath25D", "KinematicBody", preload("shadow_math_25d.gd"), preload("icons/shadow_math_25d_icon.png")) func _exit_tree(): - # When the plugin node exits the tree, remove the custom types + main_panel_instance.queue_free() + # When the plugin node exits the tree, remove the custom types. remove_custom_type("ShadowMath25D") remove_custom_type("YSort25D") remove_custom_type("Node25D") + + +func has_main_screen(): + return true + + +func make_visible(visible): + if visible: + main_panel_instance.show() + else: + main_panel_instance.hide() + + +func get_plugin_name(): + return "2.5D" diff --git a/misc/2.5d/addons/node25d/Node25D.gd b/misc/2.5d/addons/node25d/node_25d.gd similarity index 98% rename from misc/2.5d/addons/node25d/Node25D.gd rename to misc/2.5d/addons/node25d/node_25d.gd index 100acc0e..be8b00b6 100644 --- a/misc/2.5d/addons/node25d/Node25D.gd +++ b/misc/2.5d/addons/node25d/node_25d.gd @@ -2,7 +2,7 @@ # The transformation of its 2D form is controlled by its 3D child. tool extends Node2D -class_name Node25D, "res://addons/node25d/icons/node25d_icon.png" +class_name Node25D, "res://addons/node25d/icons/node_25d_icon.png" # SCALE is the number of 2D units in one 3D unit. Ideally, but not necessarily, an integer. const SCALE = 32 diff --git a/misc/2.5d/addons/node25d/ShadowMath25D.gd b/misc/2.5d/addons/node25d/shadow_math_25d.gd similarity index 92% rename from misc/2.5d/addons/node25d/ShadowMath25D.gd rename to misc/2.5d/addons/node25d/shadow_math_25d.gd index 77e20cef..8df0182a 100644 --- a/misc/2.5d/addons/node25d/ShadowMath25D.gd +++ b/misc/2.5d/addons/node25d/shadow_math_25d.gd @@ -3,7 +3,7 @@ # is below the target object in the scene tree (not as a child). tool extends KinematicBody -class_name ShadowMath25D, "res://addons/node25d/icons/shadowmath25d_icon.png" +class_name ShadowMath25D, "res://addons/node25d/icons/shadow_math_25d_icon.png" # The maximum distance below objects that shadows will appear (in 3D units). var shadow_length = 1000.0 diff --git a/misc/2.5d/addons/node25d/YSort25D.gd b/misc/2.5d/addons/node25d/y_sort_25d.gd similarity index 95% rename from misc/2.5d/addons/node25d/YSort25D.gd rename to misc/2.5d/addons/node25d/y_sort_25d.gd index 071fa206..1f289820 100644 --- a/misc/2.5d/addons/node25d/YSort25D.gd +++ b/misc/2.5d/addons/node25d/y_sort_25d.gd @@ -4,7 +4,7 @@ # sorting is delayed by one frame. tool extends Node # Note: NOT Node2D, Node25D, or YSort -class_name YSort25D, "res://addons/node25d/icons/ysort25d_icon.png" +class_name YSort25D, "res://addons/node25d/icons/y_sort_25d_icon.png" # Whether or not to automatically call sort() in _process(). export(bool) var sort_enabled := true diff --git a/misc/2.5d/assets/cube/Cube.tscn b/misc/2.5d/assets/cube/cube.tscn similarity index 55% rename from misc/2.5d/assets/cube/Cube.tscn rename to misc/2.5d/assets/cube/cube.tscn index a11e6e23..6034f1c8 100644 --- a/misc/2.5d/assets/cube/Cube.tscn +++ b/misc/2.5d/assets/cube/cube.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=2] -[ext_resource path="res://addons/node25d/icons/ysort25d_icon.png" type="Texture" id=1] -[ext_resource path="res://assets/ui/OverlayCube.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/cube/CubeMath.gd" type="Script" id=3] -[ext_resource path="res://addons/node25d/YSort25D.gd" type="Script" id=4] +[ext_resource path="res://addons/node25d/icons/y_sort_25d_icon.png" type="Texture" id=1] +[ext_resource path="res://assets/ui/overlay_cube.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/cube/cube_math.gd" type="Script" id=3] +[ext_resource path="res://addons/node25d/y_sort_25d.gd" type="Script" id=4] [node name="Cube" type="Node2D"] diff --git a/misc/2.5d/assets/cube/CubeMath.gd b/misc/2.5d/assets/cube/cube_math.gd similarity index 95% rename from misc/2.5d/assets/cube/CubeMath.gd rename to misc/2.5d/assets/cube/cube_math.gd index b191d115..bde261fb 100644 --- a/misc/2.5d/assets/cube/CubeMath.gd +++ b/misc/2.5d/assets/cube/cube_math.gd @@ -1,6 +1,6 @@ extends Spatial -onready var _cube_point_scene: PackedScene = preload("res://assets/cube/CubePoint.tscn") +onready var _cube_point_scene: PackedScene = preload("res://assets/cube/cube_point.tscn") onready var _parent = get_parent() var _is_parent_ready := false @@ -29,7 +29,7 @@ func _process(delta): if Input.is_action_just_pressed("view_cube_demo"): # warning-ignore:return_value_discarded - get_tree().change_scene("res://assets/DemoScene.tscn") + get_tree().change_scene("res://assets/demo_scene.tscn") return if _is_parent_ready: diff --git a/misc/2.5d/assets/cube/CubePoint.tscn b/misc/2.5d/assets/cube/cube_point.tscn similarity index 68% rename from misc/2.5d/assets/cube/CubePoint.tscn rename to misc/2.5d/assets/cube/cube_point.tscn index 921818f6..d880e9fb 100644 --- a/misc/2.5d/assets/cube/CubePoint.tscn +++ b/misc/2.5d/assets/cube/cube_point.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=2] -[ext_resource path="res://addons/node25d/Node25D.gd" type="Script" id=1] -[ext_resource path="res://addons/node25d/icons/node25d_icon.png" type="Texture" id=2] +[ext_resource path="res://addons/node25d/node_25d.gd" type="Script" id=1] +[ext_resource path="res://addons/node25d/icons/node_25d_icon.png" type="Texture" id=2] [ext_resource path="res://assets/cube/godot.png" type="Texture" id=3] [node name="CubePoint" type="Node2D"] diff --git a/misc/2.5d/assets/DemoScene.tscn b/misc/2.5d/assets/demo_scene.tscn similarity index 90% rename from misc/2.5d/assets/DemoScene.tscn rename to misc/2.5d/assets/demo_scene.tscn index d635671c..04981477 100644 --- a/misc/2.5d/assets/DemoScene.tscn +++ b/misc/2.5d/assets/demo_scene.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=13 format=2] -[ext_resource path="res://assets/ui/Overlay.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/player/Player25D.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/shadow/Shadow25D.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/node25d/Node25D.gd" type="Script" id=4] -[ext_resource path="res://addons/node25d/icons/node25d_icon.png" type="Texture" id=5] -[ext_resource path="res://assets/platform/textures/fortyfive.png" type="Texture" id=6] -[ext_resource path="res://assets/platform/PlatformSprite.gd" type="Script" id=7] -[ext_resource path="res://addons/node25d/YSort25D.gd" type="Script" id=8] -[ext_resource path="res://addons/node25d/icons/ysort25d_icon.png" type="Texture" id=9] +[ext_resource path="res://assets/ui/overlay.tscn" type="PackedScene" id=1] +[ext_resource path="res://assets/player/player_25d.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/shadow/shadow_25d.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/node25d/node_25d.gd" type="Script" id=4] +[ext_resource path="res://addons/node25d/icons/node_25d_icon.png" type="Texture" id=5] +[ext_resource path="res://assets/platform/textures/forty_five.png" type="Texture" id=6] +[ext_resource path="res://assets/platform/platform_sprite.gd" type="Script" id=7] +[ext_resource path="res://addons/node25d/y_sort_25d.gd" type="Script" id=8] +[ext_resource path="res://addons/node25d/icons/y_sort_25d_icon.png" type="Texture" id=9] [sub_resource type="BoxShape" id=1] extents = Vector3( 5, 0.5, 5 ) @@ -24,16 +24,17 @@ extents = Vector3( 5, 0.5, 5 ) [node name="Overlay" parent="." instance=ExtResource( 1 )] [node name="Player25D" parent="." instance=ExtResource( 2 )] -position = Vector2( 0, 0 ) +position = Vector2( 0, -226.274 ) z_index = -3952 [node name="Shadow25D" parent="." instance=ExtResource( 3 )] visible = true -position = Vector2( 0, 0 ) +position = Vector2( 1.00261e-06, 11.2685 ) z_index = -3958 spatial_position = Vector3( 3.13315e-08, -0.498, 3.13315e-08 ) [node name="Platform0" type="Node2D" parent="."] +position = Vector2( -256, -113.137 ) z_index = -3954 script = ExtResource( 4 ) __meta__ = { @@ -58,6 +59,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform1" type="Node2D" parent="."] +position = Vector2( -256, -339.411 ) z_index = -3956 script = ExtResource( 4 ) __meta__ = { @@ -82,6 +84,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform2" type="Node2D" parent="."] +position = Vector2( 0, 22.6274 ) z_index = -3962 script = ExtResource( 4 ) __meta__ = { @@ -106,6 +109,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform3" type="Node2D" parent="."] +position = Vector2( 320, 22.6274 ) z_index = -3960 script = ExtResource( 4 ) __meta__ = { @@ -130,6 +134,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform4" type="Node2D" parent="."] +position = Vector2( 0, -203.647 ) z_index = -3966 script = ExtResource( 4 ) __meta__ = { @@ -154,6 +159,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform5" type="Node2D" parent="."] +position = Vector2( 320, -113.137 ) z_index = -3984 script = ExtResource( 4 ) __meta__ = { @@ -178,6 +184,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform6" type="Node2D" parent="."] +position = Vector2( 320, 113.137 ) z_index = -3982 script = ExtResource( 4 ) __meta__ = { @@ -202,6 +209,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform7" type="Node2D" parent="."] +position = Vector2( 320, 339.411 ) z_index = -3978 script = ExtResource( 4 ) __meta__ = { @@ -226,6 +234,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform20" type="Node2D" parent="."] +position = Vector2( 320, 565.685 ) z_index = -3976 script = ExtResource( 4 ) __meta__ = { @@ -250,6 +259,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform21" type="Node2D" parent="."] +position = Vector2( 320, 791.96 ) z_index = -3972 script = ExtResource( 4 ) __meta__ = { @@ -274,6 +284,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform22" type="Node2D" parent="."] +position = Vector2( 320, 1018.23 ) z_index = -3970 script = ExtResource( 4 ) __meta__ = { @@ -298,6 +309,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform9" type="Node2D" parent="."] +position = Vector2( 640, 339.411 ) z_index = -3974 script = ExtResource( 4 ) __meta__ = { @@ -322,6 +334,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform10" type="Node2D" parent="."] +position = Vector2( 896, 294.156 ) z_index = -3994 script = ExtResource( 4 ) __meta__ = { @@ -346,6 +359,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform11" type="Node2D" parent="."] +position = Vector2( 896, 520.431 ) z_index = -3992 script = ExtResource( 4 ) __meta__ = { @@ -370,6 +384,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform12" type="Node2D" parent="."] +position = Vector2( 896, 746.705 ) z_index = -3988 script = ExtResource( 4 ) __meta__ = { @@ -394,6 +409,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform13" type="Node2D" parent="."] +position = Vector2( 576, 746.705 ) z_index = -3990 script = ExtResource( 4 ) __meta__ = { @@ -418,6 +434,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform14" type="Node2D" parent="."] +position = Vector2( 256, 746.705 ) z_index = -3996 script = ExtResource( 4 ) __meta__ = { @@ -442,6 +459,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform15" type="Node2D" parent="."] +position = Vector2( -64, 746.705 ) z_index = -3998 script = ExtResource( 4 ) __meta__ = { @@ -466,6 +484,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform23" type="Node2D" parent="."] +position = Vector2( -384, 746.705 ) z_index = -4000 script = ExtResource( 4 ) __meta__ = { @@ -490,6 +509,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform16" type="Node2D" parent="."] +position = Vector2( -320, 565.685 ) z_index = -3980 script = ExtResource( 4 ) __meta__ = { @@ -514,6 +534,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform19" type="Node2D" parent="."] +position = Vector2( -320, 339.411 ) z_index = -3986 script = ExtResource( 4 ) __meta__ = { @@ -538,6 +559,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform17" type="Node2D" parent="."] +position = Vector2( -480, 248.902 ) z_index = -3964 script = ExtResource( 4 ) __meta__ = { @@ -562,6 +584,7 @@ texture = ExtResource( 6 ) script = ExtResource( 7 ) [node name="Platform18" type="Node2D" parent="."] +position = Vector2( -480, 22.6274 ) z_index = -3968 script = ExtResource( 4 ) __meta__ = { diff --git a/misc/2.5d/assets/platform/Platform.tscn b/misc/2.5d/assets/platform/platform.tscn similarity index 64% rename from misc/2.5d/assets/platform/Platform.tscn rename to misc/2.5d/assets/platform/platform.tscn index 153bdca2..5885e6bb 100644 --- a/misc/2.5d/assets/platform/Platform.tscn +++ b/misc/2.5d/assets/platform/platform.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=6 format=2] -[ext_resource path="res://addons/node25d/Node25D.gd" type="Script" id=1] -[ext_resource path="res://addons/node25d/icons/node25d_icon.png" type="Texture" id=2] -[ext_resource path="res://assets/platform/textures/fortyfive.png" type="Texture" id=3] -[ext_resource path="res://assets/platform/PlatformSprite.gd" type="Script" id=4] +[ext_resource path="res://addons/node25d/node_25d.gd" type="Script" id=1] +[ext_resource path="res://addons/node25d/icons/node_25d_icon.png" type="Texture" id=2] +[ext_resource path="res://assets/platform/textures/forty_five.png" type="Texture" id=3] +[ext_resource path="res://assets/platform/platform_sprite.gd" type="Script" id=4] [sub_resource type="BoxShape" id=1] extents = Vector3( 5, 0.5, 5 ) diff --git a/misc/2.5d/assets/platform/PlatformSprite.gd b/misc/2.5d/assets/platform/platform_sprite.gd similarity index 57% rename from misc/2.5d/assets/platform/PlatformSprite.gd rename to misc/2.5d/assets/platform/platform_sprite.gd index e817ef5e..4b6dcb43 100644 --- a/misc/2.5d/assets/platform/PlatformSprite.gd +++ b/misc/2.5d/assets/platform/platform_sprite.gd @@ -1,12 +1,12 @@ tool extends Sprite -onready var _fortyFive = preload("res://assets/platform/textures/fortyfive.png") +onready var _forty_five = preload("res://assets/platform/textures/forty_five.png") onready var _isometric = preload("res://assets/platform/textures/isometric.png") -onready var _topDown = preload("res://assets/platform/textures/topdown.png") -onready var _frontSide = preload("res://assets/platform/textures/frontside.png") -onready var _obliqueY = preload("res://assets/platform/textures/obliqueY.png") -onready var _obliqueZ = preload("res://assets/platform/textures/obliqueZ.png") +onready var _top_down = preload("res://assets/platform/textures/top_down.png") +onready var _front_side = preload("res://assets/platform/textures/front_side.png") +onready var _oblique_y = preload("res://assets/platform/textures/oblique_y.png") +onready var _oblique_z = preload("res://assets/platform/textures/oblique_z.png") func _process(_delta): if Input.is_action_pressed("forty_five_mode"): @@ -26,14 +26,14 @@ func _process(_delta): func set_view_mode(view_mode_index): match view_mode_index: 0: # 45 Degrees - texture = _fortyFive; + texture = _forty_five; 1: # Isometric texture = _isometric 2: # Top Down - texture = _topDown + texture = _top_down 3: # Front Side - texture = _frontSide + texture = _front_side 4: # Oblique Y - texture = _obliqueY + texture = _oblique_y 5: # Oblique Z - texture = _obliqueZ + texture = _oblique_z diff --git a/misc/2.5d/assets/platform/textures/41226408-platform-texture.jpg.import b/misc/2.5d/assets/platform/textures/41226408-platform-texture.jpg.import deleted file mode 100644 index 0349bce7..00000000 --- a/misc/2.5d/assets/platform/textures/41226408-platform-texture.jpg.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="StreamTexture" -path="res://.import/41226408-platform-texture.jpg-baf3b2df9182218f8ceff003f894b1db.stex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://assets/platform/textures/41226408-platform-texture.jpg" -dest_files=[ "res://.import/41226408-platform-texture.jpg-baf3b2df9182218f8ceff003f894b1db.stex" ] - -[params] - -compress/mode=0 -compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 -compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 -process/fix_alpha_border=true -process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 diff --git a/misc/2.5d/assets/platform/textures/fortyfive.png b/misc/2.5d/assets/platform/textures/forty_five.png similarity index 100% rename from misc/2.5d/assets/platform/textures/fortyfive.png rename to misc/2.5d/assets/platform/textures/forty_five.png diff --git a/misc/2.5d/assets/platform/textures/forty_five.png.import b/misc/2.5d/assets/platform/textures/forty_five.png.import new file mode 100644 index 00000000..3fbd8972 --- /dev/null +++ b/misc/2.5d/assets/platform/textures/forty_five.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/forty_five.png-d90cd8ed1241c4a5270d87a83aafe24d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/platform/textures/forty_five.png" +dest_files=[ "res://.import/forty_five.png-d90cd8ed1241c4a5270d87a83aafe24d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/assets/platform/textures/frontside.png b/misc/2.5d/assets/platform/textures/front_side.png similarity index 100% rename from misc/2.5d/assets/platform/textures/frontside.png rename to misc/2.5d/assets/platform/textures/front_side.png diff --git a/misc/2.5d/assets/platform/textures/front_side.png.import b/misc/2.5d/assets/platform/textures/front_side.png.import new file mode 100644 index 00000000..eb4230ff --- /dev/null +++ b/misc/2.5d/assets/platform/textures/front_side.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/front_side.png-057b43bb7270572907c729580068368b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/platform/textures/front_side.png" +dest_files=[ "res://.import/front_side.png-057b43bb7270572907c729580068368b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/assets/platform/textures/obliqueY.png b/misc/2.5d/assets/platform/textures/oblique_y.png similarity index 100% rename from misc/2.5d/assets/platform/textures/obliqueY.png rename to misc/2.5d/assets/platform/textures/oblique_y.png diff --git a/misc/2.5d/assets/platform/textures/oblique_y.png.import b/misc/2.5d/assets/platform/textures/oblique_y.png.import new file mode 100644 index 00000000..d7c1330f --- /dev/null +++ b/misc/2.5d/assets/platform/textures/oblique_y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/oblique_y.png-ed89b3ef35707993300443a84f7ebbd1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/platform/textures/oblique_y.png" +dest_files=[ "res://.import/oblique_y.png-ed89b3ef35707993300443a84f7ebbd1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/assets/platform/textures/obliqueZ.png b/misc/2.5d/assets/platform/textures/oblique_z.png similarity index 100% rename from misc/2.5d/assets/platform/textures/obliqueZ.png rename to misc/2.5d/assets/platform/textures/oblique_z.png diff --git a/misc/2.5d/assets/platform/textures/oblique_z.png.import b/misc/2.5d/assets/platform/textures/oblique_z.png.import new file mode 100644 index 00000000..044a1c0f --- /dev/null +++ b/misc/2.5d/assets/platform/textures/oblique_z.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/oblique_z.png-270f041a55370c5ba68850a072597e97.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/platform/textures/oblique_z.png" +dest_files=[ "res://.import/oblique_z.png-270f041a55370c5ba68850a072597e97.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/assets/platform/textures/topdown.png b/misc/2.5d/assets/platform/textures/top_down.png similarity index 100% rename from misc/2.5d/assets/platform/textures/topdown.png rename to misc/2.5d/assets/platform/textures/top_down.png diff --git a/misc/2.5d/assets/shadow/textures/obliqueY.png.import b/misc/2.5d/assets/platform/textures/top_down.png.import similarity index 68% rename from misc/2.5d/assets/shadow/textures/obliqueY.png.import rename to misc/2.5d/assets/platform/textures/top_down.png.import index fba37a48..fccd60c8 100644 --- a/misc/2.5d/assets/shadow/textures/obliqueY.png.import +++ b/misc/2.5d/assets/platform/textures/top_down.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/obliqueY.png-676e0b47cedb4b1159610d662414d70c.stex" +path="res://.import/top_down.png-3df3f4c204d6337fdc9aa208196ed940.stex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/shadow/textures/obliqueY.png" -dest_files=[ "res://.import/obliqueY.png-676e0b47cedb4b1159610d662414d70c.stex" ] +source_file="res://assets/platform/textures/top_down.png" +dest_files=[ "res://.import/top_down.png-3df3f4c204d6337fdc9aa208196ed940.stex" ] [params] diff --git a/misc/2.5d/assets/player/Player25D.tscn b/misc/2.5d/assets/player/player_25d.tscn similarity index 71% rename from misc/2.5d/assets/player/Player25D.tscn rename to misc/2.5d/assets/player/player_25d.tscn index eb30e455..eec8f300 100644 --- a/misc/2.5d/assets/player/Player25D.tscn +++ b/misc/2.5d/assets/player/player_25d.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=7 format=2] -[ext_resource path="res://addons/node25d/Node25D.gd" type="Script" id=1] -[ext_resource path="res://addons/node25d/icons/node25d_icon.png" type="Texture" id=2] -[ext_resource path="res://assets/player/PlayerMath25D.gd" type="Script" id=3] +[ext_resource path="res://addons/node25d/node_25d.gd" type="Script" id=1] +[ext_resource path="res://addons/node25d/icons/node_25d_icon.png" type="Texture" id=2] +[ext_resource path="res://assets/player/player_math_25d.gd" type="Script" id=3] [ext_resource path="res://assets/player/textures/jump.png" type="Texture" id=4] -[ext_resource path="res://assets/player/PlayerSprite.gd" type="Script" id=5] +[ext_resource path="res://assets/player/player_sprite.gd" type="Script" id=5] [sub_resource type="BoxShape" id=1] extents = Vector3( 0.5, 1, 0.5 ) @@ -24,6 +24,9 @@ script = ExtResource( 3 ) [node name="CollisionShape" type="CollisionShape" parent="PlayerMath25D"] shape = SubResource( 1 ) +__meta__ = { +"_edit_lock_": true +} [node name="PlayerSprite" type="Sprite" parent="."] scale = Vector2( 1, 0.75 ) diff --git a/misc/2.5d/assets/player/PlayerMath25D.gd b/misc/2.5d/assets/player/player_math_25d.gd similarity index 97% rename from misc/2.5d/assets/player/PlayerMath25D.gd rename to misc/2.5d/assets/player/player_math_25d.gd index e49ae855..adf0e6fc 100644 --- a/misc/2.5d/assets/player/PlayerMath25D.gd +++ b/misc/2.5d/assets/player/player_math_25d.gd @@ -12,7 +12,7 @@ func _process(delta): if Input.is_action_just_pressed("view_cube_demo"): #warning-ignore:return_value_discarded - get_tree().change_scene("res://assets/cube/Cube.tscn") + get_tree().change_scene("res://assets/cube/cube.tscn") return if Input.is_action_just_pressed("toggle_isometric_controls"): diff --git a/misc/2.5d/assets/player/PlayerSprite.gd b/misc/2.5d/assets/player/player_sprite.gd similarity index 100% rename from misc/2.5d/assets/player/PlayerSprite.gd rename to misc/2.5d/assets/player/player_sprite.gd diff --git a/misc/2.5d/assets/shadow/Shadow25D.tscn b/misc/2.5d/assets/shadow/shadow_25d.tscn similarity index 59% rename from misc/2.5d/assets/shadow/Shadow25D.tscn rename to misc/2.5d/assets/shadow/shadow_25d.tscn index cb7e9e81..ea616485 100644 --- a/misc/2.5d/assets/shadow/Shadow25D.tscn +++ b/misc/2.5d/assets/shadow/shadow_25d.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=8 format=2] -[ext_resource path="res://addons/node25d/Node25D.gd" type="Script" id=1] -[ext_resource path="res://addons/node25d/icons/node25d_icon.png" type="Texture" id=2] -[ext_resource path="res://addons/node25d/ShadowMath25D.gd" type="Script" id=3] -[ext_resource path="res://addons/node25d/icons/shadowmath25d_icon.png" type="Texture" id=4] -[ext_resource path="res://assets/shadow/textures/fortyfive.png" type="Texture" id=5] -[ext_resource path="res://assets/shadow/ShadowSprite.gd" type="Script" id=6] +[ext_resource path="res://addons/node25d/node_25d.gd" type="Script" id=1] +[ext_resource path="res://addons/node25d/icons/node_25d_icon.png" type="Texture" id=2] +[ext_resource path="res://addons/node25d/shadow_math_25d.gd" type="Script" id=3] +[ext_resource path="res://addons/node25d/icons/shadow_math_25d_icon.png" type="Texture" id=4] +[ext_resource path="res://assets/shadow/textures/forty_five.png" type="Texture" id=5] +[ext_resource path="res://assets/shadow/shadow_sprite.gd" type="Script" id=6] [sub_resource type="BoxShape" id=1] extents = Vector3( 0.5, 0.001, 0.5 ) @@ -30,6 +30,9 @@ __meta__ = { [node name="CollisionShape" type="CollisionShape" parent="ShadowMath25D"] shape = SubResource( 1 ) +__meta__ = { +"_edit_lock_": true +} [node name="ShadowSprite" type="Sprite" parent="."] scale = Vector2( 0.5, 0.5 ) diff --git a/misc/2.5d/assets/shadow/ShadowSprite.gd b/misc/2.5d/assets/shadow/shadow_sprite.gd similarity index 58% rename from misc/2.5d/assets/shadow/ShadowSprite.gd rename to misc/2.5d/assets/shadow/shadow_sprite.gd index 6cced5ac..f3e4b552 100644 --- a/misc/2.5d/assets/shadow/ShadowSprite.gd +++ b/misc/2.5d/assets/shadow/shadow_sprite.gd @@ -1,12 +1,12 @@ tool extends Sprite -onready var _fortyFive = preload("res://assets/shadow/textures/fortyfive.png") +onready var _forty_five = preload("res://assets/shadow/textures/forty_five.png") onready var _isometric = preload("res://assets/shadow/textures/isometric.png") -onready var _topDown = preload("res://assets/shadow/textures/topdown.png") -onready var _frontSide = preload("res://assets/shadow/textures/frontside.png") -onready var _obliqueY = preload("res://assets/shadow/textures/obliqueY.png") -onready var _obliqueZ = preload("res://assets/shadow/textures/obliqueZ.png") +onready var _top_down = preload("res://assets/shadow/textures/top_down.png") +onready var _front_side = preload("res://assets/shadow/textures/front_side.png") +onready var _oblique_y = preload("res://assets/shadow/textures/oblique_y.png") +onready var _oblique_z = preload("res://assets/shadow/textures/oblique_z.png") func _process(_delta): if Input.is_action_pressed("forty_five_mode"): @@ -26,14 +26,14 @@ func _process(_delta): func set_view_mode(view_mode_index): match view_mode_index: 0: # 45 Degrees - texture = _fortyFive; + texture = _forty_five; 1: # Isometric texture = _isometric 2: # Top Down - texture = _topDown + texture = _top_down 3: # Front Side - texture = _frontSide + texture = _front_side 4: # Oblique Y - texture = _obliqueY + texture = _oblique_y 5: # Oblique Z - texture = _obliqueZ + texture = _oblique_z diff --git a/misc/2.5d/assets/shadow/textures/fortyfive.png b/misc/2.5d/assets/shadow/textures/forty_five.png similarity index 100% rename from misc/2.5d/assets/shadow/textures/fortyfive.png rename to misc/2.5d/assets/shadow/textures/forty_five.png diff --git a/misc/2.5d/assets/shadow/textures/forty_five.png.import b/misc/2.5d/assets/shadow/textures/forty_five.png.import new file mode 100644 index 00000000..cd931cd0 --- /dev/null +++ b/misc/2.5d/assets/shadow/textures/forty_five.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/forty_five.png-22dcfa54db51531b3612f686997a3fbe.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/shadow/textures/forty_five.png" +dest_files=[ "res://.import/forty_five.png-22dcfa54db51531b3612f686997a3fbe.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/assets/shadow/textures/frontside.png b/misc/2.5d/assets/shadow/textures/front_side.png similarity index 100% rename from misc/2.5d/assets/shadow/textures/frontside.png rename to misc/2.5d/assets/shadow/textures/front_side.png diff --git a/misc/2.5d/assets/shadow/textures/front_side.png.import b/misc/2.5d/assets/shadow/textures/front_side.png.import new file mode 100644 index 00000000..d43de4b0 --- /dev/null +++ b/misc/2.5d/assets/shadow/textures/front_side.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/front_side.png-1470842d27848ecf4de63924b0b98f42.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/shadow/textures/front_side.png" +dest_files=[ "res://.import/front_side.png-1470842d27848ecf4de63924b0b98f42.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/misc/2.5d/assets/shadow/textures/obliqueZ.png b/misc/2.5d/assets/shadow/textures/obliqueZ.png deleted file mode 100644 index 446e9e027c892ae170890f6b2ef3656c9b88f325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 597 zcmV-b0;>IqP)001%w1ONa4zH07h0006UNkl@Y7{}qqBTb7{Y)@TTK{1LABG?3}#ibh&M60MqM6oXFAr^@wwl+=PTmP;=KAkh8 z8=v0|49p9E|4`{zb45?zJp;F0vtdQ$FIl$fp*P<8_}s?}5f#wCc#VY$|s&7NT|ET$jaJR}Dp`8np~IJaQ~DweVC&YXe^` zM7BsM+qEPRwN^;r0DAa*VlJtBLg&ONhGB6Q^I&oK$T?FglUE_{Q zHrtLwtL7RHoR`&(W6`3|?pv4Lwuwlr(YLCIZqn@hu&-}fF>ChBe)G5=yJbmHl^Z@d z{iO#@J<(IEC~ryE(9~S~q^Yr?n=YvQL6utHD<6$a%*@Svcj%M1-gs!!vcIIVV#77J j4cyb$bH$pD%0K@BGCfYB{nl?n00000NkvXXu0mjfp|=~7 diff --git a/misc/2.5d/assets/shadow/textures/obliqueY.png b/misc/2.5d/assets/shadow/textures/oblique_y.png similarity index 100% rename from misc/2.5d/assets/shadow/textures/obliqueY.png rename to misc/2.5d/assets/shadow/textures/oblique_y.png diff --git a/misc/2.5d/addons/node25d/icons/node25d.png.import b/misc/2.5d/assets/shadow/textures/oblique_y.png.import similarity index 68% rename from misc/2.5d/addons/node25d/icons/node25d.png.import rename to misc/2.5d/assets/shadow/textures/oblique_y.png.import index c5811b6a..eccac431 100644 --- a/misc/2.5d/addons/node25d/icons/node25d.png.import +++ b/misc/2.5d/assets/shadow/textures/oblique_y.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/node25d.png-deca325dc1330ad07256305d79ddc3ba.stex" +path="res://.import/oblique_y.png-47d60a179a2cdeff15364f0e389e6008.stex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/node25d/icons/node25d.png" -dest_files=[ "res://.import/node25d.png-deca325dc1330ad07256305d79ddc3ba.stex" ] +source_file="res://assets/shadow/textures/oblique_y.png" +dest_files=[ "res://.import/oblique_y.png-47d60a179a2cdeff15364f0e389e6008.stex" ] [params] diff --git a/misc/2.5d/assets/shadow/textures/oblique_z.png b/misc/2.5d/assets/shadow/textures/oblique_z.png new file mode 100644 index 0000000000000000000000000000000000000000..0df5de9db0ac68e5bd1917e112941b699a0ff80c GIT binary patch literal 805 zcmV+=1KRwFP)j00002VoOIv0RM-N z%)bBt010qNS#tmY3ljhU3ljkVnw%H_000McNliruQ8)X#7@z0ZNE))_dSjwe>7%xR-wAFER#y{P+j`~9BbZluwQOiv%G+asu37hpr z%1|x=LiW7beeulm-E+?GTsBC$d>*6d4qf#sCkG3Ks!49E*I=guS&ExZ2q)Uw9SU`1nQOu4OJR*+nJOXA3y zUo5IeU11`FCd_zOStPuHge!ubGa+_h>H4s&+deX5RKIMOv51VR*o>~JwjmYwP0HUW z&q2XmgV8k(mQ>6dck2QXTpu@}99^lpd**y#pr;~fmr4F|*oaxPMnyfBeWIn+`I@|Y z9;hhx=+m*)z3v1nnDfwR*ShQES3|WEY}jYMFqD!{ZNJv-L>I_>+?PJqmm;cZ%cf>@ zPBl}$H7%baDi-_8>RDLEwC~LHI1SEcY{i0_Gol{%wW(A=WbB!@(|&zh77x6ilKxJb zLd`QP;&zKXwz98$BA+TMX!*muz2km-{QS_YKIvNQv7c<7H2=1ZnNv#Dr^JCj{b>E| zNdvchY9iHa1$%z?gIA}=8o{KBT#Bf?sz>HequQ{d_Y9_5SF0XdIE!k-223clm#tJp zvEh3gY8Pz>L0KskR90-$hM%pq>*_o#qhvUh@;&g6=bqZ{y!S{+8m~ODVEM8bMW~B! zJotmGLrsgG__y5wFN4LZ4sKY`SuI=s^P44gM^~?pY*}%?t6m?_61=o()w8QSIvvJe zjT-49a7_)no?Er$Wq035?kLMkB!VDF zBoY}}vDetKVN=zzJ)!&B45xmDCQO?&q=*