Compare commits

...
Sign in to create a new pull request.

10 commits

Author SHA1 Message Date
Tabby
44d17a22fb Update MenuRoom.tscn 2025-07-08 18:29:51 +10:00
Tabby
264a43932c cooking 2025-07-08 15:06:09 +10:00
Tabby
b94ff6acde improved tutorialisation by adding a wire around the pedestals and moving them into a circle configuration 2025-07-06 17:06:16 +10:00
Tabby
c0b2f5edf6 promo art for smash 2025-05-27 16:20:17 +10:00
Tabby
245f67a5fc Update export_presets.cfg 2025-05-25 18:52:00 +10:00
Tabby
4d0fefb777 time to update itch! 2025-05-25 15:37:54 +10:00
Tabby
1c3d21abec fixed killzone bug 2025-05-25 15:36:34 +10:00
Tabby
d65e88fffc dsdas 2025-05-25 15:31:02 +10:00
Tabby
44be9924a6 cool stuff 2025-05-25 15:14:49 +10:00
Tabby
a9be913adb clock gui and command block fix 2025-05-25 14:31:14 +10:00
67 changed files with 1756 additions and 223 deletions

View file

@ -0,0 +1,14 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://bsgjssu608suc"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_78k07"]
load_path = "res://.godot/imported/stone_2_gray_0.png-9d16a4858afb7acd70485069983b75ce.s3tc.ctex"
[resource]
albedo_color = Color(0, 0.678431, 1, 1)
albedo_texture = SubResource("CompressedTexture2D_78k07")
emission = Color(1, 1, 1, 1)
subsurf_scatter_strength = 1.0
uv1_scale = Vector3(3, 2, 1)
uv1_triplanar_sharpness = 0.0583145
uv2_triplanar_sharpness = 0.170755
texture_filter = 0

View file

@ -0,0 +1,14 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://drp1q1n60kafj"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_78k07"]
load_path = "res://.godot/imported/stone_2_gray_0.png-9d16a4858afb7acd70485069983b75ce.s3tc.ctex"
[resource]
albedo_color = Color(0, 0.969035, 0.99025, 1)
albedo_texture = SubResource("CompressedTexture2D_78k07")
emission = Color(1, 1, 1, 1)
subsurf_scatter_strength = 1.0
uv1_scale = Vector3(3, 2, 1)
uv1_triplanar_sharpness = 0.0583145
uv2_triplanar_sharpness = 0.170755
texture_filter = 0

View file

@ -0,0 +1,14 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://cbjq7ypah8w8a"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_78k07"]
load_path = "res://.godot/imported/stone_2_gray_0.png-9d16a4858afb7acd70485069983b75ce.s3tc.ctex"
[resource]
albedo_color = Color(0.684786, 0.470211, 1, 1)
albedo_texture = SubResource("CompressedTexture2D_78k07")
emission = Color(1, 1, 1, 1)
subsurf_scatter_strength = 1.0
uv1_scale = Vector3(3, 2, 1)
uv1_triplanar_sharpness = 0.0583145
uv2_triplanar_sharpness = 0.170755
texture_filter = 0

View file

@ -0,0 +1,14 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://uprvwy7c55in"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_78k07"]
load_path = "res://.godot/imported/stone_2_gray_0.png-9d16a4858afb7acd70485069983b75ce.s3tc.ctex"
[resource]
albedo_color = Color(1, 0.124572, 0.0864943, 1)
albedo_texture = SubResource("CompressedTexture2D_78k07")
emission = Color(1, 1, 1, 1)
subsurf_scatter_strength = 1.0
uv1_scale = Vector3(3, 2, 1)
uv1_triplanar_sharpness = 0.0583145
uv2_triplanar_sharpness = 0.170755
texture_filter = 0

View file

@ -3,25 +3,26 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cubqlybfo1q3r"
path="res://.godot/imported/rect_gray_0_old.png-807f3bb9249ff79f864fa4ceefd71090.ctex"
path.s3tc="res://.godot/imported/rect_gray_0_old.png-807f3bb9249ff79f864fa4ceefd71090.s3tc.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Assets/Textures/rect_gray_0_old.png"
dest_files=["res://.godot/imported/rect_gray_0_old.png-807f3bb9249ff79f864fa4ceefd71090.ctex"]
dest_files=["res://.godot/imported/rect_gray_0_old.png-807f3bb9249ff79f864fa4ceefd71090.s3tc.ctex"]
[params]
compress/mode=0
compress/mode=2
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/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
detect_3d/compress_to=0

View file

@ -39,14 +39,16 @@ sign_text = "No spacebar
show_pole = true
[node name="Sign2" parent="." instance=ExtResource("4_rebbc")]
transform = Transform3D(0.383377, 0, 0.923592, 0, 1, 0, -0.923592, 0, 0.383377, 1.66118, 1.71873, -3.91991)
sign_text = "Your freedom
awaits~"
show_pole = true
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.39532, 2.44078, -4.9425)
sign_text = "Press me!
<----"
[node name="Sign3" parent="." instance=ExtResource("4_rebbc")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.0761647, 2.58375, 4.99402)
sign_text = "Place the Block"
transform = Transform3D(0.71792, 0, 0.696126, 0, 1, 0, -0.696126, 0, 0.71792, 2.57616, 1.68162, -2.50598)
sign_text = "Then click a
pedestal to
<- place it ->"
show_pole = true
[node name="BaseCommand" parent="." instance=ExtResource("5_tqehu")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0518522, 2.66601, -2.91549)

View file

@ -40,7 +40,7 @@ command_name = "jump"
command_sprite = ExtResource("5_v1wgi")
[node name="Sign" parent="." instance=ExtResource("6_xqkdd")]
transform = Transform3D(0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, 1.30761, 1.69798, -3.40446)
transform = Transform3D(0.181875, 0, 0.983321, 0, 1, 0, -0.983321, 0, 0.181875, 0.586343, 1.69798, -3.84724)
sign_text = "Heres some
more"
show_pole = true

View file

