diff --git a/game/addons/simplegrasstextured/default_mesh.tres b/game/addons/simplegrasstextured/default_mesh.tres index 5e14318..0ccc4b4 100644 --- a/game/addons/simplegrasstextured/default_mesh.tres +++ b/game/addons/simplegrasstextured/default_mesh.tres @@ -12,4 +12,4 @@ _surfaces = [{ "vertex_count": 8, "vertex_data": PackedByteArray("AAAAvwAAgD8AAAAAAAAAPwAAAAAAAAAAAAAAvwAAAAAAAAAAAAAAPwAAgD8AAAAAAAAAAAAAgD8AAAC/AAAAAAAAAAAAAAA/AAAAAAAAAAAAAAC/AAAAAAAAgD8AAAA//3//f////7//f/9/////v/9//3////+//3//f////78AAP9//3//vwAA/3//f/+/AAD/f/9//78AAP9//3//vw==") }] -metadata/GodotVersion = "4.6-stable (official)" +metadata/GodotVersion = "4.5-stable (official)" diff --git a/game/assets/models/human.blend.import b/game/assets/models/human.blend.import index e2b998a..d05a2b2 100644 --- a/game/assets/models/human.blend.import +++ b/game/assets/models/human.blend.import @@ -48,7 +48,6 @@ blender/meshes/colors=false blender/meshes/uvs=true blender/meshes/normals=true blender/meshes/export_geometry_nodes_instances=false -blender/meshes/gpu_instances=false blender/meshes/tangents=true blender/meshes/skins=2 blender/meshes/export_bones_deforming_mesh_only=false diff --git a/game/project.godot b/game/project.godot index f079af3..b307eb3 100644 --- a/game/project.godot +++ b/game/project.godot @@ -40,7 +40,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true config/name="Promiscuity" run/main_scene="uid://b4k81taauef4q" -config/features=PackedStringArray("4.6", "Forward Plus") +config/features=PackedStringArray("4.5", "Forward Plus") config/icon="res://icon.svg" [audio] diff --git a/game/scenes/Levels/starting_area_level.gd b/game/scenes/Levels/starting_area_level.gd new file mode 100644 index 0000000..d302fd9 --- /dev/null +++ b/game/scenes/Levels/starting_area_level.gd @@ -0,0 +1,17 @@ +extends Node3D + +@export var player_spawn_position := Vector3(0.0, 2.0, 0.0) + +@onready var _player: RigidBody3D = get_node_or_null("Player") as RigidBody3D + + +func _ready() -> void: + _move_player_to_spawn() + + +func _move_player_to_spawn() -> void: + if _player == null: + return + _player.global_position = player_spawn_position + _player.linear_velocity = Vector3.ZERO + _player.angular_velocity = Vector3.ZERO diff --git a/game/scenes/Levels/starting_area_level.gd.uid b/game/scenes/Levels/starting_area_level.gd.uid new file mode 100644 index 0000000..c47fd2b --- /dev/null +++ b/game/scenes/Levels/starting_area_level.gd.uid @@ -0,0 +1 @@ +uid://r1oe7fu5n765 diff --git a/game/scenes/Levels/starting_area_level.tscn b/game/scenes/Levels/starting_area_level.tscn new file mode 100644 index 0000000..7052fb8 --- /dev/null +++ b/game/scenes/Levels/starting_area_level.tscn @@ -0,0 +1,54 @@ +[gd_scene load_steps=8 format=3] + +[ext_resource type="Script" path="res://scenes/Levels/starting_area_level.gd" id="1_start"] +[ext_resource type="Script" path="res://scenes/player.gd" id="2_player"] +[ext_resource type="PackedScene" path="res://assets/models/TestCharAnimated.glb" id="3_model"] +[ext_resource type="Material" path="res://assets/materials/kenney_prototype_ground_green.tres" id="4_ground"] + +[sub_resource type="SphereShape3D" id="SphereShape3D_player"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_ground"] +size = Vector3(160, 2, 160) + +[sub_resource type="BoxMesh" id="BoxMesh_ground"] +material = ExtResource("4_ground") +size = Vector3(160, 2, 160) + +[node name="StartingAreaLevel" type="Node3D"] +script = ExtResource("1_start") + +[node name="Ground" type="StaticBody3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground"] +shape = SubResource("BoxShape3D_ground") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Ground"] +mesh = SubResource("BoxMesh_ground") + +[node name="Player" type="RigidBody3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) +script = ExtResource("2_player") +camera_path = NodePath("Camera3D") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Player"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) +shape = SubResource("SphereShape3D_player") + +[node name="TestCharAnimated" parent="Player" instance=ExtResource("3_model")] +transform = Transform3D(-0.9998549, 0, 0.01703362, 0, 1, 0, -0.01703362, 0, -0.9998549, 0, 0, 0) + +[node name="Camera3D" type="Camera3D" parent="Player"] +transform = Transform3D(0.9989785, -4.651856e-10, -0.045188628, 0.006969331, 0.9880354, 0.15407, 0.044647958, -0.15422754, 0.9870261, 0.22036135, 1.8988357, 0.64972365) +current = true +fov = 49.0 + +[node name="SpotLight3D" type="SpotLight3D" parent="Player"] +transform = Transform3D(1, 0, 0, 0, 0.906308, -0.422618, 0, 0.422618, 0.906308, 0, 1.7, -0.35) +visible = false +spot_range = 30.0 +spot_angle = 25.0 + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.819152, 0.573576, 0, -0.573576, 0.819152, 0, 6, 0) +shadow_enabled = true diff --git a/game/scenes/UI/start_screen.gd b/game/scenes/UI/start_screen.gd index 48361e2..98c2db9 100644 --- a/game/scenes/UI/start_screen.gd +++ b/game/scenes/UI/start_screen.gd @@ -1,6 +1,8 @@ -extends Control - -const AUTH_LOGOUT_URL := "https://pauth.ranaze.com/api/Auth/logout" +extends Control + +const AUTH_LOGOUT_URL := "https://pauth.ranaze.com/api/Auth/logout" +const START_LEVEL_SCENE := "res://scenes/Levels/starting_area_level.tscn" +const PLAYGROUND_SCENE := "res://scenes/Levels/level.tscn" @onready var _login_button: Button = $MarginContainer/CenterContainer/ContentVBox/VBoxContainer/LogInButton @onready var _logout_request: HTTPRequest = %LogoutRequest @@ -19,8 +21,11 @@ func _register_focus_sounds() -> void: if not button.is_connected("mouse_entered", Callable(self, "_on_menu_item_focus")): button.mouse_entered.connect(_on_menu_item_focus) -func _on_start_button_pressed(): - get_tree().change_scene_to_file("uid://dchj6g2i8ebph") +func _on_start_button_pressed(): + get_tree().change_scene_to_file(START_LEVEL_SCENE) + +func _on_playground_button_pressed() -> void: + get_tree().change_scene_to_file(PLAYGROUND_SCENE) func _on_settings_button_pressed(): get_tree().change_scene_to_file("uid://d3tqrm4ry4l88") @@ -65,5 +70,5 @@ func _update_login_button() -> void: else: _login_button.text = "LOG IN" -func _on_secret_button_pressed(): - get_tree().change_scene_to_file("uid://q4abhlwqdvay") +func _on_secret_button_pressed(): + get_tree().change_scene_to_file("uid://q4abhlwqdvay") diff --git a/game/scenes/UI/start_screen.tscn b/game/scenes/UI/start_screen.tscn index c5fb27d..4bd9f47 100644 --- a/game/scenes/UI/start_screen.tscn +++ b/game/scenes/UI/start_screen.tscn @@ -69,19 +69,26 @@ size_flags_vertical = 4 theme = ExtResource("1_tx5wa") text = "LOG IN" -[node name="StartButton" type="Button" parent="MarginContainer/CenterContainer/ContentVBox/VBoxContainer"] -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -theme = ExtResource("1_tx5wa") -text = "START" - -[node name="SettingsButton" type="Button" parent="MarginContainer/CenterContainer/ContentVBox/VBoxContainer"] -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -theme = ExtResource("1_tx5wa") -text = "SETTINGS" +[node name="StartButton" type="Button" parent="MarginContainer/CenterContainer/ContentVBox/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme = ExtResource("1_tx5wa") +text = "START" + +[node name="PlaygroundButton" type="Button" parent="MarginContainer/CenterContainer/ContentVBox/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme = ExtResource("1_tx5wa") +text = "PLAYGROUND" + +[node name="SettingsButton" type="Button" parent="MarginContainer/CenterContainer/ContentVBox/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme = ExtResource("1_tx5wa") +text = "SETTINGS" [node name="QuitButton" type="Button" parent="MarginContainer/CenterContainer/ContentVBox/VBoxContainer"] layout_mode = 2 @@ -101,9 +108,10 @@ offset_bottom = 159.0 [node name="LogoutRequest" type="HTTPRequest" parent="."] unique_name_in_owner = true -[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/LogInButton" to="." method="_on_log_in_button_pressed"] -[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] -[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/SettingsButton" to="." method="_on_settings_button_pressed"] -[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"] +[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/LogInButton" to="." method="_on_log_in_button_pressed"] +[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] +[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/PlaygroundButton" to="." method="_on_playground_button_pressed"] +[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/SettingsButton" to="." method="_on_settings_button_pressed"] +[connection signal="pressed" from="MarginContainer/CenterContainer/ContentVBox/VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"] [connection signal="pressed" from="SecretButton" to="." method="_on_secret_button_pressed"] [connection signal="request_completed" from="LogoutRequest" to="." method="_on_logout_request_completed"]