draw TunnelObjects lying outside normal range (0-60)

still needs to be done for the Holds Viewport
This commit is contained in:
msk
2023-09-17 00:12:09 -07:00
parent 02aa6f3e8b
commit b61d01d1da
4 changed files with 71 additions and 36 deletions
+54 -31
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=15 format=3 uid="uid://bqh00ot0csqmk"] [gd_scene load_steps=14 format=3 uid="uid://bqh00ot0csqmk"]
[ext_resource type="Script" path="res://Scripts/Scenes/Play.cs" id="1_d6iv3"] [ext_resource type="Script" path="res://Scripts/Scenes/Play.cs" id="1_d6iv3"]
[ext_resource type="PackedScene" uid="uid://cyetvgmwnoy8l" path="res://Things/HitLine.tscn" id="2_8g6gv"] [ext_resource type="PackedScene" uid="uid://cyetvgmwnoy8l" path="res://Things/HitLine.tscn" id="2_8g6gv"]
@@ -73,13 +73,13 @@ width = 1920
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_27qpl"] [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_27qpl"]
blend_mode = 1 blend_mode = 1
[sub_resource type="LabelSettings" id="LabelSettings_dj3ei"] [node name="Play" type="Node" node_paths=PackedStringArray("noteDisplay", "scrollDisplay", "mainViewport", "leftViewport", "rightViewport")]
font_size = 271
[node name="Play" type="Node" node_paths=PackedStringArray("noteDisplay", "scrollDisplay")]
script = ExtResource("1_d6iv3") script = ExtResource("1_d6iv3")
noteDisplay = NodePath("ViewportView/2D Viewport/Viewport Control/Notes Scroll") noteDisplay = NodePath("ViewportView/2D Viewport/Viewport Control/Notes Scroll")
scrollDisplay = NodePath("ViewportView/2D Viewport/Viewport Control/Holds ViewportView/SubViewport/Holds Scroll") scrollDisplay = NodePath("ViewportView/2D Viewport/Viewport Control/Holds ViewportView/Holds Viewport/Holds Scroll")
mainViewport = NodePath("ViewportView/2D Viewport")
leftViewport = NodePath("ViewportView/2D Viewport/Viewport Control/ViewportView Left/Viewport Left")
rightViewport = NodePath("ViewportView/2D Viewport/Viewport Control/ViewportView Right/Viewport Right")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_nefjb") environment = SubResource("Environment_nefjb")
@@ -126,7 +126,6 @@ size = Vector2i(1920, 1920)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="Viewport Control" type="Control" parent="ViewportView/2D Viewport"] [node name="Viewport Control" type="Control" parent="ViewportView/2D Viewport"]
clip_contents = true
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -134,26 +133,29 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="Camera2D" type="Camera2D" parent="ViewportView/2D Viewport/Viewport Control"] [node name="Camera2D Main" type="Camera2D" parent="ViewportView/2D Viewport/Viewport Control"]
position = Vector2(0, -1920) position = Vector2(0, -1920)
offset = Vector2(0, 1920)
anchor_mode = 0 anchor_mode = 0
enabled = false editor_draw_screen = false
[node name="Background" parent="ViewportView/2D Viewport/Viewport Control" instance=ExtResource("2_8g6gv")] [node name="Background" parent="ViewportView/2D Viewport/Viewport Control" instance=ExtResource("2_8g6gv")]
layout_mode = 1 layout_mode = 1
offset_top = -1920.0
offset_right = 1920.0
[node name="Holds ViewportView" type="SubViewportContainer" parent="ViewportView/2D Viewport/Viewport Control"] [node name="Holds ViewportView" type="SubViewportContainer" parent="ViewportView/2D Viewport/Viewport Control"]
layout_mode = 0 layout_mode = 0
offset_right = 1920.0 offset_right = 1920.0
offset_bottom = 1920.0 offset_bottom = 1920.0
[node name="SubViewport" type="SubViewport" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView"] [node name="Holds Viewport" type="SubViewport" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView"]
transparent_bg = true transparent_bg = true
handle_input_locally = false handle_input_locally = false
size = Vector2i(1920, 1920) size = Vector2i(1920, 1920)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="Holds Scroll" type="Control" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView/SubViewport"] [node name="Holds Scroll" type="Control" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView/Holds Viewport"]
material = SubResource("CanvasItemMaterial_1ouek") material = SubResource("CanvasItemMaterial_1ouek")
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
@@ -164,11 +166,12 @@ offset_bottom = 1920.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="HoldTest" type="Polygon2D" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView/SubViewport/Holds Scroll"] [node name="HoldTest" type="Polygon2D" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView/Holds Viewport/Holds Scroll"]
position = Vector2(0, -6000)
color = Color(1, 1, 1, 0.921569) color = Color(1, 1, 1, 0.921569)
polygon = PackedVector2Array(0, 0, 300, 0, 1100, -1920, 800, -1920) polygon = PackedVector2Array(0, 0, 300, 0, 1100, -1920, 800, -1920)
[node name="Holds Filter" type="TextureRect" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView/SubViewport"] [node name="Holds Filter" type="TextureRect" parent="ViewportView/2D Viewport/Viewport Control/Holds ViewportView/Holds Viewport"]
material = SubResource("CanvasItemMaterial_5ymar") material = SubResource("CanvasItemMaterial_5ymar")
custom_minimum_size = Vector2(1920, 1920) custom_minimum_size = Vector2(1920, 1920)
anchors_preset = 15 anchors_preset = 15
@@ -190,23 +193,43 @@ anchor_top = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_vertical = 0 grow_vertical = 0
[node name="Label" type="Label" parent="ViewportView/2D Viewport/Viewport Control"] [node name="ViewportView Left" type="SubViewportContainer" parent="ViewportView/2D Viewport/Viewport Control"]
visible = false layout_mode = 0
offset_right = 1920.0
offset_bottom = 1920.0
[node name="Viewport Left" type="SubViewport" parent="ViewportView/2D Viewport/Viewport Control/ViewportView Left"]
disable_3d = true
own_world_3d = true
transparent_bg = true
handle_input_locally = false
msaa_2d = 1
size = Vector2i(1920, 1920)
render_target_update_mode = 4
[node name="Camera2D Left" type="Camera2D" parent="ViewportView/2D Viewport/Viewport Control/ViewportView Left/Viewport Left"]
position = Vector2(0, -1920)
offset = Vector2(-1921, 1920)
anchor_mode = 0
[node name="ViewportView Right" type="SubViewportContainer" parent="ViewportView/2D Viewport/Viewport Control"]
layout_mode = 1 layout_mode = 1
anchors_preset = 2 anchors_preset = -1
anchor_top = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_top = -2236.45 grow_horizontal = 2
offset_right = 1885.0 grow_vertical = 2
offset_bottom = 1.5481
grow_vertical = 0 [node name="Viewport Right" type="SubViewport" parent="ViewportView/2D Viewport/Viewport Control/ViewportView Right"]
size_flags_vertical = 3 disable_3d = true
text = "1 2 3 4 5 6 7 10 own_world_3d = true
1 2 3 4 5 6 7 10 transparent_bg = true
1 2 3 4 5 6 7 10 handle_input_locally = false
1 2 3 4 5 6 7 10 msaa_2d = 1
1 2 3 4 5 6 7 10 size = Vector2i(1920, 1920)
1 2 3 4 5 6 7 10" render_target_update_mode = 4
label_settings = SubResource("LabelSettings_dj3ei")
horizontal_alignment = 1 [node name="Camera2D Right" type="Camera2D" parent="ViewportView/2D Viewport/Viewport Control/ViewportView Right/Viewport Right"]
vertical_alignment = 2 position = Vector2(0, -1920)
offset = Vector2(1921, 1920)
anchor_mode = 0
+1 -1
View File
@@ -296,7 +296,7 @@ namespace WacK.Data.Chart
} }
if (chordableNotes.Count >= 2) if (chordableNotes.Count >= 2)
{ {
GD.Print($"Found chord: {string.Join(", ", chordableNotes)}"); // GD.Print($"Found chord: {string.Join(", ", chordableNotes)}");
// TODO: draw chord indicators "Chordify" // TODO: draw chord indicators "Chordify"
} }
} }
+13 -1
View File
@@ -35,13 +35,24 @@ namespace WacK.Scenes
[Export] [Export]
public Control scrollDisplay; public Control scrollDisplay;
[Export]
public Viewport mainViewport;
[Export]
public Viewport leftViewport;
[Export]
public Viewport rightViewport;
private Chart chart; private Chart chart;
// scroll speed // scroll speed
private const float PIXELS_PER_SECOND = 2000; private const float PIXELS_PER_SECOND = 2000;
public override void _Ready() public override void _Ready()
{ {
// so we can see objects outside of the 0-60min. region
leftViewport.World2D = mainViewport.World2D;
rightViewport.World2D = mainViewport.World2D;
// parse mer and create chart for current play // parse mer and create chart for current play
chart = new(playParams.chartPath); chart = new(playParams.chartPath);
RealizeChart(); RealizeChart();
@@ -82,6 +93,7 @@ namespace WacK.Scenes
var nPos = noteDisplay.Position; var nPos = noteDisplay.Position;
nPos.Y += (float)delta * PIXELS_PER_SECOND; nPos.Y += (float)delta * PIXELS_PER_SECOND;
noteDisplay.Position = nPos; noteDisplay.Position = nPos;
scrollDisplay.Position = nPos;
} }
private void OnDestroy() private void OnDestroy()
+3 -3
View File
@@ -3,8 +3,8 @@
[ext_resource type="Texture2D" uid="uid://dkohutwp0yujj" path="res://_Assets/Textures/HitLine/BGLine.png" id="1_w0gbp"] [ext_resource type="Texture2D" uid="uid://dkohutwp0yujj" path="res://_Assets/Textures/HitLine/BGLine.png" id="1_w0gbp"]
[sub_resource type="Gradient" id="Gradient_djnn4"] [sub_resource type="Gradient" id="Gradient_djnn4"]
offsets = PackedFloat32Array(0, 0.380682, 1) offsets = PackedFloat32Array(0)
colors = PackedColorArray(0, 0, 0, 0.368627, 0, 0, 0, 0.368627, 0, 0, 0, 0.0980392) colors = PackedColorArray(0.0308856, 0.0596563, 0.141577, 0.894118)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_kn5i7"] [sub_resource type="GradientTexture1D" id="GradientTexture1D_kn5i7"]
gradient = SubResource("Gradient_djnn4") gradient = SubResource("Gradient_djnn4")
@@ -19,7 +19,7 @@ anchor_bottom = 1.0
offset_top = -32.0 offset_top = -32.0
grow_vertical = 0 grow_vertical = 0
[node name="Shadow" type="TextureRect" parent="."] [node name="DarkBG" type="TextureRect" parent="."]
custom_minimum_size = Vector2(1920, 1920) custom_minimum_size = Vector2(1920, 1920)
layout_mode = 1 layout_mode = 1
anchors_preset = 2 anchors_preset = 2