From b3509f2c0ec3499949b7e587e2382e559af79b80 Mon Sep 17 00:00:00 2001 From: Wynd Date: Sat, 21 Mar 2026 01:08:00 +0200 Subject: [PATCH] Updated to 4.6 and some small visual changes to the joystick for better visibility --- .gitignore | 1 + .vscode/launch.json | 18 -------- .vscode/settings.json | 8 ---- Main.tscn | 75 ++++++++++++++++--------------- README.md | 2 +- controller/joystick/joystick.gd | 6 ++- controller/joystick/joystick.tscn | 20 +++++---- controller/text_shader.tres | 20 +-------- project.godot | 8 +++- 9 files changed, 62 insertions(+), 96 deletions(-) delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index cded198..d92e6b2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ builds/ export_templates/ **/logs +.vscode/ diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 19029d3..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch", - "type": "godot", - "request": "launch", - "project": "${workspaceFolder}", - "debug_collisions": false, - "debug_paths": false, - "debug_navigation": false, - "additional_options": "", - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 4255852..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - // The following will hide the js and map files in the editor - "files.exclude": { - "**/*.uid": true, - "**/*.tscn": true, - }, - "godotTools.editorPath.godot4": "/home/wynd/.local/bin/godot4.5.1" -} diff --git a/Main.tscn b/Main.tscn index ded67fd..0734614 100644 --- a/Main.tscn +++ b/Main.tscn @@ -1,11 +1,11 @@ -[gd_scene load_steps=5 format=3 uid="uid://c7bwo3h0leip4"] +[gd_scene format=3 uid="uid://c7bwo3h0leip4"] [ext_resource type="Script" uid="uid://bu2nrvyk2k8ib" path="res://controller/controller.gd" id="1_uu6xs"] [ext_resource type="PackedScene" uid="uid://bkw6xqubudrtw" path="res://controller/button/controller_button.tscn" id="2_uu6xs"] [ext_resource type="PackedScene" uid="uid://c1dixxyohl131" path="res://controller/trigger/trigger_button.tscn" id="3_r0du0"] [ext_resource type="PackedScene" uid="uid://dmbbgdsoioadd" path="res://controller/joystick/joystick.tscn" id="4_cm0pq"] -[node name="Main" type="Control"] +[node name="Main" type="Control" unique_id=383427640] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -14,30 +14,31 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_uu6xs") -[node name="Device" type="RichTextLabel" parent="."] +[node name="Device" type="RichTextLabel" parent="." unique_id=809964945] layout_mode = 1 anchors_preset = 10 anchor_right = 1.0 offset_left = 16.0 -offset_top = 19.0 +offset_top = 8.0 offset_right = -26.0 -offset_bottom = 67.0 +offset_bottom = 56.0 grow_horizontal = 2 theme_override_font_sizes/normal_font_size = 24 text = "No Active Device" +vertical_alignment = 1 -[node name="DPad" type="Control" parent="."] +[node name="DPad" type="Control" parent="." unique_id=1423843832] layout_mode = 1 anchors_preset = 4 anchor_top = 0.5 anchor_bottom = 0.5 offset_left = 191.0 -offset_top = -20.0 +offset_top = -36.0 offset_right = 191.0 -offset_bottom = -20.0 +offset_bottom = -36.0 grow_vertical = 2 -[node name="Up" parent="DPad" instance=ExtResource("2_uu6xs")] +[node name="Up" parent="DPad" unique_id=1761309990 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = 1.0 offset_top = -128.0 @@ -46,7 +47,7 @@ offset_bottom = -32.0 input_code = "ui_up" label = "Up" -[node name="Left" parent="DPad" instance=ExtResource("2_uu6xs")] +[node name="Left" parent="DPad" unique_id=1361916211 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = -95.0 offset_top = -32.0 @@ -55,7 +56,7 @@ offset_bottom = 64.0 input_code = "ui_left" label = "Left" -[node name="Right" parent="DPad" instance=ExtResource("2_uu6xs")] +[node name="Right" parent="DPad" unique_id=1409257767 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = 97.0 offset_top = -32.0 @@ -64,7 +65,7 @@ offset_bottom = 64.0 input_code = "ui_right" label = "Right" -[node name="Down" parent="DPad" instance=ExtResource("2_uu6xs")] +[node name="Down" parent="DPad" unique_id=1438894499 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = 1.0 offset_top = 64.0 @@ -73,7 +74,7 @@ offset_bottom = 160.0 input_code = "ui_down" label = "Down" -[node name="Actions" type="Control" parent="."] +[node name="Actions" type="Control" parent="." unique_id=1246559461] layout_mode = 1 anchors_preset = 6 anchor_left = 1.0 @@ -81,20 +82,20 @@ anchor_top = 0.5 anchor_right = 1.0 anchor_bottom = 0.5 offset_left = -288.0 -offset_top = -20.0 +offset_top = -36.0 offset_right = -288.0 -offset_bottom = -20.0 +offset_bottom = -36.0 grow_horizontal = 0 grow_vertical = 2 -[node name="Action4" parent="Actions" instance=ExtResource("2_uu6xs")] +[node name="Action4" parent="Actions" unique_id=178918588 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_top = -128.0 offset_bottom = -32.0 input_code = "action_4" label = "[img]uid://dd8f8gmpc0era[/img]" -[node name="Action3" parent="Actions" instance=ExtResource("2_uu6xs")] +[node name="Action3" parent="Actions" unique_id=263249942 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = -96.0 offset_top = -32.0 @@ -103,7 +104,7 @@ offset_bottom = 64.0 input_code = "action_3" label = "[img]uid://c3cwld6imdmxo[/img]" -[node name="Action2" parent="Actions" instance=ExtResource("2_uu6xs")] +[node name="Action2" parent="Actions" unique_id=2082637160 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = 96.0 offset_top = -32.0 @@ -112,14 +113,14 @@ offset_bottom = 64.0 input_code = "action_2" label = "[img]uid://dgmruo36vderr[/img]" -[node name="Action1" parent="Actions" instance=ExtResource("2_uu6xs")] +[node name="Action1" parent="Actions" unique_id=172764084 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_top = 64.0 offset_bottom = 160.0 input_code = "action_1" label = "[img]uid://d23pu1ionxes1[/img]" -[node name="MidButtons" type="Control" parent="."] +[node name="MidButtons" type="Control" parent="." unique_id=1126578940] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -127,13 +128,13 @@ anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -20.0 -offset_top = -20.0 +offset_top = -36.0 offset_right = 20.0 -offset_bottom = 20.0 +offset_bottom = 4.0 grow_horizontal = 2 grow_vertical = 2 -[node name="Select" parent="MidButtons" instance=ExtResource("2_uu6xs")] +[node name="Select" parent="MidButtons" unique_id=1297320243 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = -140.0 offset_top = -32.0 @@ -143,7 +144,7 @@ pivot_offset = Vector2(48, 24) input_code = "select" label = "[img width=48]uid://kq8unss5dfnf[/img]" -[node name="Start" parent="MidButtons" instance=ExtResource("2_uu6xs")] +[node name="Start" parent="MidButtons" unique_id=769928574 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = 84.0 offset_top = -32.0 @@ -153,7 +154,7 @@ pivot_offset = Vector2(48, 24) input_code = "start" label = "[img width=48]uid://03m3ethxsomd[/img]" -[node name="ShoulderButtons" type="Control" parent="."] +[node name="ShoulderButtons" type="Control" parent="." unique_id=1966522733] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -161,13 +162,13 @@ anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -20.0 -offset_top = -20.0 +offset_top = -36.0 offset_right = 20.0 -offset_bottom = 20.0 +offset_bottom = 4.0 grow_horizontal = 2 grow_vertical = 2 -[node name="R1" parent="ShoulderButtons" instance=ExtResource("2_uu6xs")] +[node name="R1" parent="ShoulderButtons" unique_id=80114877 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = 84.0 offset_top = -231.0 @@ -176,7 +177,7 @@ offset_bottom = -167.0 input_code = "r1" label = "[img]uid://wqltrinwradw[/img]" -[node name="R2" parent="ShoulderButtons" instance=ExtResource("3_r0du0")] +[node name="R2" parent="ShoulderButtons" unique_id=1470410463 instance=ExtResource("3_r0du0")] layout_mode = 0 offset_left = 276.0 offset_top = -261.0 @@ -185,7 +186,7 @@ offset_bottom = -133.0 input_axis = 5 label = "[img width=48]uid://wrst4mxi4mdc[/img]" -[node name="L1" parent="ShoulderButtons" instance=ExtResource("2_uu6xs")] +[node name="L1" parent="ShoulderButtons" unique_id=855316651 instance=ExtResource("2_uu6xs")] layout_mode = 0 offset_left = -172.0 offset_top = -233.0 @@ -194,7 +195,7 @@ offset_bottom = -169.0 input_code = "l1" label = "[img]uid://crjyakxa6idyd[/img]" -[node name="L2" parent="ShoulderButtons" instance=ExtResource("3_r0du0")] +[node name="L2" parent="ShoulderButtons" unique_id=1357656382 instance=ExtResource("3_r0du0")] layout_mode = 0 offset_left = -300.0 offset_top = -261.0 @@ -203,7 +204,7 @@ offset_bottom = -133.0 input_axis = 4 label = "[img width=48]uid://xl1fiv1qi2sx[/img]" -[node name="LeftJoystick" parent="." instance=ExtResource("4_cm0pq")] +[node name="LeftJoystick" parent="." unique_id=169846338 instance=ExtResource("4_cm0pq")] layout_mode = 1 anchors_preset = 7 anchor_left = 0.5 @@ -211,14 +212,14 @@ anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 offset_left = -320.0 -offset_top = -293.0 +offset_top = -309.0 offset_right = -64.0 -offset_bottom = -37.0 +offset_bottom = -53.0 grow_horizontal = 2 grow_vertical = 0 axis_y = 1 -[node name="RightJoystick" parent="." instance=ExtResource("4_cm0pq")] +[node name="RightJoystick" parent="." unique_id=911300384 instance=ExtResource("4_cm0pq")] layout_mode = 1 anchors_preset = 7 anchor_left = 0.5 @@ -226,9 +227,9 @@ anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 offset_left = 64.0 -offset_top = -293.0 +offset_top = -309.0 offset_right = 320.0 -offset_bottom = -37.0 +offset_bottom = -53.0 grow_horizontal = 2 grow_vertical = 0 axis_x = 2 diff --git a/README.md b/README.md index 5f4c0c9..b8950d4 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ there's nothing particularly fancy about this and it does what it says, allows t made with godot because I couldn't be bothered with any GUI toolkits out there it uses a custom exporting template (built script only works on linux at the moment) to cut down its size by more than half -compared with the original TUI version it is huge coming at around 21MB (about 11 times more) and it consumes about 26 times more RAM (~130MB) +compared with the original TUI version it is huge coming at around 21MB (about 11 times more) and it consumes ~130MB of RAM (about 26 times more) however it comes with a bunch of benefits such as a much nicer layout, button images, transparency and an overall (very subjecitve) nicer UX/DX ## controls diff --git a/controller/joystick/joystick.gd b/controller/joystick/joystick.gd index 59ddb4b..35cf4bf 100644 --- a/controller/joystick/joystick.gd +++ b/controller/joystick/joystick.gd @@ -7,6 +7,8 @@ extends Panel @export var axis_x: JoyAxis @export var axis_y: JoyAxis +const DOT_OFFSET: float = 80.0 + var _dot_style: StyleBoxFlat var _last_x := 0.0 var _last_y := 0.0 @@ -23,8 +25,8 @@ func _process(_delta: float) -> void: var x := Input.get_joy_axis(0, self.axis_x) var y := Input.get_joy_axis(0, self.axis_y) - self.pos.position.x = (x * 128.0) + 104.0 - self.pos.position.y = (y * 128.0) + 104.0 + self.pos.position.x = (x * 128.0) + DOT_OFFSET + self.pos.position.y = (y * 128.0) + DOT_OFFSET var speed_x: float = abs(x - self._last_x) var speed_y: float = abs(y - self._last_y) diff --git a/controller/joystick/joystick.tscn b/controller/joystick/joystick.tscn index 2fb32c8..669e63a 100644 --- a/controller/joystick/joystick.tscn +++ b/controller/joystick/joystick.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=3 format=3 uid="uid://dmbbgdsoioadd"] +[gd_scene format=3 uid="uid://dmbbgdsoioadd"] [ext_resource type="Script" uid="uid://d0uk2qtgrsvhg" path="res://controller/joystick/joystick.gd" id="1_vr4b3"] +[ext_resource type="StyleBox" uid="uid://bgb7rlf1chjnd" path="res://controller/joystick/joystick_theme.tres" id="2_crwtg"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2jarx"] bg_color = Color(0.6, 0.6, 0.6, 0) @@ -16,29 +17,30 @@ corner_radius_bottom_right = 100 corner_radius_bottom_left = 100 corner_detail = 16 -[node name="JoystickArea" type="Panel"] +[node name="JoystickArea" type="Panel" unique_id=1948391394] offset_right = 256.0 offset_bottom = 256.0 pivot_offset = Vector2(128, 128) theme_override_styles/panel = SubResource("StyleBoxFlat_2jarx") script = ExtResource("1_vr4b3") -[node name="Pos" type="Panel" parent="."] +[node name="Pos" type="Panel" parent="." unique_id=1096340521] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -offset_left = -24.0 -offset_top = -24.0 -offset_right = 24.0 -offset_bottom = 24.0 +offset_left = -48.0 +offset_top = -48.0 +offset_right = 48.0 +offset_bottom = 48.0 grow_horizontal = 2 grow_vertical = 2 -pivot_offset = Vector2(24, 24) +pivot_offset = Vector2(48, 48) +theme_override_styles/panel = ExtResource("2_crwtg") -[node name="Label" type="RichTextLabel" parent="."] +[node name="Label" type="RichTextLabel" parent="." unique_id=1954656287] layout_mode = 1 anchors_preset = 7 anchor_left = 0.5 diff --git a/controller/text_shader.tres b/controller/text_shader.tres index 6e7c0a3..1d1e1c4 100644 --- a/controller/text_shader.tres +++ b/controller/text_shader.tres @@ -1,4 +1,4 @@ -[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://crnhvx5xfqmj7"] +[gd_resource type="ShaderMaterial" format=3 uid="uid://crnhvx5xfqmj7"] [sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_i05ah"] parameter_name = "TextColor" @@ -6,24 +6,6 @@ qualifier = 2 default_value_enabled = true [sub_resource type="VisualShader" id="VisualShader_6fe4d"] -code = "shader_type canvas_item; -render_mode blend_mix; - -instance uniform vec4 TextColor : source_color = vec4(1.000000, 1.000000, 1.000000, 1.000000); - - - -void vertex() { -// ColorParameter:2 - vec4 n_out2p0 = TextColor; - - -// Output:0 - COLOR.rgb = vec3(n_out2p0.xyz); - - -} -" mode = 1 flags/light_only = false nodes/vertex/2/node = SubResource("VisualShaderNodeColorParameter_i05ah") diff --git a/project.godot b/project.godot index e57c7c6..b3eb749 100644 --- a/project.godot +++ b/project.godot @@ -8,6 +8,10 @@ config_version=5 +[animation] + +compatibility/default_parent_skeleton_in_mesh_instance_3d=true + [application] config/name="gamo" @@ -15,11 +19,11 @@ config/description="local gamepad tester" config/version="1.0.0" run/main_scene="uid://c7bwo3h0leip4" config/use_custom_user_dir=true -config/features=PackedStringArray("4.5", "GL Compatibility") +config/features=PackedStringArray("4.6", "GL Compatibility") run/max_fps=24 run/low_processor_mode=true boot_splash/show_image=false -boot_splash/fullsize=false +boot_splash/stretch_mode=0 boot_splash/use_filter=false config/icon="res://icon.svg"