aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/global.gd1
-rw-r--r--client/player/character/character.gd1
-rw-r--r--client/player/character/character.tscn6
-rw-r--r--client/player/player.gd10
4 files changed, 18 insertions, 0 deletions
diff --git a/client/global.gd b/client/global.gd
index a8a34871..2a98f287 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -43,6 +43,7 @@ var default_settings := {
"touch_controls": ToggleSetting.new(tr("Enable touch screen conrols"), DisplayServer.is_touchscreen_available()),
"interpolate_camera_rotation": ToggleSetting.new(tr("Interpolate the camera rotation"), true),
"invert_camera": ToggleSetting.new(tr("Invert camera movement"), false),
+ "usernames": ToggleSetting.new(tr("Show username tags"), false),
"server_binary": TextSetting.new(tr("Server binary (leave empty to search PATH)"), "", "Enter path"),
"server_data": TextSetting.new(tr("Server data directory (leave empty to auto-detect)"), "", "Enter path"),
"aa": DropdownSetting.new(tr("Anti-aliasing"), 2, [tr("Disabled"), "FXAA", "MSAA 2x", "MSAA 4x"]),
diff --git a/client/player/character/character.gd b/client/player/character/character.gd
index 11db638f..76d1785e 100644
--- a/client/player/character/character.gd
+++ b/client/player/character/character.gd
@@ -32,6 +32,7 @@ var current_animation := "idle"
@onready var main_height_target = default_height
@onready var walking_particles = $Walking
@onready var boosting_particles = $Boosting
+@onready var username_tag = $Username
@onready var hairstyles = {
"Brown": $Main/Head/Hair,
diff --git a/client/player/character/character.tscn b/client/player/character/character.tscn
index 19eb3ce2..4d7749e2 100644
--- a/client/player/character/character.tscn
+++ b/client/player/character/character.tscn
@@ -684,4 +684,10 @@ stream = ExtResource("14_ikcec")
[node name="Woosh2" type="AudioStreamPlayer3D" parent="Boosts"]
stream = ExtResource("15_iv4wu")
+[node name="Username" type="Label3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0)
+billboard = 1
+no_depth_test = true
+text = "Username"
+
[connection signal="animation_finished" from="HandAnimations" to="." method="_on_hand_animations_animation_finished"]
diff --git a/client/player/player.gd b/client/player/player.gd
index ef977ce6..1b82b90e 100644
--- a/client/player/player.gd
+++ b/client/player/player.gd
@@ -26,6 +26,7 @@ var rotation_ = 0.
var rotation_anim = 0.
var position_ = Vector2(0, 0)
var position_anim = Vector2(0, 0)
+var username: String
var character: Character = preload("res://player/character/character.tscn").instantiate()
var chat_bubble: ChatBubble = preload("res://player/chat_bubble.tscn").instantiate()
@@ -48,6 +49,7 @@ func _init(_id: int, new_name: String, pos: Vector2, new_character_idx: int, new
position_anim = pos
name = new_name
game = new_game
+ username = new_name
hand_base.position = HAND_BASE_POSITION
add_child(hand_base)
@@ -65,11 +67,19 @@ func _init(_id: int, new_name: String, pos: Vector2, new_character_idx: int, new
func _ready():
character.select_hairstyle(character_idx)
clear_timer.timeout.connect(clear_message)
+
+ update_username_tag()
+ Global.settings_changed.connect(update_username_tag)
func update_position(new_position: Vector2, new_rotation: float):
position_ = new_position
rotation_ = new_rotation
+func update_username_tag():
+ var tag: Label3D = character.username_tag
+ tag.text = username
+ tag.visible = Global.get_setting("usernames")
+
func set_item(i: Item):
i.owned_by = hand_base
if hand != null: