From f17726240d81af5520fceb0eaef34f5e74f94dfd Mon Sep 17 00:00:00 2001
From: Nikolai Rodionov <allanger@badhouseplants.net>
Date: Sat, 31 May 2025 23:39:45 +0200
Subject: [PATCH] Trying something that will probably never happen

Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
---
 .tool-versions                                      |  2 ++
 {godot/src/scenes/player => bak}/aiming_modifier.gd |  0
 .../scenes/player => bak}/aiming_modifier.gd.uid    |  0
 .../player => bak}/body_follows_head_modifier.gd    |  0
 .../body_follows_head_modifier.gd.uid               |  0
 .../scenes/player => bak}/look_forward_modifier.gd  |  0
 .../player => bak}/look_forward_modifier.gd.uid     |  0
 {godot/src/scenes/player => bak}/player.gd          |  0
 {godot/src/scenes/player => bak}/player.gd.uid      |  0
 {godot/src/scenes/player => bak}/player.tscn        |  0
 {godot/src/scenes/player => bak}/player_movement.gd |  0
 .../scenes/player => bak}/player_movement.gd.uid    |  0
 .../src/scenes/player => bak}/shooting_modifier.gd  |  0
 .../scenes/player => bak}/shooting_modifier.gd.uid  |  0
 .../src/scenes/player => bak}/visuals_controller.gd |  0
 .../scenes/player => bak}/visuals_controller.gd.uid |  0
 .../scenes/levels/base/client_space/client_space.gd |  1 +
 godot/src/scenes/levels/base/map_controller.gd      | 13 +++++++------
 godot/src/scenes/player/character/character.tscn    |  1 +
 .../player/player_controller/player_controller.gd   |  6 ++++--
 .../player/player_controller/player_controller.tscn |  3 +--
 21 files changed, 16 insertions(+), 10 deletions(-)
 create mode 100644 .tool-versions
 rename {godot/src/scenes/player => bak}/aiming_modifier.gd (100%)
 rename {godot/src/scenes/player => bak}/aiming_modifier.gd.uid (100%)
 rename {godot/src/scenes/player => bak}/body_follows_head_modifier.gd (100%)
 rename {godot/src/scenes/player => bak}/body_follows_head_modifier.gd.uid (100%)
 rename {godot/src/scenes/player => bak}/look_forward_modifier.gd (100%)
 rename {godot/src/scenes/player => bak}/look_forward_modifier.gd.uid (100%)
 rename {godot/src/scenes/player => bak}/player.gd (100%)
 rename {godot/src/scenes/player => bak}/player.gd.uid (100%)
 rename {godot/src/scenes/player => bak}/player.tscn (100%)
 rename {godot/src/scenes/player => bak}/player_movement.gd (100%)
 rename {godot/src/scenes/player => bak}/player_movement.gd.uid (100%)
 rename {godot/src/scenes/player => bak}/shooting_modifier.gd (100%)
 rename {godot/src/scenes/player => bak}/shooting_modifier.gd.uid (100%)
 rename {godot/src/scenes/player => bak}/visuals_controller.gd (100%)
 rename {godot/src/scenes/player => bak}/visuals_controller.gd.uid (100%)

diff --git a/.tool-versions b/.tool-versions
new file mode 100644
index 0000000..78e054a
--- /dev/null
+++ b/.tool-versions
@@ -0,0 +1,2 @@
+golang 1.24.1
+rust 1.85.0
diff --git a/godot/src/scenes/player/aiming_modifier.gd b/bak/aiming_modifier.gd
similarity index 100%
rename from godot/src/scenes/player/aiming_modifier.gd
rename to bak/aiming_modifier.gd
diff --git a/godot/src/scenes/player/aiming_modifier.gd.uid b/bak/aiming_modifier.gd.uid
similarity index 100%
rename from godot/src/scenes/player/aiming_modifier.gd.uid
rename to bak/aiming_modifier.gd.uid
diff --git a/godot/src/scenes/player/body_follows_head_modifier.gd b/bak/body_follows_head_modifier.gd
similarity index 100%
rename from godot/src/scenes/player/body_follows_head_modifier.gd
rename to bak/body_follows_head_modifier.gd
diff --git a/godot/src/scenes/player/body_follows_head_modifier.gd.uid b/bak/body_follows_head_modifier.gd.uid
similarity index 100%
rename from godot/src/scenes/player/body_follows_head_modifier.gd.uid
rename to bak/body_follows_head_modifier.gd.uid
diff --git a/godot/src/scenes/player/look_forward_modifier.gd b/bak/look_forward_modifier.gd
similarity index 100%
rename from godot/src/scenes/player/look_forward_modifier.gd
rename to bak/look_forward_modifier.gd
diff --git a/godot/src/scenes/player/look_forward_modifier.gd.uid b/bak/look_forward_modifier.gd.uid
similarity index 100%
rename from godot/src/scenes/player/look_forward_modifier.gd.uid
rename to bak/look_forward_modifier.gd.uid
diff --git a/godot/src/scenes/player/player.gd b/bak/player.gd
similarity index 100%
rename from godot/src/scenes/player/player.gd
rename to bak/player.gd
diff --git a/godot/src/scenes/player/player.gd.uid b/bak/player.gd.uid
similarity index 100%
rename from godot/src/scenes/player/player.gd.uid
rename to bak/player.gd.uid
diff --git a/godot/src/scenes/player/player.tscn b/bak/player.tscn
similarity index 100%
rename from godot/src/scenes/player/player.tscn
rename to bak/player.tscn
diff --git a/godot/src/scenes/player/player_movement.gd b/bak/player_movement.gd
similarity index 100%
rename from godot/src/scenes/player/player_movement.gd
rename to bak/player_movement.gd
diff --git a/godot/src/scenes/player/player_movement.gd.uid b/bak/player_movement.gd.uid
similarity index 100%
rename from godot/src/scenes/player/player_movement.gd.uid
rename to bak/player_movement.gd.uid
diff --git a/godot/src/scenes/player/shooting_modifier.gd b/bak/shooting_modifier.gd
similarity index 100%
rename from godot/src/scenes/player/shooting_modifier.gd
rename to bak/shooting_modifier.gd
diff --git a/godot/src/scenes/player/shooting_modifier.gd.uid b/bak/shooting_modifier.gd.uid
similarity index 100%
rename from godot/src/scenes/player/shooting_modifier.gd.uid
rename to bak/shooting_modifier.gd.uid
diff --git a/godot/src/scenes/player/visuals_controller.gd b/bak/visuals_controller.gd
similarity index 100%
rename from godot/src/scenes/player/visuals_controller.gd
rename to bak/visuals_controller.gd
diff --git a/godot/src/scenes/player/visuals_controller.gd.uid b/bak/visuals_controller.gd.uid
similarity index 100%
rename from godot/src/scenes/player/visuals_controller.gd.uid
rename to bak/visuals_controller.gd.uid
diff --git a/godot/src/scenes/levels/base/client_space/client_space.gd b/godot/src/scenes/levels/base/client_space/client_space.gd
index 52ecb8a..8a6ea2e 100644
--- a/godot/src/scenes/levels/base/client_space/client_space.gd
+++ b/godot/src/scenes/levels/base/client_space/client_space.gd
@@ -2,6 +2,7 @@
 # -- of the models that are managed by the client and not by the server
 class_name ClientSpace extends Node3D
 
+@export var player_server_node: ServerSideCharacter = null
 # Called when the node enters the scene tree for the first time.
 func _ready() -> void:
 	pass # Replace with function body.
diff --git a/godot/src/scenes/levels/base/map_controller.gd b/godot/src/scenes/levels/base/map_controller.gd
index a8017d1..bfebe94 100644
--- a/godot/src/scenes/levels/base/map_controller.gd
+++ b/godot/src/scenes/levels/base/map_controller.gd
@@ -3,6 +3,7 @@ class_name MapController extends Node3D
 @onready var spawn_controller: SpawnController = $SpawnLocations
 var player_space: Node3D = null
 var player_controller: PlayerNode = null
