From db2507048fb09c5bedbbe3049e953cf6a47139e1 Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Sat, 19 Apr 2025 09:49:07 -0600 Subject: [PATCH] UI tweaks & i18n --- assets/text/text.csv | 19 +++++++ levels/ghost_ship/ghost_ship_level.tscn | 16 ++++++ levels/ghost_ship/item_data/eyeballs.tres | 4 +- .../ghost_ship/player_ship/player_ship.tscn | 4 +- .../retinal_scanner/retinal_scanner.tscn | 2 + src/props/wall_switch/wall_switch.gd | 3 ++ src/props/wall_switch/wall_switch.tscn | 3 ++ src/ui/hud/player_hud.tscn | 49 +++++++++++++------ src/world/meet_spook/meet_spook_mob.gd | 2 - src/world/spook_manager/spook_manager.gd | 1 - src/world/world_item/world_item.tscn | 2 +- 11 files changed, 82 insertions(+), 23 deletions(-) diff --git a/assets/text/text.csv b/assets/text/text.csv index 1573392..a7e3a99 100644 --- a/assets/text/text.csv +++ b/assets/text/text.csv @@ -57,3 +57,22 @@ ACTION_select_brush,"Select toothbrush" ACTION_select_mp3_player,"Select MP3 player" ACTION_select_manual,"Select manual" ACTION_pause,Pause +, +HUD_WARNING,WARNING +HUD_ALERT_MSG,"ANTIPSIONIC SURGE DETECTED\nEXERCISE EXTREME CAUTION" +HUD_TANK_WARNING,"TANK FULL\nRETURN TO SHIP" +, +INTERACTIVE_SCANNER_LABEL,"Retinal Scanner" +INTERACTIVE_SCANNER_VERB,use +INTERACTIVE_SWITCH_LABEL,Switch +INTERACTIVE_SWITCH_VERB,use +INTERACTIVE_WORLDITEM_VERB,"pick up" +INTERACTIVE_TANK_LABEL,"Grunk Tank" +INTERACTIVE_TANK_VERB,deposit +, +ITEM_EYEBALLS_NAME,Eyeballs +ITEM_EYEBALLS_DESCRIPTION,"A pair of eyeballs, formerly belonging to the shift supervisor. Could be used with a retinal scanner." +, +SWITCH_BULKHEAD_LABEL,"Bulkhead Control" +SWITCH_QUARANTINE_LABEL,"Quarantine Override" +SWITCH_CARGOBAY_LABEL,"Cargo Bay Security Override" diff --git a/levels/ghost_ship/ghost_ship_level.tscn b/levels/ghost_ship/ghost_ship_level.tscn index b4641a0..3e18d62 100644 --- a/levels/ghost_ship/ghost_ship_level.tscn +++ b/levels/ghost_ship/ghost_ship_level.tscn @@ -1482,6 +1482,7 @@ shape = SubResource("ConcavePolygonShape3D_p11ap") [node name="SwitchA1" parent="BeastNav/Airlock/Bounds/FarWall" instance=ExtResource("17_0idgf")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 1.5, 0.1) +label = "SWITCH_BULKHEAD_LABEL" [node name="Props" type="Node3D" parent="BeastNav/Airlock"] @@ -1657,6 +1658,7 @@ process_material = SubResource("ParticleProcessMaterial_6giaa") [node name="SwitchA2" parent="BeastNav/Corridor1/Hallway1" instance=ExtResource("17_0idgf")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.4, 1.5, 4.5) +label = "SWITCH_BULKHEAD_LABEL" [node name="OverheadLight" parent="BeastNav/Corridor1/Hallway1" instance=ExtResource("39_kp5n7")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5) @@ -1804,6 +1806,7 @@ process_material = SubResource("ParticleProcessMaterial_6giaa") [node name="SwitchB1" parent="BeastNav/Corridor1/Hallway4" instance=ExtResource("17_0idgf")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.4, 1.5, 4.5) +label = "SWITCH_BULKHEAD_LABEL" [node name="OverheadLight" parent="BeastNav/Corridor1/Hallway4" instance=ExtResource("39_kp5n7")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 3, -1.5) @@ -2100,9 +2103,11 @@ shape = SubResource("ConcavePolygonShape3D_eaq62") [node name="SwitchB2" parent="BeastNav/MessHall" instance=ExtResource("17_0idgf")] transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -2.7, 1.5, 9.4) +label = "SWITCH_BULKHEAD_LABEL" [node name="SwitchC1" parent="BeastNav/MessHall" instance=ExtResource("17_0idgf")] transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, -6.3, 1.5, 0.599998) +label = "SWITCH_BULKHEAD_LABEL" [node name="FloatingDust" parent="BeastNav/MessHall" instance=ExtResource("25_6giaa")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1.5, 5) @@ -2316,6 +2321,7 @@ process_material = SubResource("ParticleProcessMaterial_6giaa") [node name="SwitchC2" parent="BeastNav/Corridor2/Hallway1" instance=ExtResource("17_0idgf")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.4, 1.5, -4.5) +label = "SWITCH_BULKHEAD_LABEL" [node name="BurnoutLight" parent="BeastNav/Corridor2/Hallway1" instance=ExtResource("29_lfacn")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.2) @@ -2351,6 +2357,7 @@ process_material = SubResource("ParticleProcessMaterial_6giaa") [node name="SwitchD1" parent="BeastNav/Corridor2/Hallway2" instance=ExtResource("17_0idgf")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.4, 1.5, -4.5) +label = "SWITCH_BULKHEAD_LABEL" [node name="OverheadLight" parent="BeastNav/Corridor2/Hallway2" instance=ExtResource("39_kp5n7")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 3, -1.5) @@ -2544,9 +2551,11 @@ process_material = SubResource("ParticleProcessMaterial_otfxe") [node name="SwitchD2" parent="BeastNav/CrewQuarters/CommonArea" instance=ExtResource("17_0idgf")] transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -4.4, 1.5, -2.8) +label = "SWITCH_BULKHEAD_LABEL" [node name="SwitchE1" parent="BeastNav/CrewQuarters/CommonArea" instance=ExtResource("17_0idgf")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4.4, 1.5, 2.8) +label = "SWITCH_BULKHEAD_LABEL" [node name="BurnoutLight" parent="BeastNav/CrewQuarters/CommonArea" instance=ExtResource("29_lfacn")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 3, 0) @@ -3155,6 +3164,7 @@ process_material = SubResource("ParticleProcessMaterial_6giaa") [node name="SwitchE2" parent="BeastNav/Corridor3/Hallway" instance=ExtResource("17_0idgf")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.4, 1.5, 4.5) +label = "SWITCH_BULKHEAD_LABEL" [node name="BurnoutLight" parent="BeastNav/Corridor3/Hallway" instance=ExtResource("29_lfacn")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5) @@ -3451,6 +3461,7 @@ shape = SubResource("ConcavePolygonShape3D_ncghj") [node name="SwitchH1" parent="BeastNav/Corridor3/ShortHallway3" instance=ExtResource("17_0idgf")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -1.4) +label = "SWITCH_BULKHEAD_LABEL" [node name="MedbaySign" type="MeshInstance3D" parent="BeastNav/Corridor3/ShortHallway3"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 3, 0) @@ -4025,9 +4036,11 @@ process_material = SubResource("ParticleProcessMaterial_35kna") [node name="SwitchH2" parent="BeastNav/Medbay" instance=ExtResource("17_0idgf")] transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 3, 1.5, 4.4) +label = "SWITCH_BULKHEAD_LABEL" [node name="SwitchX" parent="BeastNav/Medbay" instance=ExtResource("17_0idgf")] transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, -9, 1.5, -13.4) +label = "SWITCH_BULKHEAD_LABEL" [node name="OverheadLight" parent="BeastNav/Medbay" instance=ExtResource("39_kp5n7")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 3, -9) @@ -4999,9 +5012,11 @@ skeleton = NodePath("../..") [node name="SwitchF2" parent="BeastNav/OpsCenter" instance=ExtResource("17_0idgf")] transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -3, 1.5, 4.4) +label = "SWITCH_BULKHEAD_LABEL" [node name="SwitchY" parent="BeastNav/OpsCenter" instance=ExtResource("17_0idgf")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -3, -1.5, 4.4) +label = "SWITCH_QUARANTINE_LABEL" [node name="Label3D" type="Label3D" parent="BeastNav/OpsCenter/SwitchY"] transform = Transform3D(1, 0, -1.06581e-14, 0, 1, 0, -1.77636e-15, 0, 1, 0.165831, 0.071106, 0.101551) @@ -5014,6 +5029,7 @@ outline_size = 10 [node name="SwitchG" parent="BeastNav/OpsCenter" instance=ExtResource("17_0idgf")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4.4, 1.5, -12) enabled = false +label = "SWITCH_CARGOBAY_LABEL" [node name="Label3D" type="Label3D" parent="BeastNav/OpsCenter/SwitchG"] transform = Transform3D(1, 0, -1.06581e-14, 0, 1, 0, -1.77636e-15, 0, 1, 0.165831, 0.0319772, 0.101551) diff --git a/levels/ghost_ship/item_data/eyeballs.tres b/levels/ghost_ship/item_data/eyeballs.tres index 53bcb14..eb36741 100644 --- a/levels/ghost_ship/item_data/eyeballs.tres +++ b/levels/ghost_ship/item_data/eyeballs.tres @@ -4,6 +4,6 @@ [resource] script = ExtResource("1_iey6h") -name = "Eyeballs" -description = "A pair of eyeballs, formerly belonging to the shift supervisor. Could be used with a retinal scanner." +name = "ITEM_EYEBALLS_NAME" +description = "ITEM_EYEBALLS_DESCRIPTION" metadata/_custom_type_script = "uid://btwfewn35d0hm" diff --git a/levels/ghost_ship/player_ship/player_ship.tscn b/levels/ghost_ship/player_ship/player_ship.tscn index 1e159ee..5353241 100644 --- a/levels/ghost_ship/player_ship/player_ship.tscn +++ b/levels/ghost_ship/player_ship/player_ship.tscn @@ -312,8 +312,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.85, 1.35, 4.5) collision_layer = 2 collision_mask = 0 script = ExtResource("6_e4hmc") -label = "GRUNK TANK" -verb = "deposit" +label = "INTERACTIVE_TANK_LABEL" +verb = "INTERACTIVE_TANK_VERB" metadata/_custom_type_script = "uid://deg5xd87cy8rg" [node name="GrunkPumpSFX" type="AudioStreamPlayer3D" parent="TankInteractor"] diff --git a/src/props/retinal_scanner/retinal_scanner.tscn b/src/props/retinal_scanner/retinal_scanner.tscn index e026fec..9203c36 100644 --- a/src/props/retinal_scanner/retinal_scanner.tscn +++ b/src/props/retinal_scanner/retinal_scanner.tscn @@ -28,6 +28,8 @@ unique_name_in_owner = true collision_layer = 3 collision_mask = 0 script = ExtResource("1_ldtbm") +label = "INTERACTIVE_SCANNER_LABEL" +verb = "INTERACTIVE_SCANNER_VERB" metadata/_custom_type_script = "uid://deg5xd87cy8rg" [node name="CollisionShape3D" type="CollisionShape3D" parent="Interactive"] diff --git a/src/props/wall_switch/wall_switch.gd b/src/props/wall_switch/wall_switch.gd index d777e48..2f458d2 100644 --- a/src/props/wall_switch/wall_switch.gd +++ b/src/props/wall_switch/wall_switch.gd @@ -8,6 +8,8 @@ const CLEAN_THRESHOLD := 1400 @export var clean := false @export var enabled := false +@export var label: String + @onready var animation_player: AnimationPlayer = %AnimationPlayer @onready var light_animation: AnimationPlayer = %LightAnimation @onready var gunk_body: GunkBody = %GunkBody @@ -19,6 +21,7 @@ const CLEAN_THRESHOLD := 1400 func _ready() -> void: + interactive.label = label if clean: gunk_body.clear_all() _on_clean() diff --git a/src/props/wall_switch/wall_switch.tscn b/src/props/wall_switch/wall_switch.tscn index 02c8264..126c514 100644 --- a/src/props/wall_switch/wall_switch.tscn +++ b/src/props/wall_switch/wall_switch.tscn @@ -212,6 +212,7 @@ radius = 3.0 [node name="WallSwitch" instance=ExtResource("2_whafo")] script = ExtResource("2_kfvqd") enabled = true +label = "INTERACTIVE_SWITCH_LABEL" [node name="WallSwitch_2" parent="Armature/Skeleton3D" index="0"] mesh = SubResource("ArrayMesh_6aabu") @@ -258,6 +259,8 @@ unique_name_in_owner = true collision_layer = 2 collision_mask = 0 script = ExtResource("10_qw6jt") +label = "INTERACTIVE_SWITCH_LABEL" +verb = "INTERACTIVE_SWITCH_VERB" [node name="CollisionShape3D" type="CollisionShape3D" parent="Interactive" index="0"] shape = SubResource("BoxShape3D_6maql") diff --git a/src/ui/hud/player_hud.tscn b/src/ui/hud/player_hud.tscn index 77b72e8..d185a81 100644 --- a/src/ui/hud/player_hud.tscn +++ b/src/ui/hud/player_hud.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=9 format=3 uid="uid://dq1x21tq06dud"] +[gd_scene load_steps=10 format=3 uid="uid://dq1x21tq06dud"] [ext_resource type="Theme" uid="uid://b07fevr214mmr" path="res://src/ui/hud/hud_theme.tres" id="1_lirk3"] [ext_resource type="Script" uid="uid://lrsv0185bfu" path="res://src/ui/hud/player_hud.gd" id="2_j6lpx"] [ext_resource type="Script" uid="uid://bdsv404evn4fk" path="res://src/ui/hud/interact_hud.gd" id="3_n6jee"] +[ext_resource type="FontFile" uid="uid://qadtckvw0t3l" path="res://assets/fonts/fontawesome-free-6.7.2-desktop/otfs/Font Awesome 6 Free-Solid-900.otf" id="4_2q5it"] [ext_resource type="Script" uid="uid://cjs2fen6jo0g0" path="res://src/ui/rumbler.gd" id="4_ud8na"] [sub_resource type="Animation" id="Animation_n6jee"] @@ -189,22 +190,41 @@ offset_right = 268.0 offset_bottom = 88.0 grow_horizontal = 2 theme_type_variation = &"AlertLabel" -text = "TANK FULL -RETURN TO SHIP" +text = "HUD_TANK_WARNING" horizontal_alignment = 1 -[node name="GrunkAlertWarning" type="Label" parent="AlertHUD"] +[node name="GrunkAlertWarning" type="HBoxContainer" parent="AlertHUD"] modulate = Color(1, 1, 1, 0) layout_mode = 1 anchors_preset = 5 anchor_left = 0.5 anchor_right = 0.5 -offset_left = -20.0 -offset_right = 20.0 -offset_bottom = 45.0 +offset_left = -264.0 +offset_right = 264.0 +offset_bottom = 82.0 grow_horizontal = 2 theme_type_variation = &"AlertLabel" -text = " WARNING " +theme_override_constants/separation = 32 +alignment = 1 + +[node name="Icon" type="Label" parent="AlertHUD/GrunkAlertWarning"] +layout_mode = 2 +theme_type_variation = &"AlertLabel" +theme_override_fonts/font = ExtResource("4_2q5it") +text = "" +horizontal_alignment = 1 + +[node name="Warning" type="Label" parent="AlertHUD/GrunkAlertWarning"] +layout_mode = 2 +theme_type_variation = &"AlertLabel" +text = "HUD_WARNING" +horizontal_alignment = 1 + +[node name="Icon2" type="Label" parent="AlertHUD/GrunkAlertWarning"] +layout_mode = 2 +theme_type_variation = &"AlertLabel" +theme_override_fonts/font = ExtResource("4_2q5it") +text = "" horizontal_alignment = 1 [node name="Rumbler" type="Control" parent="AlertHUD"] @@ -214,14 +234,14 @@ anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -offset_left = -400.393 -offset_top = -300.207 -offset_right = -400.393 -offset_bottom = -300.207 +offset_left = -396.518 +offset_top = -302.686 +offset_right = -396.518 +offset_bottom = -302.686 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("4_ud8na") -intensity = 1.0 +intensity = 2.0 metadata/_custom_type_script = "uid://cjs2fen6jo0g0" [node name="GrunkAlert2" type="Control" parent="AlertHUD/Rumbler"] @@ -272,8 +292,7 @@ offset_bottom = 431.03 grow_horizontal = 2 grow_vertical = 2 theme_type_variation = &"AlertLabel" -text = "ALERT LEVEL SURGE DETECTED -EXERCISE EXTREME CAUTION" +text = "HUD_ALERT_MSG" horizontal_alignment = 1 [node name="AlertPlayer" type="AnimationPlayer" parent="AlertHUD"] diff --git a/src/world/meet_spook/meet_spook_mob.gd b/src/world/meet_spook/meet_spook_mob.gd index b835cc1..f55c76d 100644 --- a/src/world/meet_spook/meet_spook_mob.gd +++ b/src/world/meet_spook/meet_spook_mob.gd @@ -16,7 +16,6 @@ var state := State.WAITING func activate() -> void: - print_debug(self, " spotted!") state = State.FREEZE get_tree().create_timer(freeze_time).timeout.connect(_unfreeze) get_tree().create_timer(lifespan).timeout.connect(destroy) @@ -50,5 +49,4 @@ func _physics_process(delta: float) -> void: func destroy() -> void: - print_debug("Destroying ", self) queue_free() diff --git a/src/world/spook_manager/spook_manager.gd b/src/world/spook_manager/spook_manager.gd index 16a46d2..7464c38 100644 --- a/src/world/spook_manager/spook_manager.gd +++ b/src/world/spook_manager/spook_manager.gd @@ -53,7 +53,6 @@ func _on_alert_raised(new_level: int) -> void: # LEVEL 1: PASSIVE # Beast avoids the player. # Set up meet-spook. - print_debug("Preparing meet-spook...") # Get closest MeetSpook point to player. if Player.instance: var closest := SceneTools.closest_in_group(Player.instance, MeetSpook.GROUP) diff --git a/src/world/world_item/world_item.tscn b/src/world/world_item/world_item.tscn index 0b116ad..2716a8e 100644 --- a/src/world/world_item/world_item.tscn +++ b/src/world/world_item/world_item.tscn @@ -15,7 +15,7 @@ collision_layer = 2 collision_mask = 0 script = ExtResource("2_ngll7") enabled = true -verb = "pick up" +verb = "INTERACTIVE_WORLDITEM_VERB" metadata/_custom_type_script = "uid://deg5xd87cy8rg" [node name="CollisionShape3D" type="CollisionShape3D" parent="Interactive"]