diff --git a/asset_dev/hud_tools/mp3_player.xcf b/asset_dev/hud_tools/mp3_player.xcf new file mode 100644 index 0000000..a5e3f6c Binary files /dev/null and b/asset_dev/hud_tools/mp3_player.xcf differ diff --git a/assets/ui/hud/tools/mp3_player.png b/assets/ui/hud/tools/mp3_player.png new file mode 100644 index 0000000..4def928 --- /dev/null +++ b/assets/ui/hud/tools/mp3_player.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a92770a5a6afa22f40ff9b2e226ed91a97b5967a9af7ab0b344bf4969708443 +size 1494 diff --git a/assets/ui/hud/tools/mp3_player.png.import b/assets/ui/hud/tools/mp3_player.png.import new file mode 100644 index 0000000..8e8f0a4 --- /dev/null +++ b/assets/ui/hud/tools/mp3_player.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0wbowky48ign" +path="res://.godot/imported/mp3_player.png-9e2642a12bd8e4bf9d73deb0fcecc1bc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/hud/tools/mp3_player.png" +dest_files=["res://.godot/imported/mp3_player.png-9e2642a12bd8e4bf9d73deb0fcecc1bc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/levels/ghost_ship/ghost_ship.tscn b/levels/ghost_ship/ghost_ship.tscn index 8ecc39d..4b39481 100644 --- a/levels/ghost_ship/ghost_ship.tscn +++ b/levels/ghost_ship/ghost_ship.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=22 format=3 uid="uid://bov4ok76woyc"] +[gd_scene load_steps=23 format=3 uid="uid://bov4ok76woyc"] [ext_resource type="PackedScene" uid="uid://crydi5cjgfwe5" path="res://levels/ghost_ship/ghost_ship_level.tscn" id="1_aj2m7"] [ext_resource type="Environment" uid="uid://bkvij3ljl5ox3" path="res://levels/ghost_ship/environment_3.tres" id="1_h081y"] @@ -7,6 +7,7 @@ [ext_resource type="PackedScene" uid="uid://d1kacn4b60ucy" path="res://src/ui/post_processing.tscn" id="3_o7mxe"] [ext_resource type="AudioStream" uid="uid://dx4d8a3mgpws" path="res://assets/sfx/ambient/drone_loop.wav" id="5_ejh2c"] [ext_resource type="Script" uid="uid://441gcyrbv0jd" path="res://levels/ghost_ship/ambient_drone.gd" id="5_jiowi"] +[ext_resource type="Script" uid="uid://btwfewn35d0hm" path="res://src/items/item.gd" id="6_4mbcm"] [ext_resource type="PackedScene" uid="uid://dd21uy6yfgg51" path="res://src/effects/creaker/creaker.tscn" id="7_vdioa"] [ext_resource type="AudioStream" uid="uid://cqh31d5my7fst" path="res://assets/sfx/ambient/metal_creak1.wav" id="8_ihj8k"] [ext_resource type="AudioStream" uid="uid://cfvdtl1n42bis" path="res://assets/sfx/ambient/metal_creak2.wav" id="9_d2iql"] @@ -59,6 +60,20 @@ environment = ExtResource("1_h081y") transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, 0) [node name="Player" parent="PlayerSpawn" instance=ExtResource("2_0ef5p")] +godmode = false +dead = false +movement_enabled = true +activity_enabled = true +look_enabled = true +run_speed = 80.0 +sprint_speed = 160.0 +sneak_speed = 40.0 +focus_speed = 25.0 +air_speed_factor = 0.1 +jump_force = 4.0 +ground_friction = 0.3 +air_friction = 0.03 +inventory = Dictionary[ExtResource("6_4mbcm"), int]({}) [node name="PlayerShipArea" type="Area3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) diff --git a/levels/mechanic_test/mechanic_test.tscn b/levels/mechanic_test/mechanic_test.tscn index 08af8b8..602c719 100644 --- a/levels/mechanic_test/mechanic_test.tscn +++ b/levels/mechanic_test/mechanic_test.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=31 format=4 uid="uid://b8rv6dg4tgaeb"] +[gd_scene load_steps=32 format=4 uid="uid://b8rv6dg4tgaeb"] [ext_resource type="Script" uid="uid://bvua1l2hb3an6" path="res://levels/mechanic_test/mechanic_test.gd" id="1_iyuyb"] [ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_qjnj2"] [ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="3_awnx0"] +[ext_resource type="Script" uid="uid://btwfewn35d0hm" path="res://src/items/item.gd" id="3_qjnj2"] [ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="4_cgmn0"] [ext_resource type="Texture2D" uid="uid://8cm835h4gxwe" path="res://assets/debug_mask.png" id="5_aix42"] [ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_6frcc"] @@ -103,7 +104,7 @@ seamless = true seamless_blend_skirt = 0.5 noise = ExtResource("7_7cbja") -[sub_resource type="ShaderMaterial" id="ShaderMaterial_iyuyb"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_awnx0"] resource_local_to_scene = true render_priority = 0 shader = ExtResource("6_6frcc") @@ -138,6 +139,20 @@ pretty_name = "Mechanics Test Sandbox" [node name="Player" parent="." instance=ExtResource("2_qjnj2")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.65, 0) +godmode = false +dead = false +movement_enabled = true +activity_enabled = true +look_enabled = true +run_speed = 80.0 +sprint_speed = 160.0 +sneak_speed = 40.0 +focus_speed = 25.0 +air_speed_factor = 0.1 +jump_force = 4.0 +ground_friction = 0.3 +air_friction = 0.03 +inventory = Dictionary[ExtResource("3_qjnj2"), int]({}) [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0) @@ -240,7 +255,7 @@ skeleton = NodePath("GunkHallBody") [node name="GunkHallBody" parent="GunkHall" instance=ExtResource("4_cgmn0")] unique_name_in_owner = true initial_mask = ExtResource("5_aix42") -source_gunk_material = SubResource("ShaderMaterial_iyuyb") +source_gunk_material = SubResource("ShaderMaterial_awnx0") [node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/GunkHallBody"] shape = SubResource("ConcavePolygonShape3D_qjnj2") @@ -307,9 +322,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0, -2) [connection signal="activated" from="NoduleSpawner/WallSwitch" to="." method="spawn_nodule"] [connection signal="activated" from="AlarmSpawner/WallSwitch" to="." method="spawn_alarm"] [connection signal="activated" from="AlarmTrigger/AlarmTriggerSwitch" to="." method="trigger_spawned_alarm"] +[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead" method="open"] [connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium/OpenSwitch" method="disable"] [connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium2/CloseSwitch" method="enable"] -[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead" method="open"] +[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead" method="close"] [connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead/Podium/OpenSwitch" method="enable"] [connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead/Podium2/CloseSwitch" method="disable"] -[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead" method="close"] diff --git a/levels/prop_test/prop_test.tscn b/levels/prop_test/prop_test.tscn index a6361de..9685ef6 100644 --- a/levels/prop_test/prop_test.tscn +++ b/levels/prop_test/prop_test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=40 format=3 uid="uid://dc4tts6342cuj"] +[gd_scene load_steps=41 format=3 uid="uid://dc4tts6342cuj"] [ext_resource type="Script" uid="uid://dmbdkydqnbyqv" path="res://levels/prop_test/prop_test.gd" id="1_ibd1t"] [ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_ml0ka"] @@ -31,6 +31,7 @@ [ext_resource type="Texture2D" uid="uid://gbvtbiurxrop" path="res://assets/props/vending_machine/vending_machine_R.png" id="27_8a67w"] [ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="28_ibd1t"] [ext_resource type="PackedScene" uid="uid://d1kacn4b60ucy" path="res://src/ui/post_processing.tscn" id="30_qnhar"] +[ext_resource type="Script" uid="uid://btwfewn35d0hm" path="res://src/items/item.gd" id="32_8a67w"] [sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_tm4v6"] @@ -406,6 +407,20 @@ visible = false [node name="Player" parent="." instance=ExtResource("1_ml0ka")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +godmode = false +dead = false +movement_enabled = true +activity_enabled = true +look_enabled = true +run_speed = 80.0 +sprint_speed = 160.0 +sneak_speed = 40.0 +focus_speed = 25.0 +air_speed_factor = 0.1 +jump_force = 4.0 +ground_friction = 0.3 +air_friction = 0.03 +inventory = Dictionary[ExtResource("32_8a67w"), int]({}) [connection signal="animation_finished" from="Props/Bulkhead" to="Props/SwitchPodium/OpenSwitch" method="enable"] [connection signal="activated" from="Props/SwitchPodium/OpenSwitch" to="Props/Bulkhead" method="toggle"] diff --git a/src/equipment/mp3_player/mp3_player.gd b/src/equipment/mp3_player/mp3_player.gd new file mode 100644 index 0000000..f772659 --- /dev/null +++ b/src/equipment/mp3_player/mp3_player.gd @@ -0,0 +1,6 @@ +extends Tool +## Pump up the jamz! + + +func unlocked() -> bool: + return World.instance.manager.mp3_player_unlocked diff --git a/src/equipment/mp3_player/mp3_player.gd.uid b/src/equipment/mp3_player/mp3_player.gd.uid new file mode 100644 index 0000000..dce95f3 --- /dev/null +++ b/src/equipment/mp3_player/mp3_player.gd.uid @@ -0,0 +1 @@ +uid://baxf17b7u8f4g diff --git a/src/equipment/mp3_player/mp3_player.tscn b/src/equipment/mp3_player/mp3_player.tscn new file mode 100644 index 0000000..65c699c --- /dev/null +++ b/src/equipment/mp3_player/mp3_player.tscn @@ -0,0 +1,66 @@ +[gd_scene load_steps=7 format=3 uid="uid://c21ksxjyixqe1"] + +[ext_resource type="Script" uid="uid://baxf17b7u8f4g" path="res://src/equipment/mp3_player/mp3_player.gd" id="1_hjo3m"] +[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="2_o7o6r"] +[ext_resource type="Texture2D" uid="uid://0wbowky48ign" path="res://assets/ui/hud/tools/mp3_player.png" id="3_de88k"] +[ext_resource type="Script" uid="uid://dj2x7x5qkbym1" path="res://src/ui/canvas_projector.gd" id="3_eysps"] +[ext_resource type="FontFile" uid="uid://oq8ue2qrfijg" path="res://assets/fonts/Silkscreen/Silkscreen-Regular.ttf" id="5_rb5mc"] + +[sub_resource type="FontVariation" id="FontVariation_6lbfp"] +base_font = ExtResource("5_rb5mc") + +[node name="MP3Player" type="Node3D"] +script = ExtResource("1_hjo3m") +hud_accel = 45.0 + +[node name="HUDTool" type="Node3D" parent="."] +unique_name_in_owner = true +top_level = true + +[node name="Rumbler" type="Node3D" parent="HUDTool"] +unique_name_in_owner = true +script = ExtResource("2_o7o6r") +metadata/_custom_type_script = "uid://b274q7uvn0cvp" + +[node name="Position" type="Marker3D" parent="HUDTool/Rumbler"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.15) +script = ExtResource("3_eysps") + +[node name="HUDElement" type="Control" parent="HUDTool/Rumbler/Position"] +texture_filter = 3 +layout_mode = 3 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="DeviceTexture" type="TextureRect" parent="HUDTool/Rumbler/Position/HUDElement"] +layout_mode = 0 +offset_left = -290.0 +offset_top = -231.0 +offset_right = -162.0 +offset_bottom = 25.0 +scale = Vector2(5, 5) +texture = ExtResource("3_de88k") + +[node name="RichTextLabel" type="RichTextLabel" parent="HUDTool/Rumbler/Position/HUDElement"] +texture_filter = 4 +layout_mode = 0 +offset_left = -96.0 +offset_top = -170.0 +offset_right = 155.0 +offset_bottom = 109.0 +rotation = 0.15708 +theme_override_colors/default_color = Color(0, 0, 0, 1) +theme_override_fonts/normal_font = SubResource("FontVariation_6lbfp") +theme_override_font_sizes/normal_font_size = 30 +bbcode_enabled = true +text = "[wave amp=50]hey kid i'm a computer[/wave] + + + +stop all the downloadin +" diff --git a/src/player/player.gd b/src/player/player.gd index 981c281..2b85b04 100644 --- a/src/player/player.gd +++ b/src/player/player.gd @@ -62,6 +62,7 @@ var _was_on_floor := false @onready var point_spray: PointSpray = %PointSpray @onready var wide_spray: WideSpray = %WideSpray @onready var toothbrush: Tool = %Toothbrush +@onready var mp3_player: Tool = %MP3Player @onready var crouch_head_area: Area3D = %CrouchHeadArea @onready var crouch_animation: AnimationPlayer = %CrouchAnimation @@ -168,7 +169,7 @@ func get_grabbed() -> void: func _on_milestone(milestone: Milestone) -> void: if milestone.mp3_player: - pass # TODO equip mp3 player + tool_mount.set_active(mp3_player) if milestone.toothbrush: tool_mount.set_active(toothbrush) if milestone.stickers: @@ -208,6 +209,8 @@ func _physics_process(delta: float) -> void: tool_mount.set_active(wide_spray) elif Input.is_action_just_pressed("select_brush"): tool_mount.set_active(toothbrush) + elif Input.is_action_just_pressed("select_mp3_player"): + tool_mount.set_active(mp3_player) # Tool use if Input.is_action_pressed("fire"): diff --git a/src/player/player.tscn b/src/player/player.tscn index 109949e..12fc357 100644 --- a/src/player/player.tscn +++ b/src/player/player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=62 format=3 uid="uid://bwe2jdmvinhqd"] +[gd_scene load_steps=63 format=3 uid="uid://bwe2jdmvinhqd"] [ext_resource type="Script" uid="uid://buwh0g1ga2aka" path="res://src/player/player.gd" id="1_npueo"] [ext_resource type="Script" uid="uid://cx1yt0drthpw3" path="res://src/player/camera_controller.gd" id="2_veeqv"] @@ -7,6 +7,7 @@ [ext_resource type="Script" uid="uid://cwy3akimaeib" path="res://src/player/tool_mount.gd" id="3_jiejy"] [ext_resource type="PackedScene" uid="uid://dq1x21tq06dud" path="res://src/ui/hud/player_hud.tscn" id="5_jvafu"] [ext_resource type="PackedScene" uid="uid://qknkdy6aics1" path="res://src/equipment/toothbrush/toothbrush.tscn" id="6_o822w"] +[ext_resource type="PackedScene" uid="uid://c21ksxjyixqe1" path="res://src/equipment/mp3_player/mp3_player.tscn" id="7_e7e1q"] [ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="7_p6grl"] [ext_resource type="Script" uid="uid://b1vyq7e81nyt0" path="res://src/player/headbob_controller.gd" id="7_x42xx"] [ext_resource type="Script" uid="uid://ecrhsueph7at" path="res://src/player/footsteps/footstep_controller.gd" id="9_hja65"] @@ -621,6 +622,10 @@ visible = false unique_name_in_owner = true visible = false +[node name="MP3Player" parent="CameraPosition/CameraPivot/ToolMount" instance=ExtResource("7_e7e1q")] +unique_name_in_owner = true +visible = false + [node name="TransformedPosition" type="Node3D" parent="CameraPosition/CameraPivot"] [node name="CamRumbler" type="Node3D" parent="CameraPosition/CameraPivot/TransformedPosition"] diff --git a/src/world/world_manager.tres b/src/world/world_manager.tres index 067cdea..f64ee91 100644 --- a/src/world/world_manager.tres +++ b/src/world/world_manager.tres @@ -182,7 +182,7 @@ vault_milestones = Dictionary[int, ExtResource("2_c37ff")]({ 4200000: SubResource("Resource_vebb4"), 6400000: SubResource("Resource_2qxxw") }) -mp3_player_unlocked = false -toothbrush_unlocked = false +mp3_player_unlocked = true +toothbrush_unlocked = true stickers_unlocked = false metadata/_custom_type_script = "uid://c1i5gnht15x0e"