+var client_space: ClientSpace = null
 # Called when the node enters the scene tree for the first time.
 
 func _ready() -> void:
@@ -15,6 +16,7 @@ func _ready() -> void:
 	player_space.name = "PlayerSpace"
 	add_child(player_space)
 	spawn_controller.player_space = player_space
+	client_space.player_server_node = player_space.find_child(str(multiplayer.get_unique_id()))
 	if multiplayer.is_server():
 		pass
 	else:
@@ -29,21 +31,20 @@ func request_state():
 		spawn_controller.spawn_player(player_casted.player_id, player_casted.global_transform)
 
 func add_client_space() -> Error :
-	return load_scene("levels/base/client_space/client_space.tscn")
-
-func load_scene(rel_path: String) -> Error :
-	var path := consts.SCENES_PATH + rel_path
+	var path := consts.SCENES_PATH + "levels/base/client_space/client_space.tscn"
 	logger.info("loading scene from " + path)
 	if not ResourceLoader.exists(path):
 		logger.error("scene " + path + " doesn't exist")
 		return ERR_DOES_NOT_EXIST
+
 	var scene: PackedScene = ResourceLoader.load(path)
 	if scene.can_instantiate():
 		# -- TODO: May we should case to a real type instead
-		var node: Variant = scene.instantiate()
-		player_controller = node as PlayerNode
+		var node: ClientSpace = scene.instantiate()
+		#node.player_server_id = multiplayer.get_unique_id()
 		logger.info("loading scene: " + path)
 		add_child(node)
+		client_space = node
 	else:
 		logger.error("can't initialize")
 		return ERR_CANT_OPEN
diff --git a/godot/src/scenes/player/character/character.tscn b/godot/src/scenes/player/character/character.tscn
index 508f526..a2cb183 100644
--- a/godot/src/scenes/player/character/character.tscn
+++ b/godot/src/scenes/player/character/character.tscn
@@ -11,4 +11,5 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0)
 shape = SubResource("CapsuleShape3D_g8geq")
 
 [node name="CameraMountPoint" type="Node3D" parent="."]
+editor_description = "It is used for rotating the real camera mount"
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.167045, 1.31595, 0)
diff --git a/godot/src/scenes/player/player_controller/player_controller.gd b/godot/src/scenes/player/player_controller/player_controller.gd
index 4bf3ddb..f079696 100644
--- a/godot/src/scenes/player/player_controller/player_controller.gd
+++ b/godot/src/scenes/player/player_controller/player_controller.gd
@@ -19,6 +19,8 @@ var is_connected_to_server = false
 # Called when the node enters the scene tree for the first time.
 func _ready() -> void:
 	set_multiplayer_authority(multiplayer.get_unique_id())
+	# -- We need to get the position of the controller node on the server
+
 	camera_mount.global_transform = camera_mount_point.global_transform
 	camera_gt_prev = camera_mount.global_transform
 	camera_gt_cur = camera_mount.global_transform
@@ -81,8 +83,8 @@ func _physics_process(delta: float) -> void:
 
 func _process(delta: float) -> void:
 	# -- TODO: Rewrite it
-	if not is_connected_to_server:
-		var map_controller: MapController = find_parent("Map")
+	#if not is_connected_to_server:
+		#var map_controller: MapController = find_parent("Map")
 	if update_camera:
 		update_camera_transform()
 		update_camera = false
diff --git a/godot/src/scenes/player/player_controller/player_controller.tscn b/godot/src/scenes/player/player_controller/player_controller.tscn
index c788be7..4c2aa04 100644
--- a/godot/src/scenes/player/player_controller/player_controller.tscn
+++ b/godot/src/scenes/player/player_controller/player_controller.tscn
@@ -8,8 +8,7 @@
 script = ExtResource("1_v31xn")
 
 [node name="CameraMount" parent="." instance=ExtResource("2_csswn")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.80384, 0)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.47638, -0.25714)
 camera_name = "PlayerCamera"
-input_camera = true
 
 [node name="Character" parent="." instance=ExtResource("1_1fx4c")]