From a0bda98a2367736dabd602fe30ed73b929e74c39 Mon Sep 17 00:00:00 2001 From: Luke Hubmayer-Werner Date: Sat, 23 Mar 2024 19:41:34 +1030 Subject: [PATCH] Switch most relative node paths to scene-unique --- main.gd | 3 +-- main.tscn | 7 ++--- scenes/RadialGame.tscn | 57 ++++++++++++++++++++-------------------- scenes/StepGame.tscn | 41 ++++++++++++++--------------- scenes/StepMenu.tscn | 18 ++++++++++--- scripts/NoteHandler.gd | 10 +++---- scripts/NotePainter.gd | 3 +-- scripts/NoteViewport.gd | 3 +-- scripts/StepMenu.gd | 6 ++--- scripts/TouchMenu.gd | 11 ++++---- singletons/FileLoader.gd | 2 +- 11 files changed, 83 insertions(+), 78 deletions(-) diff --git a/main.gd b/main.gd index 0c9323e..390ee9e 100644 --- a/main.gd +++ b/main.gd @@ -1,6 +1,5 @@ extends Control -export var mainMenuPath := @'MainMenu' -onready var mainMenu := get_node(mainMenuPath) +onready var mainMenu := $'%mainMenu' const touchGamePath := 'res://scenes/RadialGame.tscn' const stepGamePath := 'res://scenes/StepGame.tscn' diff --git a/main.tscn b/main.tscn index 55f90f7..139beb2 100644 --- a/main.tscn +++ b/main.tscn @@ -15,7 +15,8 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="MainMenu" parent="." instance=ExtResource( 1 )] +[node name="mainMenu" parent="." instance=ExtResource( 1 )] +unique_name_in_owner = true [node name="OptionPanel" parent="." instance=ExtResource( 13 )] anchor_left = 1.0 @@ -35,5 +36,5 @@ __meta__ = { "_edit_use_anchors_": false } -[connection signal="start_stepgame" from="MainMenu" to="." method="_on_MainMenu_start_stepgame"] -[connection signal="start_touchgame" from="MainMenu" to="." method="_on_MainMenu_start_touchgame"] +[connection signal="start_stepgame" from="mainMenu" to="." method="_on_MainMenu_start_stepgame"] +[connection signal="start_touchgame" from="mainMenu" to="." method="_on_MainMenu_start_touchgame"] diff --git a/scenes/RadialGame.tscn b/scenes/RadialGame.tscn index 4340b8a..f8ac32f 100644 --- a/scenes/RadialGame.tscn +++ b/scenes/RadialGame.tscn @@ -84,11 +84,12 @@ _data = [ Vector2( -1, -1 ), 0.0, 0.0, 0, 0, Vector2( 0, 0 ), 2.0, 2.0, 1, 1, Ve anchor_right = 1.0 anchor_bottom = 1.0 -[node name="Square" type="Control" parent="."] +[node name="square" type="Control" parent="."] +unique_name_in_owner = true margin_right = 1080.0 margin_bottom = 1080.0 -[node name="video" type="TextureRect" parent="Square" groups=["VideoTexRects"]] +[node name="video" type="TextureRect" parent="square" groups=["VideoTexRects"]] anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 @@ -101,7 +102,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="ScreenFilter" type="ColorRect" parent="Square"] +[node name="ScreenFilter" type="ColorRect" parent="square"] anchor_right = 1.0 anchor_bottom = 1.0 color = Color( 0, 0, 0, 1 ) @@ -110,7 +111,8 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Receptors" type="Control" parent="Square"] +[node name="receptors" type="Control" parent="square"] +unique_name_in_owner = true material = SubResource( 1 ) anchor_right = 1.0 anchor_bottom = 1.0 @@ -119,35 +121,38 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="NoteHandler" type="Control" parent="Square"] +[node name="noteHandler" type="Control" parent="square"] +unique_name_in_owner = true anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 6 ) -__meta__ = { -"_edit_use_anchors_": false -} -[node name="Viewport" type="Viewport" parent="Square/NoteHandler"] +[node name="viewport" type="Viewport" parent="square/noteHandler"] +unique_name_in_owner = true size = Vector2( 1080, 1080 ) transparent_bg = true render_target_v_flip = true script = ExtResource( 1 ) -[node name="Center" type="Node2D" parent="Square/NoteHandler/Viewport"] +[node name="Center" type="Node2D" parent="square/noteHandler/viewport"] position = Vector2( 540, 540 ) -[node name="SlideTrailHandler" type="Node2D" parent="Square/NoteHandler/Viewport/Center"] +[node name="slideTrailHandler" type="Node2D" parent="square/noteHandler/viewport/Center"] +unique_name_in_owner = true -[node name="JudgeText" type="MeshInstance2D" parent="Square/NoteHandler/Viewport/Center"] +[node name="judgeText" type="MeshInstance2D" parent="square/noteHandler/viewport/Center"] +unique_name_in_owner = true texture = ExtResource( 2 ) -[node name="meshinstance" type="MeshInstance2D" parent="Square/NoteHandler/Viewport/Center"] +[node name="meshinstance" type="MeshInstance2D" parent="square/noteHandler/viewport/Center"] +unique_name_in_owner = true material = SubResource( 2 ) -[node name="notelines" type="MeshInstance2D" parent="Square/NoteHandler/Viewport/Center"] +[node name="notelines" type="MeshInstance2D" parent="square/noteHandler/viewport/Center"] +unique_name_in_owner = true material = SubResource( 3 ) -[node name="lbl_combo" type="Label" parent="Square/NoteHandler"] +[node name="lbl_combo" type="Label" parent="square/noteHandler"] visible = false anchor_left = 0.5 anchor_top = 0.5 @@ -168,21 +173,17 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Painter" type="Control" parent="Square"] +[node name="painter" type="Control" parent="square"] +unique_name_in_owner = true material = SubResource( 6 ) anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 3 ) -__meta__ = { -"_edit_use_anchors_": false -} -[node name="Menu" parent="Square" instance=ExtResource( 10 )] -noteHandlerPath = NodePath("../NoteHandler") -receptorsPath = NodePath("../Receptors") +[node name="Menu" parent="square" instance=ExtResource( 10 )] ease_curve = SubResource( 7 ) -[node name="Bezel" type="Control" parent="Square"] +[node name="Bezel" type="Control" parent="square"] anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 5 ) @@ -190,7 +191,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="InputHandler" type="Control" parent="Square"] +[node name="InputHandler" type="Control" parent="square"] anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 4 ) @@ -198,7 +199,7 @@ __meta__ = { "_edit_use_anchors_": false } -[connection signal="combo_changed" from="Square/NoteHandler" to="Square/NoteHandler/lbl_combo" method="_on_NoteHandler_combo_changed"] -[connection signal="finished_song" from="Square/NoteHandler" to="Square/NoteHandler/lbl_combo" method="_on_NoteHandler_finished_song"] -[connection signal="column_pressed" from="Square/InputHandler" to="Square/NoteHandler" method="_on_InputHandler_column_pressed"] -[connection signal="column_released" from="Square/InputHandler" to="Square/NoteHandler" method="_on_InputHandler_column_released"] +[connection signal="combo_changed" from="square/noteHandler" to="square/noteHandler/lbl_combo" method="_on_NoteHandler_combo_changed"] +[connection signal="finished_song" from="square/noteHandler" to="square/noteHandler/lbl_combo" method="_on_NoteHandler_finished_song"] +[connection signal="column_pressed" from="square/InputHandler" to="square/noteHandler" method="_on_InputHandler_column_pressed"] +[connection signal="column_released" from="square/InputHandler" to="square/noteHandler" method="_on_InputHandler_column_released"] diff --git a/scenes/StepGame.tscn b/scenes/StepGame.tscn index b586e9b..81a7ed9 100644 --- a/scenes/StepGame.tscn +++ b/scenes/StepGame.tscn @@ -85,49 +85,49 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Receptors" type="Control" parent="."] +[node name="receptors" type="Control" parent="."] +unique_name_in_owner = true anchor_right = 1.0 anchor_bottom = 1.0 __meta__ = { "_edit_use_anchors_": false } -[node name="TextureRect" type="TextureRect" parent="Receptors"] +[node name="TextureRect" type="TextureRect" parent="receptors"] margin_right = 1080.0 margin_bottom = 1080.0 __meta__ = { "_edit_use_anchors_": false } -[node name="NoteHandler" type="Control" parent="."] +[node name="noteHandler" type="Control" parent="."] +unique_name_in_owner = true anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 6 ) -__meta__ = { -"_edit_use_anchors_": false -} -[node name="Viewport" type="Viewport" parent="NoteHandler"] +[node name="viewport" type="Viewport" parent="noteHandler"] +unique_name_in_owner = true size = Vector2( 1080, 1080 ) transparent_bg = true render_target_v_flip = true script = ExtResource( 1 ) -[node name="Center" type="Node2D" parent="NoteHandler/Viewport"] +[node name="Center" type="Node2D" parent="noteHandler/viewport"] position = Vector2( 540, 540 ) -[node name="SlideTrailHandler" type="Node2D" parent="NoteHandler/Viewport/Center"] +[node name="SlideTrailHandler" type="Node2D" parent="noteHandler/viewport/Center"] -[node name="JudgeText" type="MeshInstance2D" parent="NoteHandler/Viewport/Center"] +[node name="JudgeText" type="MeshInstance2D" parent="noteHandler/viewport/Center"] texture = ExtResource( 2 ) -[node name="meshinstance" type="MeshInstance2D" parent="NoteHandler/Viewport/Center"] +[node name="meshinstance" type="MeshInstance2D" parent="noteHandler/viewport/Center"] material = SubResource( 2 ) -[node name="notelines" type="MeshInstance2D" parent="NoteHandler/Viewport/Center"] +[node name="notelines" type="MeshInstance2D" parent="noteHandler/viewport/Center"] material = SubResource( 3 ) -[node name="lbl_combo" type="Label" parent="NoteHandler"] +[node name="lbl_combo" type="Label" parent="noteHandler"] visible = false anchor_left = 0.5 anchor_top = 0.5 @@ -148,15 +148,12 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Painter" type="Control" parent="NoteHandler"] +[node name="painter" type="Control" parent="noteHandler"] +unique_name_in_owner = true material = SubResource( 6 ) anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 3 ) -__meta__ = { -"_edit_use_anchors_": false -} -viewportPath = NodePath("../Viewport") [node name="StepMenu" parent="." instance=ExtResource( 5 )] @@ -168,7 +165,7 @@ __meta__ = { "_edit_use_anchors_": false } -[connection signal="combo_changed" from="NoteHandler" to="NoteHandler/lbl_combo" method="_on_NoteHandler_combo_changed"] -[connection signal="finished_song" from="NoteHandler" to="NoteHandler/lbl_combo" method="_on_NoteHandler_finished_song"] -[connection signal="column_pressed" from="InputHandler" to="NoteHandler" method="_on_InputHandler_column_pressed"] -[connection signal="column_released" from="InputHandler" to="NoteHandler" method="_on_InputHandler_column_released"] +[connection signal="combo_changed" from="noteHandler" to="noteHandler/lbl_combo" method="_on_NoteHandler_combo_changed"] +[connection signal="finished_song" from="noteHandler" to="noteHandler/lbl_combo" method="_on_NoteHandler_finished_song"] +[connection signal="column_pressed" from="InputHandler" to="noteHandler" method="_on_InputHandler_column_pressed"] +[connection signal="column_released" from="InputHandler" to="noteHandler" method="_on_InputHandler_column_released"] diff --git a/scenes/StepMenu.tscn b/scenes/StepMenu.tscn index a06ecd3..1e39617 100644 --- a/scenes/StepMenu.tscn +++ b/scenes/StepMenu.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=7 format=2] [ext_resource path="res://scripts/ScoreText.gd" type="Script" id=1] [ext_resource path="res://scripts/StepMenu.gd" type="Script" id=2] [ext_resource path="res://shaders/menu.tres" type="Material" id=3] [ext_resource path="res://shaders/scoretext.tres" type="Material" id=4] +[ext_resource path="res://scenes/JoypadMonitor6Btn.tscn" type="PackedScene" id=5] [sub_resource type="Curve" id=1] min_value = -1.0 @@ -15,9 +16,6 @@ anchor_right = 1.0 anchor_bottom = 1.0 rect_clip_content = true script = ExtResource( 2 ) -__meta__ = { -"_edit_use_anchors_": false -} ease_curve = SubResource( 1 ) [node name="ScoreText" type="Node2D" parent="."] @@ -26,3 +24,15 @@ script = ExtResource( 1 ) [node name="PVMusic" type="AudioStreamPlayer" parent="."] bus = "Preview" + +[node name="JoypadMonitor" parent="." instance=ExtResource( 5 )] + +[node name="JoypadMonitor2" parent="." instance=ExtResource( 5 )] +margin_left = 200.0 +joypad_index = 1 + +[node name="JoypadMonitor3" parent="." instance=ExtResource( 5 )] +margin_left = 400.0 +margin_right = 200.0 +margin_bottom = 238.0 +joypad_index = 1 diff --git a/scripts/NoteHandler.gd b/scripts/NoteHandler.gd index f08ecee..2bed3c8 100644 --- a/scripts/NoteHandler.gd +++ b/scripts/NoteHandler.gd @@ -12,11 +12,11 @@ var song_key = '' onready var musicPlayer := SoundPlayer.music_player onready var videoPlayer := Video.video -onready var painter = $'../Painter' -onready var slideTrailHandler = $'Viewport/Center/SlideTrailHandler' -onready var judgeText = $'Viewport/Center/JudgeText' -onready var notelines = $'Viewport/Center/notelines' -onready var meshinstance = $'Viewport/Center/meshinstance' +onready var painter = $'%painter' +onready var slideTrailHandler = $'%slideTrailHandler' +onready var judgeText = $'%judgeText' +onready var notelines = $'%notelines' +onready var meshinstance = $'%meshinstance' onready var lbl_combo = $lbl_combo var time_zero_msec: int = 0 diff --git a/scripts/NotePainter.gd b/scripts/NotePainter.gd index e26021c..6aa1def 100644 --- a/scripts/NotePainter.gd +++ b/scripts/NotePainter.gd @@ -1,7 +1,6 @@ extends Control -export var viewportPath := @'../NoteHandler/Viewport' -onready var viewport := get_node(viewportPath) +onready var viewport := $'%viewport' func _draw(): draw_texture_rect(viewport.get_texture(), Rect2(Vector2.ZERO, rect_size), false) diff --git a/scripts/NoteViewport.gd b/scripts/NoteViewport.gd index 041cbfe..535feeb 100644 --- a/scripts/NoteViewport.gd +++ b/scripts/NoteViewport.gd @@ -1,7 +1,6 @@ extends Viewport -export var squarePath := @'../../' -onready var square := get_node(squarePath) +onready var square := $'%square' onready var root := $'/root' onready var base_height = 1080.0 diff --git a/scripts/StepMenu.gd b/scripts/StepMenu.gd index 66a772f..f681c81 100644 --- a/scripts/StepMenu.gd +++ b/scripts/StepMenu.gd @@ -1,10 +1,8 @@ #tool extends Control -export var noteHandlerPath := @'../NoteHandler' -export var receptorsPath := @'../Receptors' -onready var noteHandler := get_node(noteHandlerPath) -onready var receptors := get_node(receptorsPath) +onready var noteHandler := $'%noteHandler' +onready var receptors := $'%receptors' onready var scoreText := $ScoreText onready var PVMusic := SoundPlayer.music_player_pv diff --git a/scripts/TouchMenu.gd b/scripts/TouchMenu.gd index b23dced..661f057 100644 --- a/scripts/TouchMenu.gd +++ b/scripts/TouchMenu.gd @@ -1,10 +1,8 @@ #tool extends Control -export var noteHandlerPath := @'../Center/NoteHandler' -export var receptorsPath := @'../Center/Receptors' -onready var noteHandler := get_node(noteHandlerPath) -onready var receptors := get_node(receptorsPath) +onready var noteHandler := $'%noteHandler' +onready var receptors := $'%receptors' onready var scoreText := $ScoreText onready var PVMusic := SoundPlayer.music_player_pv @@ -49,7 +47,10 @@ func get_song_idx() -> int: return int(round(self.target_song_idx + target_song_delta)) func get_song_key() -> String: - var songslist = genres[genres.keys()[selected_genre]] + var keys = genres.keys() + if len(keys) <= selected_difficulty: + return 'N/A' + var songslist = genres[keys[selected_genre]] return songslist[int(round(self.target_song_idx)) % len(songslist)] var scorescreen_song_key := '' diff --git a/singletons/FileLoader.gd b/singletons/FileLoader.gd index 8c1efe2..8642d3d 100644 --- a/singletons/FileLoader.gd +++ b/singletons/FileLoader.gd @@ -11,7 +11,7 @@ const NOT_FOUND := '' const default_difficulty_keys = ['Z', 'B', 'A', 'E', 'M', 'R'] var userroot := OS.get_user_data_dir().rstrip('/')+'/' if OS.get_name() != 'Android' else '/storage/emulated/0/RhythmGame/' -var PATHS := PoolStringArray([userroot, '/media/fridge-q/Games/RTG/slow_userdir/']) # Temporary hardcoded testing +var PATHS := PoolStringArray([userroot, '/home/luke/RTG/']) # Temporary hardcoded testing # The following would probably work. One huge caveat is that permission needs to be manually granted by the user in app settings as we can't use OS.request_permission('WRITE_EXTERNAL_STORAGE') # '/storage/emulated/0/Android/data/au.ufeff.rhythmgame/' # '/sdcard/Android/data/au.ufeff.rhythmgame/'