@ -24,21 +24,24 @@ data = {
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 9)
[node name="BaseCommand2" parent="." instance=ExtResource("4_fhho5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.96314, 1.5, -1.13196)
command_name = "dash"
command_sprite = ExtResource("5_gb44l")
[node name="BaseCommand4" parent="." instance=ExtResource("4_fhho5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7692, 1.5, -2.27183)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.49261, 1.5, -1.45761)
command_name = "dash"
command_sprite = ExtResource("5_gb44l")
[node name="BaseCommand3" parent="." instance=ExtResource("4_fhho5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.5, 2.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.97166, 1.5, 0.598931)
command_name = "dash"
command_sprite = ExtResource("5_gb44l")
[node name="Sign" parent="." instance=ExtResource("6_03rde")]
transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 3.64511, 1.6988, 3.67351)
sign_text = "Drop with Q"
transform = Transform3D(-0.717215, 0, 0.696852, 0, 1, 0, -0.696852, 0, -0.717215, -3.15555, 1.6988, -3.64062)
sign_text = "You can drop
any block you
are holding
with Q"
show_pole = true

View file

@ -39,7 +39,7 @@ command_name = "jump"
command_sprite = ExtResource("6_uedpd")
[node name="BaseCommand6" parent="." instance=ExtResource("5_2e06g")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.98769, 2.66601, -1.62585)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.27972, 2.66601, -2.33976)
command_name = "jump"
command_sprite = ExtResource("6_uedpd")

View file

@ -35,7 +35,7 @@ new!"
show_pole = true
[node name="BaseCommand5" parent="." instance=ExtResource("5_tiga2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.58846, 1.66601, -1.91549)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.57197, 1.66601, -1.92229)
command_name = "phase"
command_sprite = ExtResource("6_cl2y5")
@ -50,7 +50,7 @@ command_name = "phase"
command_sprite = ExtResource("6_cl2y5")
[node name="BaseCommand4" parent="." instance=ExtResource("5_tiga2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.08846, 1.66601, -3.41549)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.03905, 1.66601, -2.41365)
command_name = "phase"
command_sprite = ExtResource("6_cl2y5")

300
Levels/MenuRoom.tscn Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bnuvjexc67wx0"
path="res://.godot/imported/Aspecty - Amb_01_Dark.mp3-98eb8afe080419570509f982cb762c3e.mp3str"
[deps]
source_file="res://Music/Aspecty - Amb_01_Dark.mp3"
dest_files=["res://.godot/imported/Aspecty - Amb_01_Dark.mp3-98eb8afe080419570509f982cb762c3e.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
Music/Dark Loop.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://b4fqj3641cakh"
path="res://.godot/imported/Dark Loop.mp3-2874f94ce1a37aadafa3f2184640c541.mp3str"
[deps]
source_file="res://Music/Dark Loop.mp3"
dest_files=["res://.godot/imported/Dark Loop.mp3-2874f94ce1a37aadafa3f2184640c541.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
Music/Factory.ogg Normal file

Binary file not shown.

19
Music/Factory.ogg.import Normal file
View file

@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://clb67g8fj0gok"
path="res://.godot/imported/Factory.ogg-fe0b77569ecfd6d867b8c8c74c8349a1.oggvorbisstr"
[deps]
source_file="res://Music/Factory.ogg"
dest_files=["res://.godot/imported/Factory.ogg-fe0b77569ecfd6d867b8c8c74c8349a1.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
Music/Forest_Ambience.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://cdaxf1ewngahm"
path="res://.godot/imported/Forest_Ambience.mp3-8f01237f5fef52a8994415dc8e0ee895.mp3str"
[deps]
source_file="res://Music/Forest_Ambience.mp3"
dest_files=["res://.godot/imported/Forest_Ambience.mp3-8f01237f5fef52a8994415dc8e0ee895.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

25
Music/MusicManager.tscn Normal file
View file

@ -0,0 +1,25 @@
[gd_scene load_steps=6 format=3 uid="uid://prs2odgoyxpq"]
[ext_resource type="Script" uid="uid://dyo4uhb0xygjw" path="res://Music/music_manager.gd" id="1_xucj2"]
[ext_resource type="AudioStream" uid="uid://cqeavji0kubj6" path="res://Music/audiomass-output.mp3" id="2_nyl5h"]
[ext_resource type="AudioStream" uid="uid://bnuvjexc67wx0" path="res://Music/Aspecty - Amb_01_Dark.mp3" id="3_ojnly"]
[ext_resource type="AudioStream" uid="uid://b4fqj3641cakh" path="res://Music/Dark Loop.mp3" id="4_yqniv"]
[ext_resource type="AudioStream" uid="uid://cdaxf1ewngahm" path="res://Music/Forest_Ambience.mp3" id="5_gtgq8"]
[node name="MusicManager" type="Node" node_paths=PackedStringArray("player", "timer")]
script = ExtResource("1_xucj2")
tracks = Array[AudioStream]([ExtResource("2_nyl5h"), ExtResource("3_ojnly"), ExtResource("4_yqniv"), ExtResource("5_gtgq8")])
player = NodePath("AudioStreamPlayer")
timer = NodePath("Timer")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_nyl5h")
volume_db = -14.416
autoplay = true
bus = &"Music"
[node name="Timer" type="Timer" parent="."]
one_shot = true
[connection signal="finished" from="AudioStreamPlayer" to="." method="_on_audio_stream_player_finished"]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]

BIN
Music/audiomass-output.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://cqeavji0kubj6"
path="res://.godot/imported/audiomass-output.mp3-b179e0fdc26ee53747e38f07af2a05c8.mp3str"
[deps]
source_file="res://Music/audiomass-output.mp3"
dest_files=["res://.godot/imported/audiomass-output.mp3-b179e0fdc26ee53747e38f07af2a05c8.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

29
Music/music_manager.gd Normal file
View file

@ -0,0 +1,29 @@
extends Node
@export var tracks : Array[AudioStream]
@export var player : AudioStreamPlayer
@export var timer : Timer
var last_played : int = 0
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
#print(player.get_playback_position())
pass
func _on_audio_stream_player_finished() -> void:
var new_track : int
while new_track == last_played:
new_track = randi_range(0,tracks.size()-1)
player.stream = tracks[new_track]
last_played = new_track
timer.start(randf_range(5,15))
func _on_timer_timeout() -> void:
player.play()

View file

@ -0,0 +1 @@
uid://dyo4uhb0xygjw

BIN
Promo/BannerBase.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cku7bn4jsor8x"
path="res://.godot/imported/BannerBase.png-d5f98c2571a5b42a3bdd5a00d0a17e32.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Promo/BannerBase.png"
dest_files=["res://.godot/imported/BannerBase.png-d5f98c2571a5b42a3bdd5a00d0a17e32.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=1

331
Promo/bannerSmash.pdn Normal file

File diff suppressed because one or more lines are too long

BIN
Promo/bannerSmash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://didtryy56rw3b"
path="res://.godot/imported/bannerSmash.png-e0a541bf798e832764ad9759bb03b1a7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Promo/bannerSmash.png"
dest_files=["res://.godot/imported/bannerSmash.png-e0a541bf798e832764ad9759bb03b1a7.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=1

View file

@ -8,15 +8,18 @@ Puzzle game made by Tom for the Playmakers August Jam 2024
https://freesound.org/people/primeval_polypod/sounds/156507/
# new TODO
- [ ] when command blocks are propped they are placed as a root node, causing them to carry between rooms
- [ ] improve menu
- [ ] swap out to developer name
- [ ] make it a 3d environment with a rotating camera
- [ ] make kill zones check every frame, rather than just on entry
- [ ] increment version number
- [ ] pause menu on ESC
- [ ] replace back to menu button
- [ ] volume settings?
- [x] when command blocks are propped they are placed as a root node, causing them to carry between rooms
- [x] onscreen timer
- [x] pedestal highlight should match clock
- [x] improve menu
- [x] swap out to developer name
- [x] make it a 3d environment with a rotating camera
- [x] make kill zones check every frame, rather than just on entry
- [x] increment version number
- [x] pause menu on ESC
- [x] replace back to menu button
- [x] volume settings?
- [ ] website splash page for SMASH
# old todo
- [x] FPS Controller

View file

@ -20,6 +20,7 @@ var door_timer : float = 0
@export_group("Resources")
@export var pedestal_off_mat : Material
@export var pedestal_on_mat : Material
@export var pedestal_activated_cols : Array[Material]
@export_group("Node References")
@export var gui : Control
@ -36,6 +37,7 @@ var pedestals : Array[Pedestal]
# Called when the node enters the scene tree for the first time.
func _ready():
tick.connect(gui.onTick)
player.area.area_entered.connect(_player_area_entered)
var temp_pedestals = pedstalContainer.get_children()
for temp in temp_pedestals:
@ -56,8 +58,8 @@ func _process(delta):
#if Input.is_action_just_pressed("debug_start"):
#start_room()
if Input.is_action_just_pressed("interact"):
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
#if Input.is_action_just_pressed("interact"):
#Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
if Input.is_action_just_pressed("reset"):
gui.show_lose_screen("Reset Pressed", 2)
@ -80,7 +82,8 @@ func _process(delta):
for i in pedestals.size():
if i+1 == current_tick:
var activated_pedestal = pedestals[i]
activated_pedestal.mesh.mesh.material = pedestal_on_mat
#activated_pedestal.mesh.mesh.material = pedestal_on_mat
activated_pedestal.mesh.mesh.material = pedestal_activated_cols[i]
if activated_pedestal.has_command:
print("broadcasting: " + activated_pedestal.placed_command.command_name)
broadcast.emit(activated_pedestal.placed_command.command_name)
@ -110,7 +113,7 @@ func _process(delta):
fail_room()
gui.show_lose_screen("Fell out of world", 2)
check_player_killzone()
@ -189,3 +192,18 @@ func _player_area_entered(area : Area3D):
if not player.collider.disabled:
fail_room()
gui.show_lose_screen("Touched a reset block", 2)
func check_player_killzone():
var hitbox : Area3D = player.area
if(hitbox.get_overlapping_areas().size() > 0):
for area in hitbox.get_overlapping_areas():
if "kill" in area:
if not player.collider.disabled:
if(room_started):
fail_room()
gui.show_lose_screen("Touched a reset block", 2)
func pause():
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
gui.open_pause()
process_mode = Node.PROCESS_MODE_DISABLED

View file

@ -39,10 +39,11 @@ func _physics_process(delta):
#free the mouse for debugging
if Input.is_action_just_pressed("esc"):
if (Input.mouse_mode == Input.MOUSE_MODE_CAPTURED):
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
else:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
#if (Input.mouse_mode == Input.MOUSE_MODE_CAPTURED):
#Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
#else:
#Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
get_parent().pause()
# interact with stuff
if Input.is_action_just_pressed("drop"):
@ -127,7 +128,7 @@ func _input(event):
func drop():
if has_object:
held_object.reparent(get_tree().get_root())
held_object.reparent(get_parent())
held_object.freeze = false
held_object.collider.disabled = false
has_object = false

View file

@ -6,12 +6,22 @@ extends Control
@export var reset_label : Label
@export var start_level : PanelContainer
@export var level_title : Label
@export var clock_progress : TextureProgressBar
@export var clock_label : Label
@export var volume_slider : HSlider
@export var music_slider : HSlider
@export var level_name : Label
@export var pause_menu : MarginContainer
var title_fade : float = 2.5
var sound = AudioServer.get_bus_index("SoundFX")
var music = AudioServer.get_bus_index("Music")
# Called when the node enters the scene tree for the first time.
func _ready():
lose_panel.visible = false
volume_slider.value = db_to_linear(AudioServer.get_bus_volume_db(sound))
music_slider.value = db_to_linear(AudioServer.get_bus_volume_db(music))
pass # Replace with function body.
@ -29,8 +39,39 @@ func show_lose_screen(lose_text : String, reset_timer : float):
func hide_lose_screen():
lose_panel.visible = false
clock_progress.value = 0
clock_label.text = str(0)
pass
func show_level_title(title : String):
level_title.text = title
level_name.text = title
title_fade = 2
func onTick(tick : int):
clock_progress.value = tick
if(tick == 11):
clock_label.text = str(10)
else:
clock_label.text = str(tick)
func open_pause():
pause_menu.show()
func close_pause():
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
pause_menu.hide()
get_parent().process_mode = Node.PROCESS_MODE_INHERIT
func goto_menu():
get_tree().change_scene_to_file(GameManager.menu_scene_path)
func _on_h_slider_value_changed(value: float) -> void:
AudioServer.set_bus_volume_db(sound, linear_to_db(value))
func _on_music_slider_value_changed(value: float) -> void:
AudioServer.set_bus_volume_db(music, linear_to_db(value))

View file

@ -2,11 +2,13 @@ extends Control
var credits_shown : bool = false
@export var show_smash : bool = false
@export var level_node : Control
@export var credits_node : Control
@export var credits_button : Button
@export var levels_vbox : VBoxContainer
@export var exit_button : Button
@export var smash_con_panel : PanelContainer
# Called when the node enters the scene tree for the first time.
func _ready():
@ -24,6 +26,7 @@ func _ready():
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
smash_con_panel.visible = show_smash
if credits_shown:
credits_node.visible = true
level_node.visible = false

BIN
Smash/cat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB

34
Smash/cat.png.import Normal file
View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgojtb4eypeid"
path="res://.godot/imported/cat.png-00adace37c1d319ffbacf5f2e5750a7c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Smash/cat.png"
dest_files=["res://.godot/imported/cat.png-00adace37c1d319ffbacf5f2e5750a7c.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=1

BIN
Smash/smashLogo.pdn Normal file

Binary file not shown.

BIN
Smash/smashLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ct6dqvn15u3wu"
path="res://.godot/imported/smashLogo.png-f2d73ef434f566649f2c6e73da5ea2ff.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Smash/smashLogo.png"
dest_files=["res://.godot/imported/smashLogo.png-f2d73ef434f566649f2c6e73da5ea2ff.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=1

BIN
Smash/smol100kitten.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://7o1onoai3ho5"
path="res://.godot/imported/smol100kitten.png-4c21d40a0116e4a247faa3a673ca92a1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Smash/smol100kitten.png"
dest_files=["res://.godot/imported/smol100kitten.png-4c21d40a0116e4a247faa3a673ca92a1.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=1

BIN
Smash/tabbycatdev.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dkl0ir2ygx6w7"
path="res://.godot/imported/tabbycatdev.png-7d3a36e9f069b75fe68dc4a4c90a937b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Smash/tabbycatdev.png"
dest_files=["res://.godot/imported/tabbycatdev.png-7d3a36e9f069b75fe68dc4a4c90a937b.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=1

BIN
Sprites/clock.pdn Normal file

Binary file not shown.

BIN
Sprites/clockOff.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbjlesgbl3b5e"
path="res://.godot/imported/clockOff.png-d87647372261142486ea10a2e808d69f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/clockOff.png"
dest_files=["res://.godot/imported/clockOff.png-d87647372261142486ea10a2e808d69f.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=1

BIN
Sprites/clockOn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxqb0vw8nouea"
path="res://.godot/imported/clockOn.png-fc2c530b0fcad697dfb0078c2b7e77a6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/clockOn.png"
dest_files=["res://.godot/imported/clockOn.png-fc2c530b0fcad697dfb0078c2b7e77a6.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=1

BIN
Sprites/logo.pdn Normal file

Binary file not shown.

BIN
Sprites/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

34
Sprites/logo.png.import Normal file
View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c55v5pebfuul4"
path="res://.godot/imported/logo.png-1bf9c8565d26f5fd04dfba16f622641c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/logo.png"
dest_files=["res://.godot/imported/logo.png-1bf9c8565d26f5fd04dfba16f622641c.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=1

BIN
Sprites/smashLogo.pdn Normal file

Binary file not shown.

BIN
Sprites/smashLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chx3hucaeaytn"
path="res://.godot/imported/smashLogo.png-68797412c7f4f2f5067d125ae8de8cbe.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Sprites/smashLogo.png"
dest_files=["res://.godot/imported/smashLogo.png-68797412c7f4f2f5067d125ae8de8cbe.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=1

15
default_bus_layout.tres Normal file
View file

@ -0,0 +1,15 @@
[gd_resource type="AudioBusLayout" format=3 uid="uid://c1auqraysvepu"]
[resource]
bus/1/name = &"SoundFX"
bus/1/solo = false
bus/1/mute = false
bus/1/bypass_fx = false
bus/1/volume_db = 0.0
bus/1/send = &"Master"
bus/2/name = &"Music"
bus/2/solo = false
bus/2/mute = false
bus/2/bypass_fx = false
bus/2/volume_db = 0.0
bus/2/send = &"Master"

View file

@ -1,18 +1,22 @@
[preset.0]
name="Linux/X11"
platform="Linux/X11"
platform="Linux"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../Exports/ChronoChamber/Linux/ChronoChamber.x86_64"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
@ -20,10 +24,8 @@ custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=true
texture_format/bptc=true
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
@ -37,22 +39,30 @@ unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""
texture_format/bptc=true
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
[preset.1]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../Exports/ChronoChamber/Windows/ChronoChamber.exe"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.1.options]
@ -60,10 +70,8 @@ custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=true
texture_format/bptc=true
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"
codesign/enable=false
codesign/timestamp=true
@ -83,6 +91,8 @@ application/file_description=""
application/copyright=""
application/trademarks=""
application/export_angle=0
application/export_d3d12=0
application/d3d12_agility_sdk_multiarch=true
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
@ -100,28 +110,37 @@ Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorActi
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
Remove-Item -Recurse -Force '{temp_dir}'"
texture_format/bptc=true
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
[preset.2]
name="Web"
platform="Web"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../Exports/ChronoChamber/Web/index.html"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.2.options]
custom_template/debug=""
custom_template/release=""
variant/extensions_support=false
variant/thread_support=false
vram_texture_compression/for_desktop=true
vram_texture_compression/for_mobile=false
html/export_icon=true
@ -131,6 +150,7 @@ html/canvas_resize_policy=2
html/focus_canvas_on_start=true
html/experimental_virtual_keyboard=false
progressive_web_app/enabled=false
progressive_web_app/ensure_cross_origin_isolation_headers=true
progressive_web_app/offline_page=""
progressive_web_app/display=1
progressive_web_app/orientation=0
@ -138,108 +158,3 @@ progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
progressive_web_app/background_color=Color(0, 0, 0, 1)
[preset.3]
name="macOS"
platform="macOS"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../Exports/ChronoChamber/Mac/ChronoChamber.zip"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.3.options]
export/distribution_type=1
binary_format/architecture="universal"
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
application/icon=""
application/icon_interpolation=4
application/bundle_identifier="com.clevertop.chronochamber"
application/signature=""
application/app_category="Games"
application/short_version=""
application/version=""
application/copyright=""
application/copyright_localized={}
application/min_macos_version="10.12"
application/export_angle=0
display/high_res=true
xcode/platform_build="14C18"
xcode/sdk_version="13.1"
xcode/sdk_build="22C55"
xcode/sdk_name="macosx13.1"
xcode/xcode_version="1420"
xcode/xcode_build="14C18"
codesign/codesign=1
codesign/installer_identity=""
codesign/apple_team_id=""
codesign/identity=""
codesign/entitlements/custom_file=""
codesign/entitlements/allow_jit_code_execution=false
codesign/entitlements/allow_unsigned_executable_memory=false
codesign/entitlements/allow_dyld_environment_variables=false
codesign/entitlements/disable_library_validation=false
codesign/entitlements/audio_input=false
codesign/entitlements/camera=false
codesign/entitlements/location=false
codesign/entitlements/address_book=false
codesign/entitlements/calendars=false
codesign/entitlements/photos_library=false
codesign/entitlements/apple_events=false
codesign/entitlements/debugging=false
codesign/entitlements/app_sandbox/enabled=false
codesign/entitlements/app_sandbox/network_server=false
codesign/entitlements/app_sandbox/network_client=false
codesign/entitlements/app_sandbox/device_usb=false
codesign/entitlements/app_sandbox/device_bluetooth=false
codesign/entitlements/app_sandbox/files_downloads=0
codesign/entitlements/app_sandbox/files_pictures=0
codesign/entitlements/app_sandbox/files_music=0
codesign/entitlements/app_sandbox/files_movies=0
codesign/entitlements/app_sandbox/files_user_selected=0
codesign/entitlements/app_sandbox/helper_executables=[]
codesign/custom_options=PackedStringArray()
notarization/notarization=0
privacy/microphone_usage_description=""
privacy/microphone_usage_description_localized={}
privacy/camera_usage_description=""
privacy/camera_usage_description_localized={}
privacy/location_usage_description=""
privacy/location_usage_description_localized={}
privacy/address_book_usage_description=""
privacy/address_book_usage_description_localized={}
privacy/calendar_usage_description=""
privacy/calendar_usage_description_localized={}
privacy/photos_library_usage_description=""
privacy/photos_library_usage_description_localized={}
privacy/desktop_folder_usage_description=""
privacy/desktop_folder_usage_description_localized={}
privacy/documents_folder_usage_description=""
privacy/documents_folder_usage_description_localized={}
privacy/downloads_folder_usage_description=""
privacy/downloads_folder_usage_description_localized={}
privacy/network_volumes_usage_description=""
privacy/network_volumes_usage_description_localized={}
privacy/removable_volumes_usage_description=""
privacy/removable_volumes_usage_description_localized={}
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""

View file

@ -51,5 +51,5 @@ level_name = "The Last Challenge"
[node name="GameManager" type="Node"]
script = ExtResource("1_rsuf4")
levels = Array[ExtResource("2_w2hey")]([SubResource("Resource_vs5fw"), SubResource("Resource_yde0b"), SubResource("Resource_5anvy"), SubResource("Resource_ksvl5"), SubResource("Resource_clwum"), SubResource("Resource_fdajg"), SubResource("Resource_jr8pj"), SubResource("Resource_oteey"), SubResource("Resource_td0vm")])
menu_scene_path = "res://menu.tscn"
menu_scene_path = "res://newMenu.tscn"
sandbox_scene_path = "res://Levels/StartingRoom.tscn"

164
gui.tscn
View file

@ -1,7 +1,9 @@
[gd_scene load_steps=6 format=3 uid="uid://bnlexkofp68gv"]
[gd_scene load_steps=11 format=3 uid="uid://bnlexkofp68gv"]
[ext_resource type="Script" uid="uid://co8tfbsod875o" path="res://Scripts/gui.gd" id="1_7s0l7"]
[ext_resource type="Texture2D" uid="uid://buafet16thf3p" path="res://Assets/crosshair.png" id="1_mpwvh"]
[ext_resource type="Texture2D" uid="uid://dbjlesgbl3b5e" path="res://Sprites/clockOff.png" id="3_cor1f"]
[ext_resource type="Texture2D" uid="uid://bxqb0vw8nouea" path="res://Sprites/clockOn.png" id="4_u77ya"]
[sub_resource type="LabelSettings" id="LabelSettings_lrnc3"]
font_color = Color(1, 0, 0, 1)
@ -13,7 +15,19 @@ font_size = 60
font_size = 30
font_color = Color(0.662452, 0.662452, 0.662452, 1)
[node name="Gui" type="Control" node_paths=PackedStringArray("lose_panel", "lose_label", "reset_label", "start_level", "level_title")]
[sub_resource type="LabelSettings" id="LabelSettings_cor1f"]
font_size = 31
font_color = Color(0.686086, 0.00014728, 0.612691, 1)
outline_size = 8
outline_color = Color(0.658824, 1, 1, 1)
[sub_resource type="LabelSettings" id="LabelSettings_u77ya"]
font_size = 61
[sub_resource type="LabelSettings" id="LabelSettings_jf511"]
font_size = 26
[node name="Gui" type="Control" node_paths=PackedStringArray("lose_panel", "lose_label", "reset_label", "start_level", "level_title", "clock_progress", "clock_label", "volume_slider", "music_slider", "level_name", "pause_menu")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@ -21,11 +35,17 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_7s0l7")
lose_panel = NodePath("MarginContainer/PanelContainer")
lose_label = NodePath("MarginContainer/PanelContainer/VBoxContainer/LoseText")
reset_label = NodePath("MarginContainer/PanelContainer/VBoxContainer/LoseTimer")
start_level = NodePath("MarginContainer/StartPanel")
level_title = NodePath("MarginContainer/StartPanel/VBoxContainer/LevelTitle")
lose_panel = NodePath("starting and game over/PanelContainer")
lose_label = NodePath("starting and game over/PanelContainer/VBoxContainer/LoseText")
reset_label = NodePath("starting and game over/PanelContainer/VBoxContainer/LoseTimer")
start_level = NodePath("starting and game over/StartPanel")
level_title = NodePath("starting and game over/StartPanel/VBoxContainer/LevelTitle")
clock_progress = NodePath("ClockProgress")
clock_label = NodePath("ClockProgress/CenterContainer/Label")
volume_slider = NodePath("PauseMenu/PanelContainer/VBoxContainer/HBoxContainer/HSlider")
music_slider = NodePath("PauseMenu/PanelContainer/VBoxContainer/HBoxContainer3/HSlider")
level_name = NodePath("PauseMenu/PanelContainer/VBoxContainer/Level Name")
pause_menu = NodePath("PauseMenu")
[node name="Label" type="Label" parent="."]
visible = false
@ -45,12 +65,12 @@ grow_vertical = 2
[node name="TextureRect" type="TextureRect" parent="Crosshair"]
modulate = Color(1, 1, 1, 0.721569)
custom_minimum_size = Vector2(20, 20)
custom_minimum_size = Vector2(10, 10)
layout_mode = 2
texture = ExtResource("1_mpwvh")
expand_mode = 1
[node name="MarginContainer" type="MarginContainer" parent="."]
[node name="starting and game over" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@ -62,34 +82,146 @@ theme_override_constants/margin_top = 150
theme_override_constants/margin_right = 200
theme_override_constants/margin_bottom = 150
[node name="StartPanel" type="PanelContainer" parent="MarginContainer"]
[node name="StartPanel" type="PanelContainer" parent="starting and game over"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/StartPanel"]
[node name="VBoxContainer" type="VBoxContainer" parent="starting and game over/StartPanel"]
layout_mode = 2
alignment = 1
[node name="LevelTitle" type="Label" parent="MarginContainer/StartPanel/VBoxContainer"]
[node name="LevelTitle" type="Label" parent="starting and game over/StartPanel/VBoxContainer"]
layout_mode = 2
text = "Level Failed"
label_settings = SubResource("LabelSettings_v7sqr")
horizontal_alignment = 1
[node name="PanelContainer" type="PanelContainer" parent="MarginContainer"]
[node name="PanelContainer" type="PanelContainer" parent="starting and game over"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/PanelContainer"]
[node name="VBoxContainer" type="VBoxContainer" parent="starting and game over/PanelContainer"]
layout_mode = 2
alignment = 1
[node name="LoseText" type="Label" parent="MarginContainer/PanelContainer/VBoxContainer"]
[node name="LoseText" type="Label" parent="starting and game over/PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Level Failed"
label_settings = SubResource("LabelSettings_v7sqr")
horizontal_alignment = 1
[node name="LoseTimer" type="Label" parent="MarginContainer/PanelContainer/VBoxContainer"]
[node name="LoseTimer" type="Label" parent="starting and game over/PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Resetting in: 3.0"
label_settings = SubResource("LabelSettings_rdkfa")
horizontal_alignment = 1
[node name="ClockProgress" type="TextureProgressBar" parent="."]
layout_mode = 2
offset_left = 10.0
offset_top = 10.0
offset_right = 74.0
offset_bottom = 74.0
scale = Vector2(2, 2)
max_value = 10.0
fill_mode = 4
texture_under = ExtResource("3_cor1f")
texture_progress = ExtResource("4_u77ya")
[node name="CenterContainer" type="CenterContainer" parent="ClockProgress"]
layout_mode = 1
offset_left = -0.5
offset_top = -0.5
offset_right = 63.5
offset_bottom = 63.5
[node name="Label" type="Label" parent="ClockProgress/CenterContainer"]
layout_mode = 2
text = "0"
label_settings = SubResource("LabelSettings_cor1f")
[node name="PauseMenu" type="MarginContainer" parent="."]
process_mode = 3
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 170
theme_override_constants/margin_top = 100
theme_override_constants/margin_right = 170
theme_override_constants/margin_bottom = 100
[node name="PanelContainer" type="PanelContainer" parent="PauseMenu"]
layout_mode = 2
size_flags_vertical = 4
[node name="VBoxContainer" type="VBoxContainer" parent="PauseMenu/PanelContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="PauseMenu/PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Paused"
label_settings = SubResource("LabelSettings_u77ya")
horizontal_alignment = 1
[node name="Level Name" type="Label" parent="PauseMenu/PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Current Level:"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="PauseMenu/PanelContainer/VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Sound Volume"
label_settings = SubResource("LabelSettings_jf511")
horizontal_alignment = 1
[node name="HSlider" type="HSlider" parent="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
max_value = 2.0
step = 0.0
[node name="HBoxContainer3" type="HBoxContainer" parent="PauseMenu/PanelContainer/VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer3"]
layout_mode = 2
size_flags_horizontal = 3
text = "Music Volume"
label_settings = SubResource("LabelSettings_jf511")
horizontal_alignment = 1
[node name="HSlider" type="HSlider" parent="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer3"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
max_value = 2.0
step = 0.0
[node name="HBoxContainer2" type="HBoxContainer" parent="PauseMenu/PanelContainer/VBoxContainer"]
layout_mode = 2
[node name="MenuButton" type="Button" parent="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer2"]
modulate = Color(1, 0, 0, 1)
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 26
text = "Back to Menu"
[node name="ResumeButton" type="Button" parent="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer2"]
modulate = Color(0, 1, 0, 1)
layout_mode = 2
size_flags_horizontal = 3
theme_override_font_sizes/font_size = 26
text = "Resume"
[connection signal="value_changed" from="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer/HSlider" to="." method="_on_h_slider_value_changed"]
[connection signal="value_changed" from="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer3/HSlider" to="." method="_on_music_slider_value_changed"]
[connection signal="pressed" from="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer2/MenuButton" to="." method="goto_menu"]
[connection signal="pressed" from="PauseMenu/PanelContainer/VBoxContainer/HBoxContainer2/ResumeButton" to="." method="close_pause"]

View file

@ -3,10 +3,10 @@
[ext_resource type="Material" uid="uid://br3erknm4b1i0" path="res://Assets/Materials/kill.tres" id="1_2ed3b"]
[ext_resource type="Script" uid="uid://be60wmno6fjr6" path="res://Scripts/kill_block.gd" id="1_pvkd4"]
[sub_resource type="BoxMesh" id="BoxMesh_x546n"]
[sub_resource type="BoxMesh" id="BoxMesh_a1ns5"]
material = ExtResource("1_2ed3b")
[sub_resource type="BoxShape3D" id="BoxShape3D_m47l7"]
[sub_resource type="BoxShape3D" id="BoxShape3D_v71wv"]
[node name="KillBlock" type="Area3D" node_paths=PackedStringArray("mesh", "collider")]
script = ExtResource("1_pvkd4")
@ -14,7 +14,7 @@ mesh = NodePath("MeshInstance3D")
collider = NodePath("CollisionShape3D")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_x546n")
mesh = SubResource("BoxMesh_a1ns5")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_m47l7")
shape = SubResource("BoxShape3D_v71wv")

142
menu.tscn
View file

@ -1,6 +1,9 @@
[gd_scene load_steps=3 format=3 uid="uid://dggn70v8xqwgy"]
[gd_scene load_steps=7 format=3 uid="uid://dggn70v8xqwgy"]
[ext_resource type="Script" uid="uid://b8hwd1cx5kvbc" path="res://Scripts/menu.gd" id="1_igukb"]
[ext_resource type="Texture2D" uid="uid://ct6dqvn15u3wu" path="res://Smash/smashLogo.png" id="2_mae5d"]
[ext_resource type="Texture2D" uid="uid://7o1onoai3ho5" path="res://Smash/smol100kitten.png" id="3_4hy44"]
[ext_resource type="Texture2D" uid="uid://dkl0ir2ygx6w7" path="res://Smash/tabbycatdev.png" id="4_4hy44"]
[sub_resource type="LabelSettings" id="LabelSettings_d2xlr"]
font_size = 56
@ -8,7 +11,10 @@ font_color = Color(0.631665, 0.267098, 1, 1)
outline_size = 15
outline_color = Color(1, 0.446282, 0.988369, 1)
[node name="Menu" type="Control" node_paths=PackedStringArray("level_node", "credits_node", "credits_button", "levels_vbox", "exit_button")]
[sub_resource type="LabelSettings" id="LabelSettings_lti8b"]
font_color = Color(0, 0, 0, 1)
[node name="Menu" type="Control" node_paths=PackedStringArray("level_node", "credits_node", "credits_button", "levels_vbox", "exit_button", "smash_con_panel")]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@ -16,11 +22,13 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_igukb")
level_node = NodePath("MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/VBoxContainer")
credits_node = NodePath("MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/MarginContainer/CreditsPage")
credits_button = NodePath("MarginContainer/VBoxContainer/HBoxContainer/CreditsButton")
levels_vbox = NodePath("MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/VBoxContainer")
exit_button = NodePath("MarginContainer/VBoxContainer/HBoxContainer/ExitButton")
show_smash = true
level_node = NodePath("MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/VBoxContainer")
credits_node = NodePath("MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/MarginContainer/CreditsPage")
credits_button = NodePath("MarginContainer/HBoxContainer/VBoxContainer/HBoxContainer/CreditsButton")
levels_vbox = NodePath("MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/VBoxContainer")
exit_button = NodePath("MarginContainer/HBoxContainer/VBoxContainer/HBoxContainer/ExitButton")
smash_con_panel = NodePath("MarginContainer/HBoxContainer/SmashConPanel")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
@ -29,34 +37,42 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 200
theme_override_constants/margin_left = 100
theme_override_constants/margin_top = 100
theme_override_constants/margin_right = 200
theme_override_constants/margin_right = 100
theme_override_constants/margin_bottom = 100
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"]
layout_mode = 2
alignment = 1
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer"]
custom_minimum_size = Vector2(700, 0)
layout_mode = 2
[node name="Title" type="Label" parent="MarginContainer/VBoxContainer"]
[node name="PanelContainer" type="PanelContainer" parent="MarginContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer"]
layout_mode = 2
[node name="Title" type="Label" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer"]
layout_mode = 2
text = "Chrono Chamber"
label_settings = SubResource("LabelSettings_d2xlr")
horizontal_alignment = 1
[node name="Credit" type="Label" parent="MarginContainer/VBoxContainer"]
[node name="Credit" type="Label" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer"]
layout_mode = 2
text = "by Tom Howarth"
text = "by Tabby :3"
horizontal_alignment = 1
[node name="PanelContainer" type="PanelContainer" parent="MarginContainer/VBoxContainer"]
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer/PanelContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer"]
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
@ -65,58 +81,118 @@ theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 10
theme_override_constants/margin_bottom = 10
[node name="CreditsPage" type="RichTextLabel" parent="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/MarginContainer"]
[node name="CreditsPage" type="RichTextLabel" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/MarginContainer"]
visible = false
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
bbcode_enabled = true
text = "Programming and Game Design: [url=https://clevertop.dev]Tom Howarth[/url]
text = "Programming and Game Design: [url=https://tabbycat.dev]Tabby[/url]
Created for the [url=https://itch.io/jam/playmakers-august-game-jam]August 2024 Game Jam[/url] hosted by Playmakers! - Themes: 3D, Puzzle
Textures: [url=https://opengameart.org/content/dungeon-crawl-32x32-tiles]Dungeon Crawl Stone Soup[/url]
Command Chime Sounds: [url=https://freesound.org/people/radian/sounds/62986/]Chime 0011.wav by radian[/url]
Door Open Sound: [url=https://freesound.org/people/primeval_polypod/sounds/156507/]door_open_close by primeval polypod[/url]
Interact Sounds: [url=https://opengameart.org/content/51-ui-sound-effects-buttons-switches-and-clicks]UI SFX set by Kenny[/url]
Lose Sound: [url=https://freesound.org/people/hawkbe/sounds/511505/]Fuzzy powerdown by hawkbe[/url]"
Lose Sound: [url=https://freesound.org/people/hawkbe/sounds/511505/]Fuzzy powerdown by hawkbe[/url]
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer"]
[b]Ambient Music[/b]
[url=https://opengameart.org/content/factory-ambiance]Factory ambiance by yd[/url]
[url=https://opengameart.org/content/forest-ambience]Forest Ambience by TinyWorlds[/url]
[url=https://opengameart.org/content/dark-ambience]Dark Ambience by Aspectry[/url]
[url=https://opengameart.org/content/crypt]Crypt by Machine[/url]"
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="Button" type="Button" parent="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"]
[node name="Button" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
visible = false
layout_mode = 2
text = "Level 1 - Name"
[node name="Button2" type="Button" parent="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"]
[node name="Button2" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
visible = false
layout_mode = 2
text = "Level 1 - Name"
[node name="Button3" type="Button" parent="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"]
[node name="Button3" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
visible = false
layout_mode = 2
text = "Level 1 - Name"
[node name="Button4" type="Button" parent="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"]
[node name="Button4" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
visible = false
layout_mode = 2
text = "Level 1 - Name"
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
[node name="CreditsButton" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"]
[node name="CreditsButton" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Credits"
[node name="ExitButton" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"]
[node name="ExitButton" type="Button" parent="MarginContainer/HBoxContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Exit Game"
[connection signal="meta_clicked" from="MarginContainer/VBoxContainer/PanelContainer/ScrollContainer/MarginContainer/CreditsPage" to="." method="_on_credits_page_meta_clicked"]
[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"]
[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer/ExitButton" to="." method="_on_exit_button_pressed"]
[node name="SmashConPanel" type="PanelContainer" parent="MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer/SmashConPanel"]
layout_mode = 2
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/HBoxContainer/SmashConPanel/VBoxContainer"]
visible = false
layout_mode = 2
texture = ExtResource("2_mae5d")
expand_mode = 5
[node name="TextureRect2" type="TextureRect" parent="MarginContainer/HBoxContainer/SmashConPanel/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("3_4hy44")
[node name="Label" type="Label" parent="MarginContainer/HBoxContainer/SmashConPanel/VBoxContainer"]
layout_mode = 2
text = "Made by Tabby for the Playmakers August Gamejam!"
horizontal_alignment = 1
autowrap_mode = 2
[node name="HSeparator" type="HSeparator" parent="MarginContainer/HBoxContainer/SmashConPanel/VBoxContainer"]
layout_mode = 2
[node name="Label2" type="Label" parent="MarginContainer/HBoxContainer/SmashConPanel/VBoxContainer"]
layout_mode = 2
text = "Check out my website here:"
horizontal_alignment = 1
autowrap_mode = 2
[node name="TextureRect3" type="TextureRect" parent="MarginContainer/HBoxContainer/SmashConPanel/VBoxContainer"]
modulate = Color(1, 0.811765, 1, 1)
layout_mode = 2
texture = ExtResource("4_4hy44")
expand_mode = 5
[node name="Label" type="Label" parent="."]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -1.0
offset_top = -23.0
grow_horizontal = 0
grow_vertical = 0
text = "v1.2"
label_settings = SubResource("LabelSettings_lti8b")
[connection signal="meta_clicked" from="MarginContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/ScrollContainer/MarginContainer/CreditsPage" to="." method="_on_credits_page_meta_clicked"]
[connection signal="pressed" from="MarginContainer/HBoxContainer/VBoxContainer/HBoxContainer/CreditsButton" to="." method="_on_credits_button_pressed"]
[connection signal="pressed" from="MarginContainer/HBoxContainer/VBoxContainer/HBoxContainer/ExitButton" to="." method="_on_exit_button_pressed"]

24
newMenu.tscn Normal file
View file

@ -0,0 +1,24 @@
[gd_scene load_steps=4 format=3 uid="uid://ckhb0hrwrg7w"]
[ext_resource type="PackedScene" uid="uid://covfxl4tbosh3" path="res://Levels/MenuRoom.tscn" id="1_bgvtp"]
[ext_resource type="Script" uid="uid://2w2x1mwet61k" path="res://new_menu_logiv.gd" id="1_y84uc"]
[ext_resource type="PackedScene" uid="uid://dggn70v8xqwgy" path="res://menu.tscn" id="3_km8x0"]
[node name="NewMenu" type="Node3D" node_paths=PackedStringArray("cam_pivot", "camera", "cam_target")]
script = ExtResource("1_y84uc")
cam_pivot = NodePath("CamPivot")
camera = NodePath("CamPivot/Camera3D")
cam_target = NodePath("CamTarget")
[node name="ChronoManager" parent="." instance=ExtResource("1_bgvtp")]
[node name="CamPivot" type="Node3D" parent="."]
transform = Transform3D(-0.929287, 0, 0.369358, 0, 1, 0, -0.369358, 0, -0.929287, 0, 0, 0)
[node name="Camera3D" type="Camera3D" parent="CamPivot"]
transform = Transform3D(1, 0, 0, 0, 0.8412, 0.540725, 0, -0.540725, 0.8412, 0, 8.43682, 12.5768)
[node name="CamTarget" type="Marker3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.3933, 0)
[node name="Menu" parent="." instance=ExtResource("3_km8x0")]

19
new_menu_logiv.gd Normal file
View file

@ -0,0 +1,19 @@
extends Node3D
@export var cam_pivot : Node3D #rotate the camera around the room
@export var camera : Camera3D
@export var cam_target : Marker3D #camera should always look at this
var time : float = 0
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
time += delta
camera.position.y = sin(time/10) + 5
cam_pivot.rotation_degrees.y = time + 145
camera.look_at(cam_target.position)

1
new_menu_logiv.gd.uid Normal file
View file

@ -0,0 +1 @@
uid://2w2x1mwet61k

View file

@ -14,7 +14,6 @@ radius = 0.47
height = 1.9
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("camera", "raycast", "hand", "collider", "area", "interact_sound", "dash_node")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.83982, 0)
script = ExtResource("1_tc5d2")
camera = NodePath("Camera3D")
raycast = NodePath("Camera3D/RayCast3D")
@ -30,6 +29,7 @@ skeleton = NodePath("../..")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.621505, 0)
fov = 90.0
[node name="RayCast3D" type="RayCast3D" parent="Camera3D"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
@ -53,3 +53,4 @@ shape = SubResource("CapsuleShape3D_cfrhy")
[node name="interactSound" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_u5wue")
volume_db = -10.0
bus = &"SoundFX"

View file

@ -11,13 +11,19 @@ config_version=5
[application]
config/name="Chrono Chamber"
run/main_scene="res://menu.tscn"
config/version="1.1"
run/main_scene="uid://ckhb0hrwrg7w"
config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="res://Assets/Textures/cobalt_stone_4.png"
[autoload]
GameManager="*res://game_manager.tscn"
MusicManager="*res://Music/MusicManager.tscn"
[display]
window/stretch/mode="canvas_items"
[editor]

8
wire.tres Normal file
View file

@ -0,0 +1,8 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://1nhpk1anjh3y"]
[ext_resource type="Texture2D" uid="uid://cubqlybfo1q3r" path="res://Assets/Textures/rect_gray_0_old.png" id="1_kcvpj"]
[resource]
albedo_texture = ExtResource("1_kcvpj")
uv1_triplanar = true
texture_filter = 0