diff --git a/audio/interaction/approach_blob.wav b/audio/interaction/approach_blob.wav new file mode 100644 index 0000000..3574cf9 Binary files /dev/null and b/audio/interaction/approach_blob.wav differ diff --git a/audio/interaction/approach_blob.wav.import b/audio/interaction/approach_blob.wav.import new file mode 100644 index 0000000..b57c36e --- /dev/null +++ b/audio/interaction/approach_blob.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bkr3tfo0joswa" +path="res://.godot/imported/approach_blob.wav-48ef351c39fe46ac353ba7205681ae44.sample" + +[deps] + +source_file="res://audio/interaction/approach_blob.wav" +dest_files=["res://.godot/imported/approach_blob.wav-48ef351c39fe46ac353ba7205681ae44.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/interaction/click_button.wav b/audio/interaction/click_button.wav new file mode 100644 index 0000000..3568d3c Binary files /dev/null and b/audio/interaction/click_button.wav differ diff --git a/audio/interaction/click_button.wav.import b/audio/interaction/click_button.wav.import new file mode 100644 index 0000000..76b443e --- /dev/null +++ b/audio/interaction/click_button.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://drrlt22iyobmi" +path="res://.godot/imported/click_button.wav-ab85da9d0d4bf6a1bc0bf08af7232f15.sample" + +[deps] + +source_file="res://audio/interaction/click_button.wav" +dest_files=["res://.godot/imported/click_button.wav-ab85da9d0d4bf6a1bc0bf08af7232f15.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/interaction/gravity_switch.wav b/audio/interaction/gravity_switch.wav new file mode 100644 index 0000000..1801069 Binary files /dev/null and b/audio/interaction/gravity_switch.wav differ diff --git a/audio/interaction/gravity_switch.wav.import b/audio/interaction/gravity_switch.wav.import new file mode 100644 index 0000000..5ed7476 --- /dev/null +++ b/audio/interaction/gravity_switch.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cba1ao8plk6he" +path="res://.godot/imported/gravity_switch.wav-9fdcf6ad16cf63b077a4c80630d2e9c4.sample" + +[deps] + +source_file="res://audio/interaction/gravity_switch.wav" +dest_files=["res://.godot/imported/gravity_switch.wav-9fdcf6ad16cf63b077a4c80630d2e9c4.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/interaction/land_sound.wav b/audio/interaction/land_sound.wav new file mode 100644 index 0000000..8e6073a Binary files /dev/null and b/audio/interaction/land_sound.wav differ diff --git a/audio/interaction/land_sound.wav.import b/audio/interaction/land_sound.wav.import new file mode 100644 index 0000000..caf20f4 --- /dev/null +++ b/audio/interaction/land_sound.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c8sh0eyhxjbvr" +path="res://.godot/imported/land_sound.wav-46908f3a09ea724b34cd4e420894c2d1.sample" + +[deps] + +source_file="res://audio/interaction/land_sound.wav" +dest_files=["res://.godot/imported/land_sound.wav-46908f3a09ea724b34cd4e420894c2d1.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/interaction/start_game.wav b/audio/interaction/start_game.wav new file mode 100644 index 0000000..0f3278b Binary files /dev/null and b/audio/interaction/start_game.wav differ diff --git a/audio/interaction/start_game.wav.import b/audio/interaction/start_game.wav.import new file mode 100644 index 0000000..f7b8d37 --- /dev/null +++ b/audio/interaction/start_game.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://djnf2g5k4c5li" +path="res://.godot/imported/start_game.wav-e4927e30d2df9d80f7f5ea16120591ec.sample" + +[deps] + +source_file="res://audio/interaction/start_game.wav" +dest_files=["res://.godot/imported/start_game.wav-e4927e30d2df9d80f7f5ea16120591ec.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/interaction/win_sound.wav b/audio/interaction/win_sound.wav new file mode 100644 index 0000000..1eae963 Binary files /dev/null and b/audio/interaction/win_sound.wav differ diff --git a/audio/interaction/win_sound.wav.import b/audio/interaction/win_sound.wav.import new file mode 100644 index 0000000..6e2a381 --- /dev/null +++ b/audio/interaction/win_sound.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://4jvj33e2xt3" +path="res://.godot/imported/win_sound.wav-8a677887cff451eb943f9641e93a1534.sample" + +[deps] + +source_file="res://audio/interaction/win_sound.wav" +dest_files=["res://.godot/imported/win_sound.wav-8a677887cff451eb943f9641e93a1534.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/interaction/wind_howl.wav b/audio/interaction/wind_howl.wav new file mode 100644 index 0000000..3babf10 Binary files /dev/null and b/audio/interaction/wind_howl.wav differ diff --git a/audio/interaction/wind_howl.wav.import b/audio/interaction/wind_howl.wav.import new file mode 100644 index 0000000..a291240 --- /dev/null +++ b/audio/interaction/wind_howl.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bmtn3w6i3u5w5" +path="res://.godot/imported/wind_howl.wav-2637feb53efa5af11d978f60779ebe89.sample" + +[deps] + +source_file="res://audio/interaction/wind_howl.wav" +dest_files=["res://.godot/imported/wind_howl.wav-2637feb53efa5af11d978f60779ebe89.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/audio/music/ambient/Ambience.ogg b/audio/music/ambient/Ambience.ogg new file mode 100644 index 0000000..1f638fc Binary files /dev/null and b/audio/music/ambient/Ambience.ogg differ diff --git a/audio/music/ambient/Ambience.ogg.import b/audio/music/ambient/Ambience.ogg.import new file mode 100644 index 0000000..7c0390c --- /dev/null +++ b/audio/music/ambient/Ambience.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://4vcstw6emkmc" +path="res://.godot/imported/Ambience.ogg-fee45628fe03dc1924a17bcb9d99a1e0.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/Ambience.ogg" +dest_files=["res://.godot/imported/Ambience.ogg-fee45628fe03dc1924a17bcb9d99a1e0.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/Doubt.ogg b/audio/music/ambient/Doubt.ogg new file mode 100644 index 0000000..81fec88 Binary files /dev/null and b/audio/music/ambient/Doubt.ogg differ diff --git a/audio/music/ambient/Doubt.ogg.import b/audio/music/ambient/Doubt.ogg.import new file mode 100644 index 0000000..27e2b90 --- /dev/null +++ b/audio/music/ambient/Doubt.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://0xs64huiibat" +path="res://.godot/imported/Doubt.ogg-9b1cb2959d7f550fa86d318923bfe470.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/Doubt.ogg" +dest_files=["res://.godot/imported/Doubt.ogg-9b1cb2959d7f550fa86d318923bfe470.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/Wail.ogg b/audio/music/ambient/Wail.ogg new file mode 100644 index 0000000..f1b43e0 Binary files /dev/null and b/audio/music/ambient/Wail.ogg differ diff --git a/audio/music/ambient/Wail.ogg.import b/audio/music/ambient/Wail.ogg.import new file mode 100644 index 0000000..adc335e --- /dev/null +++ b/audio/music/ambient/Wail.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c85tw4oo4hphf" +path="res://.godot/imported/Wail.ogg-bf70c3753f5b0f8e2b5d85d2055527f5.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/Wail.ogg" +dest_files=["res://.godot/imported/Wail.ogg-bf70c3753f5b0f8e2b5d85d2055527f5.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/distant_world.ogg b/audio/music/ambient/distant_world.ogg new file mode 100644 index 0000000..394005a Binary files /dev/null and b/audio/music/ambient/distant_world.ogg differ diff --git a/audio/music/ambient/distant_world.ogg.import b/audio/music/ambient/distant_world.ogg.import new file mode 100644 index 0000000..218b8ec --- /dev/null +++ b/audio/music/ambient/distant_world.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://4m8yye7o7hvq" +path="res://.godot/imported/distant_world.ogg-d88ff5bb0291c150f4bd63c095f96d8b.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/distant_world.ogg" +dest_files=["res://.godot/imported/distant_world.ogg-d88ff5bb0291c150f4bd63c095f96d8b.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/fluttering_whispers.ogg b/audio/music/ambient/fluttering_whispers.ogg new file mode 100644 index 0000000..488cf45 Binary files /dev/null and b/audio/music/ambient/fluttering_whispers.ogg differ diff --git a/audio/music/ambient/fluttering_whispers.ogg.import b/audio/music/ambient/fluttering_whispers.ogg.import new file mode 100644 index 0000000..4672035 --- /dev/null +++ b/audio/music/ambient/fluttering_whispers.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dryecf68wxpup" +path="res://.godot/imported/fluttering_whispers.ogg-38185cbae12b31f83cda3f304bcbbcbc.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/fluttering_whispers.ogg" +dest_files=["res://.godot/imported/fluttering_whispers.ogg-38185cbae12b31f83cda3f304bcbbcbc.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/in_harmony.ogg b/audio/music/ambient/in_harmony.ogg new file mode 100644 index 0000000..9b47ffb Binary files /dev/null and b/audio/music/ambient/in_harmony.ogg differ diff --git a/audio/music/ambient/in_harmony.ogg.import b/audio/music/ambient/in_harmony.ogg.import new file mode 100644 index 0000000..7c23c91 --- /dev/null +++ b/audio/music/ambient/in_harmony.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://5jvuayc73gp0" +path="res://.godot/imported/in_harmony.ogg-9cf35a69ad3eb4bbd566c07028ec6b51.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/in_harmony.ogg" +dest_files=["res://.godot/imported/in_harmony.ogg-9cf35a69ad3eb4bbd566c07028ec6b51.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/lost_in_the_dark.ogg b/audio/music/ambient/lost_in_the_dark.ogg new file mode 100644 index 0000000..3005d81 Binary files /dev/null and b/audio/music/ambient/lost_in_the_dark.ogg differ diff --git a/audio/music/ambient/lost_in_the_dark.ogg.import b/audio/music/ambient/lost_in_the_dark.ogg.import new file mode 100644 index 0000000..2ca2fd6 --- /dev/null +++ b/audio/music/ambient/lost_in_the_dark.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://wq7ert7yw5vo" +path="res://.godot/imported/lost_in_the_dark.ogg-7124830ee77683d583d2181072f7fc5f.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/lost_in_the_dark.ogg" +dest_files=["res://.godot/imported/lost_in_the_dark.ogg-7124830ee77683d583d2181072f7fc5f.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/music_unknown_link.ogg b/audio/music/ambient/music_unknown_link.ogg new file mode 100644 index 0000000..dc9dbd9 Binary files /dev/null and b/audio/music/ambient/music_unknown_link.ogg differ diff --git a/audio/music/ambient/music_unknown_link.ogg.import b/audio/music/ambient/music_unknown_link.ogg.import new file mode 100644 index 0000000..0ca0dd5 --- /dev/null +++ b/audio/music/ambient/music_unknown_link.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dd6u61nirutwf" +path="res://.godot/imported/music_unknown_link.ogg-b27063024188b69cfecc038ebf6d3e5c.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/music_unknown_link.ogg" +dest_files=["res://.godot/imported/music_unknown_link.ogg-b27063024188b69cfecc038ebf6d3e5c.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/music_voices.ogg b/audio/music/ambient/music_voices.ogg new file mode 100644 index 0000000..e3b6ece Binary files /dev/null and b/audio/music/ambient/music_voices.ogg differ diff --git a/audio/music/ambient/music_voices.ogg.import b/audio/music/ambient/music_voices.ogg.import new file mode 100644 index 0000000..374e961 --- /dev/null +++ b/audio/music/ambient/music_voices.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cb76y6yx25jm7" +path="res://.godot/imported/music_voices.ogg-16282ecc2771336ae473d723a5fb7a80.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/music_voices.ogg" +dest_files=["res://.godot/imported/music_voices.ogg-16282ecc2771336ae473d723a5fb7a80.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/realise.ogg b/audio/music/ambient/realise.ogg new file mode 100644 index 0000000..ed18b89 Binary files /dev/null and b/audio/music/ambient/realise.ogg differ diff --git a/audio/music/ambient/realise.ogg.import b/audio/music/ambient/realise.ogg.import new file mode 100644 index 0000000..3bf01c7 --- /dev/null +++ b/audio/music/ambient/realise.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c75hl84kfmbo5" +path="res://.godot/imported/realise.ogg-3a1ddda30ef665a8fdfa6f3b993006ba.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/realise.ogg" +dest_files=["res://.godot/imported/realise.ogg-3a1ddda30ef665a8fdfa6f3b993006ba.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/resonating_walls.ogg b/audio/music/ambient/resonating_walls.ogg new file mode 100644 index 0000000..a7a29cc Binary files /dev/null and b/audio/music/ambient/resonating_walls.ogg differ diff --git a/audio/music/ambient/resonating_walls.ogg.import b/audio/music/ambient/resonating_walls.ogg.import new file mode 100644 index 0000000..701f598 --- /dev/null +++ b/audio/music/ambient/resonating_walls.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c3lft8vfb1kwm" +path="res://.godot/imported/resonating_walls.ogg-fdb171e46162731c02b60ff91e8f175e.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/resonating_walls.ogg" +dest_files=["res://.godot/imported/resonating_walls.ogg-fdb171e46162731c02b60ff91e8f175e.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/ambient/timeless.ogg b/audio/music/ambient/timeless.ogg new file mode 100644 index 0000000..b0a4aa7 Binary files /dev/null and b/audio/music/ambient/timeless.ogg differ diff --git a/audio/music/ambient/timeless.ogg.import b/audio/music/ambient/timeless.ogg.import new file mode 100644 index 0000000..1f487dd --- /dev/null +++ b/audio/music/ambient/timeless.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://btk0mdu2m7b1a" +path="res://.godot/imported/timeless.ogg-364c9ac35d0440afcc64f6212a5cd2ca.oggvorbisstr" + +[deps] + +source_file="res://audio/music/ambient/timeless.ogg" +dest_files=["res://.godot/imported/timeless.ogg-364c9ac35d0440afcc64f6212a5cd2ca.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/music_engine.gd b/audio/music/music_engine.gd new file mode 100644 index 0000000..d322db3 --- /dev/null +++ b/audio/music/music_engine.gd @@ -0,0 +1,34 @@ +extends AudioStreamPlayer + +@export var ambient: Array[AudioStream] +@export var songs: Array[AudioStream] + +# How many more until a song is played? +var song = 1 + +# Called when the node enters the scene tree for the first time. +func _ready(): + randomize() + ambient.shuffle() + songs.shuffle() + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + # Get the next song + if !playing: + var new_song + # Play a song or a ambient! + if song == 0: + # Next one won't be a song! + song = randi_range(1, 3) + songs.push_back(songs[0]) + new_song = songs.pop_front() + else: + ambient.push_back(ambient[0]) + new_song = ambient.pop_front() + song -= 1 + stream = new_song + print("Playing: " + new_song.resource_path.get_file().get_basename()) + play() + diff --git a/audio/music/music_engine.tscn b/audio/music/music_engine.tscn new file mode 100644 index 0000000..b47cf99 --- /dev/null +++ b/audio/music/music_engine.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=21 format=3 uid="uid://bkgacevpcgbtj"] + +[ext_resource type="Script" path="res://audio/music/music_engine.gd" id="2_a0uoy"] +[ext_resource type="AudioStream" uid="uid://4vcstw6emkmc" path="res://audio/music/ambient/Ambience.ogg" id="2_bcnt1"] +[ext_resource type="AudioStream" uid="uid://4m8yye7o7hvq" path="res://audio/music/ambient/distant_world.ogg" id="3_ppjkc"] +[ext_resource type="AudioStream" uid="uid://0xs64huiibat" path="res://audio/music/ambient/Doubt.ogg" id="4_g7tqm"] +[ext_resource type="AudioStream" uid="uid://dryecf68wxpup" path="res://audio/music/ambient/fluttering_whispers.ogg" id="5_cj4fw"] +[ext_resource type="AudioStream" uid="uid://5jvuayc73gp0" path="res://audio/music/ambient/in_harmony.ogg" id="6_kko2r"] +[ext_resource type="AudioStream" uid="uid://wq7ert7yw5vo" path="res://audio/music/ambient/lost_in_the_dark.ogg" id="7_63bjs"] +[ext_resource type="AudioStream" uid="uid://dd6u61nirutwf" path="res://audio/music/ambient/music_unknown_link.ogg" id="8_8hf2e"] +[ext_resource type="AudioStream" uid="uid://cb76y6yx25jm7" path="res://audio/music/ambient/music_voices.ogg" id="9_gybu6"] +[ext_resource type="AudioStream" uid="uid://c75hl84kfmbo5" path="res://audio/music/ambient/realise.ogg" id="10_snbb2"] +[ext_resource type="AudioStream" uid="uid://c3lft8vfb1kwm" path="res://audio/music/ambient/resonating_walls.ogg" id="11_px5ts"] +[ext_resource type="AudioStream" uid="uid://btk0mdu2m7b1a" path="res://audio/music/ambient/timeless.ogg" id="12_w3i8n"] +[ext_resource type="AudioStream" uid="uid://c85tw4oo4hphf" path="res://audio/music/ambient/Wail.ogg" id="13_2cwji"] +[ext_resource type="AudioStream" uid="uid://datenoqw0eofb" path="res://audio/music/songs/ARP.ogg" id="14_hny16"] +[ext_resource type="AudioStream" uid="uid://c27f3br1aix8e" path="res://audio/music/songs/box.ogg" id="15_hhnsf"] +[ext_resource type="AudioStream" uid="uid://kj0tjthsr7jn" path="res://audio/music/songs/Fear.ogg" id="16_876iw"] +[ext_resource type="AudioStream" uid="uid://ccubac1wnt73p" path="res://audio/music/songs/HIRAETH.ogg" id="17_1woym"] +[ext_resource type="AudioStream" uid="uid://dxnojbdljk7jt" path="res://audio/music/songs/Illusion.ogg" id="18_igvvp"] +[ext_resource type="AudioStream" uid="uid://cfcerv5ojt35v" path="res://audio/music/songs/Tunnel.ogg" id="19_u4ehr"] +[ext_resource type="AudioStream" uid="uid://c52a1djp02soy" path="res://audio/music/songs/Void.ogg" id="20_og4vu"] + +[node name="music_engine" type="Node"] + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +script = ExtResource("2_a0uoy") +ambient = Array[AudioStream]([ExtResource("2_bcnt1"), ExtResource("3_ppjkc"), ExtResource("4_g7tqm"), ExtResource("5_cj4fw"), ExtResource("6_kko2r"), ExtResource("7_63bjs"), ExtResource("8_8hf2e"), ExtResource("9_gybu6"), ExtResource("10_snbb2"), ExtResource("11_px5ts"), ExtResource("12_w3i8n"), ExtResource("13_2cwji")]) +songs = Array[AudioStream]([ExtResource("14_hny16"), ExtResource("15_hhnsf"), ExtResource("16_876iw"), ExtResource("17_1woym"), ExtResource("18_igvvp"), ExtResource("19_u4ehr"), ExtResource("20_og4vu")]) diff --git a/audio/music/songs/ARP.ogg b/audio/music/songs/ARP.ogg new file mode 100644 index 0000000..48e7734 Binary files /dev/null and b/audio/music/songs/ARP.ogg differ diff --git a/audio/music/songs/ARP.ogg.import b/audio/music/songs/ARP.ogg.import new file mode 100644 index 0000000..3484887 --- /dev/null +++ b/audio/music/songs/ARP.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://datenoqw0eofb" +path="res://.godot/imported/ARP.ogg-81211194c2c92667259b73e8ca4f866b.oggvorbisstr" + +[deps] + +source_file="res://audio/music/songs/ARP.ogg" +dest_files=["res://.godot/imported/ARP.ogg-81211194c2c92667259b73e8ca4f866b.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/songs/Fear.ogg b/audio/music/songs/Fear.ogg new file mode 100644 index 0000000..1227f8c Binary files /dev/null and b/audio/music/songs/Fear.ogg differ diff --git a/audio/music/songs/Fear.ogg.import b/audio/music/songs/Fear.ogg.import new file mode 100644 index 0000000..1b831be --- /dev/null +++ b/audio/music/songs/Fear.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://kj0tjthsr7jn" +path="res://.godot/imported/Fear.ogg-b17d61f3c5a32ccc0ba8c88f1f935009.oggvorbisstr" + +[deps] + +source_file="res://audio/music/songs/Fear.ogg" +dest_files=["res://.godot/imported/Fear.ogg-b17d61f3c5a32ccc0ba8c88f1f935009.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/songs/HIRAETH.ogg b/audio/music/songs/HIRAETH.ogg new file mode 100644 index 0000000..b6e5732 Binary files /dev/null and b/audio/music/songs/HIRAETH.ogg differ diff --git a/audio/music/songs/HIRAETH.ogg.import b/audio/music/songs/HIRAETH.ogg.import new file mode 100644 index 0000000..e9b7831 --- /dev/null +++ b/audio/music/songs/HIRAETH.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ccubac1wnt73p" +path="res://.godot/imported/HIRAETH.ogg-02616476d742b080bcbbb081ae8e6775.oggvorbisstr" + +[deps] + +source_file="res://audio/music/songs/HIRAETH.ogg" +dest_files=["res://.godot/imported/HIRAETH.ogg-02616476d742b080bcbbb081ae8e6775.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/songs/Illusion.ogg b/audio/music/songs/Illusion.ogg new file mode 100644 index 0000000..a5ca504 Binary files /dev/null and b/audio/music/songs/Illusion.ogg differ diff --git a/audio/music/songs/Illusion.ogg.import b/audio/music/songs/Illusion.ogg.import new file mode 100644 index 0000000..fa22d2c --- /dev/null +++ b/audio/music/songs/Illusion.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dxnojbdljk7jt" +path="res://.godot/imported/Illusion.ogg-42beb7fa2ec318914f8fde7accfd3c26.oggvorbisstr" + +[deps] + +source_file="res://audio/music/songs/Illusion.ogg" +dest_files=["res://.godot/imported/Illusion.ogg-42beb7fa2ec318914f8fde7accfd3c26.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/songs/Tunnel.ogg b/audio/music/songs/Tunnel.ogg new file mode 100644 index 0000000..13c680c Binary files /dev/null and b/audio/music/songs/Tunnel.ogg differ diff --git a/audio/music/songs/Tunnel.ogg.import b/audio/music/songs/Tunnel.ogg.import new file mode 100644 index 0000000..9299dd9 --- /dev/null +++ b/audio/music/songs/Tunnel.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cfcerv5ojt35v" +path="res://.godot/imported/Tunnel.ogg-02f360868b24f6da0945a6cb3000793a.oggvorbisstr" + +[deps] + +source_file="res://audio/music/songs/Tunnel.ogg" +dest_files=["res://.godot/imported/Tunnel.ogg-02f360868b24f6da0945a6cb3000793a.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/songs/Void.ogg b/audio/music/songs/Void.ogg new file mode 100644 index 0000000..c246ef9 Binary files /dev/null and b/audio/music/songs/Void.ogg differ diff --git a/audio/music/songs/Void.ogg.import b/audio/music/songs/Void.ogg.import new file mode 100644 index 0000000..9569589 --- /dev/null +++ b/audio/music/songs/Void.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c52a1djp02soy" +path="res://.godot/imported/Void.ogg-56a98dbe00c8bc1b2bf7d08b9d5aaa42.oggvorbisstr" + +[deps] + +source_file="res://audio/music/songs/Void.ogg" +dest_files=["res://.godot/imported/Void.ogg-56a98dbe00c8bc1b2bf7d08b9d5aaa42.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/audio/music/songs/box.ogg b/audio/music/songs/box.ogg new file mode 100644 index 0000000..32c278a Binary files /dev/null and b/audio/music/songs/box.ogg differ diff --git a/audio/music/songs/box.ogg.import b/audio/music/songs/box.ogg.import new file mode 100644 index 0000000..771c085 --- /dev/null +++ b/audio/music/songs/box.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c27f3br1aix8e" +path="res://.godot/imported/box.ogg-1f9450464358d21cd1ff4a3574ad7480.oggvorbisstr" + +[deps] + +source_file="res://audio/music/songs/box.ogg" +dest_files=["res://.godot/imported/box.ogg-1f9450464358d21cd1ff4a3574ad7480.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/cubes/cube.blend b/cubes/cube.blend new file mode 100644 index 0000000..79cd1c1 Binary files /dev/null and b/cubes/cube.blend differ diff --git a/cubes/cube.blend.import b/cubes/cube.blend.import new file mode 100644 index 0000000..59b3201 --- /dev/null +++ b/cubes/cube.blend.import @@ -0,0 +1,65 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dtt8ve3lnqbg4" +path="res://.godot/imported/cube.blend-cf05925e6478e2de7a8f8d425cfcdf25.scn" + +[deps] + +source_file="res://cubes/cube.blend" +dest_files=["res://.godot/imported/cube.blend-cf05925e6478e2de7a8f8d425cfcdf25.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={ +"materials": { +"Center Emission": { +"use_external/enabled": true, +"use_external/path": "res://primitives/pallet/blue_glow.tres" +}, +"Main Emission": { +"use_external/enabled": true, +"use_external/path": "res://primitives/pallet/white_glow.tres" +}, +"Metal": { +"use_external/enabled": true, +"use_external/path": "res://player/player_metal.tres" +} +} +} +gltf/naming_version=1 +gltf/embedded_image_handling=1 +blender/nodes/visible=0 +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/cubes/cube_blue.tscn b/cubes/cube_blue.tscn new file mode 100644 index 0000000..61fe488 --- /dev/null +++ b/cubes/cube_blue.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=3 uid="uid://vvq7jugpnvia"] + +[ext_resource type="PhysicsMaterial" uid="uid://clyaty70wifjj" path="res://cubes/cube_physics.tres" id="1_4p4wg"] +[ext_resource type="PackedScene" uid="uid://dtt8ve3lnqbg4" path="res://cubes/cube.blend" id="2_73wg6"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_a4su7"] +size = Vector3(3, 3, 3) + +[node name="CubeBlue" type="RigidBody3D"] +mass = 0.25 +physics_material_override = ExtResource("1_4p4wg") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("BoxShape3D_a4su7") + +[node name="cube" parent="." instance=ExtResource("2_73wg6")] +transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0) diff --git a/cubes/cube_physics.tres b/cubes/cube_physics.tres new file mode 100644 index 0000000..d725080 --- /dev/null +++ b/cubes/cube_physics.tres @@ -0,0 +1,5 @@ +[gd_resource type="PhysicsMaterial" format=3 uid="uid://clyaty70wifjj"] + +[resource] +friction = 0.32 +absorbent = true diff --git a/cubes/patriotic_cube.blend b/cubes/patriotic_cube.blend new file mode 100644 index 0000000..4cb5695 Binary files /dev/null and b/cubes/patriotic_cube.blend differ diff --git a/cubes/patriotic_cube.blend.import b/cubes/patriotic_cube.blend.import new file mode 100644 index 0000000..37e5311 --- /dev/null +++ b/cubes/patriotic_cube.blend.import @@ -0,0 +1,50 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://dssxjlgkpcdxj" +path="res://.godot/imported/patriotic_cube.blend-cb537c25deac3a122ddb62247ed3887f.scn" + +[deps] + +source_file="res://cubes/patriotic_cube.blend" +dest_files=["res://.godot/imported/patriotic_cube.blend-cb537c25deac3a122ddb62247ed3887f.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 +blender/nodes/visible=0 +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/globals.gd b/globals.gd index cbd55db..41e058b 100644 --- a/globals.gd +++ b/globals.gd @@ -2,6 +2,8 @@ extends Node var global_down = Vector3(0,0,0) var sensitivity = 0.004 +var fov = 75 + func _ready(): set_global_down(Vector3(0,-1,0)) @@ -11,3 +13,10 @@ func set_global_down(newDown: Vector3): if global_down.dot(Vector3.UP) == 1 || global_down.dot(Vector3.DOWN) == 1: # Applies jitter global_down += Vector3(0.01,0,0) + +# REMINDER: +# Layer 1 : everything +# Layer 2 : reflection probe +# Layer 3 : player +# Layer 4 : activate button +# Layer 5 : non-player killable diff --git a/objectives/objective.blend b/objectives/objective.blend new file mode 100644 index 0000000..6493d3b Binary files /dev/null and b/objectives/objective.blend differ diff --git a/objectives/objective.blend.import b/objectives/objective.blend.import new file mode 100644 index 0000000..7414468 --- /dev/null +++ b/objectives/objective.blend.import @@ -0,0 +1,57 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://doqy71l4kjsed" +path="res://.godot/imported/objective.blend-103faa7e9b2a5ec9fb55d2bbff1bdf7e.scn" + +[deps] + +source_file="res://objectives/objective.blend" +dest_files=["res://.godot/imported/objective.blend-103faa7e9b2a5ec9fb55d2bbff1bdf7e.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={ +"materials": { +"Material.001": { +"use_external/enabled": true, +"use_external/path": "res://primitives/pallet/blue_glow.tres" +} +} +} +gltf/naming_version=1 +gltf/embedded_image_handling=1 +blender/nodes/visible=0 +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/objectives/objective.blend1 b/objectives/objective.blend1 new file mode 100644 index 0000000..20a6e0a Binary files /dev/null and b/objectives/objective.blend1 differ diff --git a/objectives/objective.gd b/objectives/objective.gd new file mode 100644 index 0000000..c529948 --- /dev/null +++ b/objectives/objective.gd @@ -0,0 +1,14 @@ +extends Area3D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + body_entered.connect(_on_area_entered) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func _on_area_entered(body : Node3D) -> void: + body.changing_scene = true diff --git a/objectives/objective.tscn b/objectives/objective.tscn new file mode 100644 index 0000000..713556f --- /dev/null +++ b/objectives/objective.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=5 format=3 uid="uid://tdcxcrg6ktpl"] + +[ext_resource type="Script" path="res://objectives/objective.gd" id="1_2k32s"] +[ext_resource type="Script" path="res://objectives/objective_animate.gd" id="1_rh0l1"] +[ext_resource type="PackedScene" uid="uid://doqy71l4kjsed" path="res://objectives/objective.blend" id="2_1v3lb"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_prgnm"] +size = Vector3(3, 3, 3) + +[node name="objective" type="Area3D"] +collision_mask = 4 +gravity_point_center = Vector3(0, 100, 0) +gravity_direction = Vector3(0, 100, 0) +linear_damp_space_override = 3 +linear_damp = 10.0 +script = ExtResource("1_2k32s") + +[node name="collisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("BoxShape3D_prgnm") + +[node name="objective_model" parent="." instance=ExtResource("2_1v3lb")] +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0) +script = ExtResource("1_rh0l1") diff --git a/objectives/objective_animate.gd b/objectives/objective_animate.gd new file mode 100644 index 0000000..ddf6e8e --- /dev/null +++ b/objectives/objective_animate.gd @@ -0,0 +1,12 @@ +extends Node3D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + if (!$AnimationPlayer.is_playing()): + $AnimationPlayer.play("ArmatureAction") diff --git a/player/player_metal.tres b/player/player_metal.tres new file mode 100644 index 0000000..fb77bb8 --- /dev/null +++ b/player/player_metal.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://dwo5pxk8yx5ic"] + +[resource] +albedo_color = Color(0.400698, 0.400698, 0.400698, 1) +metallic = 0.55 +roughness = 0.25 diff --git a/player/player_model.blend b/player/player_model.blend index 9a73698..e0adcbb 100644 Binary files a/player/player_model.blend and b/player/player_model.blend differ diff --git a/player/player_model.blend.import b/player/player_model.blend.import index 8ecf8d7..2f8c759 100644 --- a/player/player_model.blend.import +++ b/player/player_model.blend.import @@ -29,7 +29,18 @@ animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true import_script/path="" -_subresources={} +_subresources={ +"materials": { +"Emit": { +"use_external/enabled": true, +"use_external/path": "res://primitives/pallet/blue_glow.tres" +}, +"Metal": { +"use_external/enabled": true, +"use_external/path": "res://player/player_metal.tres" +} +} +} gltf/naming_version=1 gltf/embedded_image_handling=1 blender/nodes/visible=0 diff --git a/player/player_model.blend1 b/player/player_model.blend1 index da0d36b..6e8dae3 100644 Binary files a/player/player_model.blend1 and b/player/player_model.blend1 differ diff --git a/player/player_moves.gd b/player/player_moves.gd index 685473f..a7b063d 100644 --- a/player/player_moves.gd +++ b/player/player_moves.gd @@ -6,11 +6,13 @@ var mouse_input = Vector2(0,0) var raw_mouse_input = Vector2(0,0) var alpha = 10 +# Override for fox +var changing_scene = false # Called when the node enters the scene tree for the first time. func _ready(): - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - + #Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + pass # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): @@ -40,6 +42,14 @@ func _process(delta): move_input.x = Input.get_axis("forward", "backwards") move_input.y = -Input.get_axis("right", "left") + # Funky FOV thing + if (!changing_scene): + $level/gimbal_y/gimbal_x/stick/camera.fov = $level/gimbal_y/gimbal_x/stick/camera.fov * exp(-2 * delta) + Globals.fov * (1.0 - exp(-2 * delta)) + else: + if $level/gimbal_y/gimbal_x/stick/camera.fov > 175: + print ("Changing level!") + $level/gimbal_y/gimbal_x/stick/camera.fov = $level/gimbal_y/gimbal_x/stick/camera.fov * exp(-2 * delta) + 180 * (1.0 - exp(-2 * delta)) + # Rotates the camera $level/gimbal_y.rotate_z(-mouse_input.x) $level/gimbal_y/gimbal_x.rotate_x(-mouse_input.y) @@ -67,7 +77,7 @@ func _process(delta): apply_central_force(Quaternion.from_euler($level/gimbal_y.global_rotation) * (Vector3(move_input.y, -move_input.x, 0) * 300.0 * delta)) # Is the break key pressed? - if Input.get_action_strength("alternate") > 0.0 && move_input == Vector3(0,0,0): + if Input.get_action_strength("alternate") > 0.0 && move_input == Vector3(0,0,0) && airtime < 0.0: # Velocity becomes up/down linear_velocity = Globals.global_down * Globals.global_down.dot(linear_velocity) diff --git a/player/player_node.tscn b/player/player_node.tscn index 98f9ea5..da40e5b 100644 --- a/player/player_node.tscn +++ b/player/player_node.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=8 format=3 uid="uid://pyhlicd4a0ec"] +[gd_scene load_steps=9 format=3 uid="uid://pyhlicd4a0ec"] [ext_resource type="Script" path="res://player/player_moves.gd" id="1_2ps78"] -[ext_resource type="PackedScene" uid="uid://b63mupr1u2nq0" path="res://player/player_model.blend" id="1_uh731"] +[ext_resource type="PackedScene" uid="uid://b63mupr1u2nq0" path="res://player/player_model.blend" id="2_m2571"] [ext_resource type="Script" path="res://player/seek_level.gd" id="3_yfi6d"] +[ext_resource type="Texture2D" uid="uid://bqob1me602loa" path="res://primitives/icons/hitbox0.png" id="4_fuh05"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_s88nq"] friction = 7.0 @@ -22,6 +23,7 @@ radius = 0.1 height = 2.787 [node name="player" type="RigidBody3D"] +collision_layer = 5 physics_material_override = SubResource("PhysicsMaterial_s88nq") gravity_scale = 0.0 angular_damp = 6.0 @@ -30,15 +32,13 @@ script = ExtResource("1_2ps78") [node name="collider" type="CollisionShape3D" parent="."] shape = SubResource("SphereShape3D_qx3du") -[node name="player_model" parent="." instance=ExtResource("1_uh731")] -transform = Transform3D(0.85, 0, 0, 0, 0.85, 0, 0, 0, 0.85, 0, 0, 0) +[node name="player_model" parent="." instance=ExtResource("2_m2571")] [node name="grounded" type="RayCast3D" parent="."] top_level = true target_position = Vector3(0, -1.1, 0) [node name="level" type="Node3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) top_level = true script = ExtResource("3_yfi6d") @@ -51,6 +51,11 @@ script = SubResource("GDScript_pbl37") [node name="camera" type="Camera3D" parent="level/gimbal_y/gimbal_x/stick"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 14.3224) +fov = 1.0 + +[node name="Sprite3D" type="Sprite3D" parent="level/gimbal_y/gimbal_x/stick/camera"] +transform = Transform3D(0.001, 0, 0, 0, 0.001, 0, 0, 0, 0.001, 0, 0, -0.306273) +texture = ExtResource("4_fuh05") [node name="MeshInstance3D" type="MeshInstance3D" parent="level"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) diff --git a/player_model.blend1 b/player_model.blend1 deleted file mode 100644 index 637b787..0000000 Binary files a/player_model.blend1 and /dev/null differ diff --git a/primitives/icons/hitbox0.png b/primitives/icons/hitbox0.png new file mode 100644 index 0000000..b4f30e5 Binary files /dev/null and b/primitives/icons/hitbox0.png differ diff --git a/primitives/icons/hitbox0.png.import b/primitives/icons/hitbox0.png.import new file mode 100644 index 0000000..c405560 --- /dev/null +++ b/primitives/icons/hitbox0.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqob1me602loa" +path.s3tc="res://.godot/imported/hitbox0.png-47d8670bda51f66e7c6ea1e8a7f86c9a.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://primitives/icons/hitbox0.png" +dest_files=["res://.godot/imported/hitbox0.png-47d8670bda51f66e7c6ea1e8a7f86c9a.s3tc.ctex"] + +[params] + +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=true +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/primitives/icons/hitbox1.png b/primitives/icons/hitbox1.png new file mode 100644 index 0000000..435dfb3 Binary files /dev/null and b/primitives/icons/hitbox1.png differ diff --git a/primitives/icons/hitbox1.png.import b/primitives/icons/hitbox1.png.import new file mode 100644 index 0000000..e3155e3 --- /dev/null +++ b/primitives/icons/hitbox1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lkjnqmyp471w" +path="res://.godot/imported/hitbox1.png-7aac958939bf31db2bbe09e71a70fe12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://primitives/icons/hitbox1.png" +dest_files=["res://.godot/imported/hitbox1.png-7aac958939bf31db2bbe09e71a70fe12.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 diff --git a/primitives/icons/hitbox3.png b/primitives/icons/hitbox3.png new file mode 100644 index 0000000..e03bad7 Binary files /dev/null and b/primitives/icons/hitbox3.png differ diff --git a/primitives/icons/hitbox3.png.import b/primitives/icons/hitbox3.png.import new file mode 100644 index 0000000..62e812a --- /dev/null +++ b/primitives/icons/hitbox3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwv866wxa0nqa" +path="res://.godot/imported/hitbox3.png-dd92880aaec075eb90869167ad6770c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://primitives/icons/hitbox3.png" +dest_files=["res://.godot/imported/hitbox3.png-dd92880aaec075eb90869167ad6770c7.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 diff --git a/primitives/icons/hitbox4.png b/primitives/icons/hitbox4.png new file mode 100644 index 0000000..4702bc4 Binary files /dev/null and b/primitives/icons/hitbox4.png differ diff --git a/primitives/icons/hitbox4.png.import b/primitives/icons/hitbox4.png.import new file mode 100644 index 0000000..d7f8b3b --- /dev/null +++ b/primitives/icons/hitbox4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0tpj2abk03a5" +path="res://.godot/imported/hitbox4.png-dafc75a4ca124d6f166fd22ebf8c1e9e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://primitives/icons/hitbox4.png" +dest_files=["res://.godot/imported/hitbox4.png-dafc75a4ca124d6f166fd22ebf8c1e9e.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 diff --git a/primitives/pallet/blue_glow.tres b/primitives/pallet/blue_glow.tres new file mode 100644 index 0000000..f1d9f91 --- /dev/null +++ b/primitives/pallet/blue_glow.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://dgqw063dm4aom"] + +[resource] +emission_enabled = true +emission = Color(0.195485, 0.661426, 0.85335, 1) +emission_energy_multiplier = 2.48 diff --git a/primitives/pallet/white_glow.tres b/primitives/pallet/white_glow.tres new file mode 100644 index 0000000..dcb9620 --- /dev/null +++ b/primitives/pallet/white_glow.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://bj6l2hglpukfn"] + +[resource] +emission_enabled = true +emission = Color(1, 1, 1, 1) +emission_energy_multiplier = 2.48 diff --git a/project.godot b/project.godot index 4ca2894..7eeebd9 100644 --- a/project.godot +++ b/project.godot @@ -19,8 +19,25 @@ config/icon="res://icon.svg" Globals="*res://globals.gd" +[display] + +window/size/viewport_width=1280 +window/size/viewport_height=720 + [input] +ui_accept={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +ui_select={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":3,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} left={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) diff --git a/rooms/blue/room_blue_floor.tscn b/rooms/blue/room_blue_floor.tscn index df1a2c5..56461e0 100644 --- a/rooms/blue/room_blue_floor.tscn +++ b/rooms/blue/room_blue_floor.tscn @@ -133,4 +133,4 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, light_energy = 0.01 [node name="skybox" parent="." instance=ExtResource("4_debn2")] -transform = Transform3D(400, 0, 0, 0, 400, 0, 0, 0, 400, 0, 0, 0) +transform = Transform3D(800, 0, 0, 0, 800, 0, 0, 0, 800, 0, 0, 0) diff --git a/rooms/yellow/room_yellow_floor.tscn b/rooms/yellow/room_yellow_floor.tscn index 593a6b5..833ac93 100644 --- a/rooms/yellow/room_yellow_floor.tscn +++ b/rooms/yellow/room_yellow_floor.tscn @@ -184,4 +184,4 @@ ambient_color = Color(0.873298, 0.873298, 0.873298, 1) ambient_color_energy = 11.43 [node name="skybox" parent="." instance=ExtResource("3_75x0b")] -transform = Transform3D(400, 0, 0, 0, 400, 0, 0, 0, 400, 0, 0, 0) +transform = Transform3D(800, 0, 0, 0, 800, 0, 0, 0, 800, 0, 0, 0) diff --git a/testscene.tscn b/testscene.tscn index 2fd7d63..2859b88 100644 --- a/testscene.tscn +++ b/testscene.tscn @@ -1,8 +1,12 @@ -[gd_scene load_steps=7 format=3 uid="uid://dosqj5u034nai"] +[gd_scene load_steps=11 format=3 uid="uid://dosqj5u034nai"] [ext_resource type="PackedScene" uid="uid://pyhlicd4a0ec" path="res://player/player_node.tscn" id="1_6ggf4"] [ext_resource type="PackedScene" uid="uid://bjs6r15h7ge62" path="res://rooms/yellow/room_yellow_floor.tscn" id="3_1isy3"] [ext_resource type="PackedScene" uid="uid://ccbxd6724rlfj" path="res://rooms/blue/room_blue_floor.tscn" id="3_ql6ir"] +[ext_resource type="PackedScene" uid="uid://5pnqeh3rmtel" path="res://ui/main_menu.tscn" id="4_7iuiw"] +[ext_resource type="PackedScene" uid="uid://tdcxcrg6ktpl" path="res://objectives/objective.tscn" id="5_r66y3"] +[ext_resource type="PackedScene" uid="uid://bkgacevpcgbtj" path="res://audio/music/music_engine.tscn" id="6_8a4j4"] +[ext_resource type="PackedScene" uid="uid://vvq7jugpnvia" path="res://cubes/cube_blue.tscn" id="7_32muf"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_8njux"] friction = 0.22 @@ -37,3 +41,13 @@ shape = SubResource("ConvexPolygonShape3D_3iv3b") [node name="StaticBody3D" parent="." instance=ExtResource("3_1isy3")] visible = false + +[node name="objective" parent="." instance=ExtResource("5_r66y3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.1414, -48.7976, 15.7991) + +[node name="main_menu" parent="." instance=ExtResource("4_7iuiw")] + +[node name="music_engine" parent="." instance=ExtResource("6_8a4j4")] + +[node name="CubeBlue" parent="." instance=ExtResource("7_32muf")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.45309, -50, -23.9409) diff --git a/ui/button_blue.png b/ui/button_blue.png new file mode 100644 index 0000000..262be8f Binary files /dev/null and b/ui/button_blue.png differ diff --git a/ui/button_blue.png.import b/ui/button_blue.png.import new file mode 100644 index 0000000..f0c7167 --- /dev/null +++ b/ui/button_blue.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbedstsfprrpe" +path="res://.godot/imported/button_blue.png-160da9368312746ab7c75985e95b1248.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/button_blue.png" +dest_files=["res://.godot/imported/button_blue.png-160da9368312746ab7c75985e95b1248.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 diff --git a/ui/button_exit.gd b/ui/button_exit.gd new file mode 100644 index 0000000..40b2cea --- /dev/null +++ b/ui/button_exit.gd @@ -0,0 +1,11 @@ +extends TextureButton + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pressed.connect(self._button_pressed) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _button_pressed(): + get_tree().quit() diff --git a/ui/button_gray.png b/ui/button_gray.png new file mode 100644 index 0000000..613c4ec Binary files /dev/null and b/ui/button_gray.png differ diff --git a/ui/button_gray.png.import b/ui/button_gray.png.import new file mode 100644 index 0000000..3a99002 --- /dev/null +++ b/ui/button_gray.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://uhmovivbnhjo" +path="res://.godot/imported/button_gray.png-745446437e5beedb9b21baab44c693a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/button_gray.png" +dest_files=["res://.godot/imported/button_gray.png-745446437e5beedb9b21baab44c693a8.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 diff --git a/ui/button_green.png b/ui/button_green.png new file mode 100644 index 0000000..1720884 Binary files /dev/null and b/ui/button_green.png differ diff --git a/ui/button_green.png.import b/ui/button_green.png.import new file mode 100644 index 0000000..edd60e4 --- /dev/null +++ b/ui/button_green.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dc147b6rngxe3" +path="res://.godot/imported/button_green.png-2b7545d94fb607df323ce88074138c24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/button_green.png" +dest_files=["res://.godot/imported/button_green.png-2b7545d94fb607df323ce88074138c24.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 diff --git a/ui/button_play.gd b/ui/button_play.gd new file mode 100644 index 0000000..ed44c87 --- /dev/null +++ b/ui/button_play.gd @@ -0,0 +1,9 @@ +extends TextureButton + +# Called when the node enters the scene tree for the first time. +func _ready(): + pressed.connect(self._button_pressed) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _button_pressed(): + get_node("../../..").opaque = !get_node("../../..").opaque diff --git a/ui/exo_thin.otf b/ui/exo_thin.otf new file mode 100644 index 0000000..f3e98a5 Binary files /dev/null and b/ui/exo_thin.otf differ diff --git a/ui/exo_thin.otf.import b/ui/exo_thin.otf.import new file mode 100644 index 0000000..ab1526e --- /dev/null +++ b/ui/exo_thin.otf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://ksfeftemeckw" +path="res://.godot/imported/exo_thin.otf-5cb142a10f726b16147c5274f5366f7b.fontdata" + +[deps] + +source_file="res://ui/exo_thin.otf" +dest_files=["res://.godot/imported/exo_thin.otf-5cb142a10f726b16147c5274f5366f7b.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/ui/main_menu.tscn b/ui/main_menu.tscn new file mode 100644 index 0000000..d6a0913 --- /dev/null +++ b/ui/main_menu.tscn @@ -0,0 +1,157 @@ +[gd_scene load_steps=11 format=3 uid="uid://5pnqeh3rmtel"] + +[ext_resource type="Script" path="res://ui/scale_ui.gd" id="1_vumgq"] +[ext_resource type="Script" path="res://ui/menu_modulate.gd" id="2_cqe5f"] +[ext_resource type="Texture2D" uid="uid://dkxjbbidbegoh" path="res://ui/menu_background.png" id="2_io0c1"] +[ext_resource type="Script" path="res://ui/scrolling_background.gd" id="3_uosn1"] +[ext_resource type="FontFile" uid="uid://ksfeftemeckw" path="res://ui/exo_thin.otf" id="4_5xlmk"] +[ext_resource type="Texture2D" uid="uid://bbedstsfprrpe" path="res://ui/button_blue.png" id="5_2t5vl"] +[ext_resource type="Script" path="res://ui/button_play.gd" id="5_d46jy"] +[ext_resource type="Texture2D" uid="uid://uhmovivbnhjo" path="res://ui/button_gray.png" id="6_6giix"] +[ext_resource type="Texture2D" uid="uid://dc147b6rngxe3" path="res://ui/button_green.png" id="7_grisl"] +[ext_resource type="Script" path="res://ui/button_exit.gd" id="8_vlbyu"] + +[node name="main_menu" type="CanvasLayer"] +script = ExtResource("1_vumgq") + +[node name="modulate" type="Node2D" parent="."] +modulate = Color(1, 1, 1, 0) +script = ExtResource("2_cqe5f") + +[node name="back_background" type="ColorRect" parent="modulate"] +offset_right = 35520.0 +offset_bottom = 44097.0 +color = Color(0, 0, 0, 1) + +[node name="scrolling_parent" type="Node2D" parent="modulate"] +scale = Vector2(2, 2) +script = ExtResource("3_uosn1") + +[node name="scrolling_0" type="TextureRect" parent="modulate/scrolling_parent"] +offset_top = -360.0 +offset_right = 1280.0 +offset_bottom = 360.0 +scale = Vector2(1, 2) +texture = ExtResource("2_io0c1") +expand_mode = 1 + +[node name="scrolling_1" type="TextureRect" parent="modulate/scrolling_parent"] +offset_left = -1280.0 +offset_top = -360.0 +offset_bottom = 360.0 +scale = Vector2(1, 2) +texture = ExtResource("2_io0c1") +expand_mode = 1 + +[node name="title" type="RichTextLabel" parent="modulate"] +offset_left = 10.0 +offset_top = 5.0 +offset_right = 1281.0 +offset_bottom = 144.0 +theme_override_fonts/normal_font = ExtResource("4_5xlmk") +theme_override_font_sizes/normal_font_size = 89 +bbcode_enabled = true +text = "[center] CAWEZs Puzzlebox : HIRAETH [/center] +" + +[node name="buttons" type="Node2D" parent="modulate"] +position = Vector2(481.835, 116.09) +scale = Vector2(0.73, 0.73) + +[node name="button_play" type="Node2D" parent="modulate/buttons"] +position = Vector2(0, 45) +scale = Vector2(0.22, 0.22) + +[node name="TextureButton" type="TextureButton" parent="modulate/buttons/button_play"] +offset_right = 2000.0 +offset_bottom = 411.0 +texture_normal = ExtResource("5_2t5vl") +texture_pressed = ExtResource("6_6giix") +texture_hover = ExtResource("7_grisl") +texture_focused = ExtResource("7_grisl") +script = ExtResource("5_d46jy") + +[node name="RichTextLabel" type="RichTextLabel" parent="modulate/buttons/button_play/TextureButton"] +layout_mode = 0 +offset_left = 9.0 +offset_top = 50.0 +offset_right = 1886.0 +offset_bottom = 391.0 +mouse_filter = 2 +theme_override_fonts/normal_font = ExtResource("4_5xlmk") +theme_override_font_sizes/normal_font_size = 236 +bbcode_enabled = true +text = "[center] PLAY [/center]" + +[node name="button_skip" type="Node2D" parent="modulate/buttons"] +position = Vector2(0, 225) +scale = Vector2(0.22, 0.22) + +[node name="TextureButton" type="TextureButton" parent="modulate/buttons/button_skip"] +offset_right = 2000.0 +offset_bottom = 411.0 +texture_normal = ExtResource("5_2t5vl") +texture_pressed = ExtResource("6_6giix") +texture_hover = ExtResource("7_grisl") +texture_focused = ExtResource("7_grisl") + +[node name="RichTextLabel" type="RichTextLabel" parent="modulate/buttons/button_skip/TextureButton"] +layout_mode = 0 +offset_left = 9.0 +offset_top = 50.0 +offset_right = 1886.0 +offset_bottom = 391.0 +mouse_filter = 2 +theme_override_fonts/normal_font = ExtResource("4_5xlmk") +theme_override_font_sizes/normal_font_size = 236 +bbcode_enabled = true +text = "[center] SKIP [/center]" + +[node name="button_about" type="Node2D" parent="modulate/buttons"] +position = Vector2(0, 405) +scale = Vector2(0.22, 0.22) + +[node name="TextureButton" type="TextureButton" parent="modulate/buttons/button_about"] +offset_right = 2000.0 +offset_bottom = 411.0 +texture_normal = ExtResource("5_2t5vl") +texture_pressed = ExtResource("6_6giix") +texture_hover = ExtResource("7_grisl") +texture_focused = ExtResource("7_grisl") + +[node name="RichTextLabel" type="RichTextLabel" parent="modulate/buttons/button_about/TextureButton"] +layout_mode = 0 +offset_left = 9.0 +offset_top = 50.0 +offset_right = 1886.0 +offset_bottom = 391.0 +mouse_filter = 2 +theme_override_fonts/normal_font = ExtResource("4_5xlmk") +theme_override_font_sizes/normal_font_size = 236 +bbcode_enabled = true +text = "[center] ABOUT [/center]" + +[node name="button_exit" type="Node2D" parent="modulate/buttons"] +position = Vector2(0, 585) +scale = Vector2(0.22, 0.22) + +[node name="TextureButton" type="TextureButton" parent="modulate/buttons/button_exit"] +offset_right = 2000.0 +offset_bottom = 411.0 +texture_normal = ExtResource("5_2t5vl") +texture_pressed = ExtResource("6_6giix") +texture_hover = ExtResource("7_grisl") +texture_focused = ExtResource("7_grisl") +script = ExtResource("8_vlbyu") + +[node name="RichTextLabel" type="RichTextLabel" parent="modulate/buttons/button_exit/TextureButton"] +layout_mode = 0 +offset_left = 9.0 +offset_top = 50.0 +offset_right = 1886.0 +offset_bottom = 391.0 +mouse_filter = 2 +theme_override_fonts/normal_font = ExtResource("4_5xlmk") +theme_override_font_sizes/normal_font_size = 236 +bbcode_enabled = true +text = "[center] EXIT [/center]" diff --git a/ui/menu_background.png b/ui/menu_background.png new file mode 100644 index 0000000..a04bf3e Binary files /dev/null and b/ui/menu_background.png differ diff --git a/ui/menu_background.png.import b/ui/menu_background.png.import new file mode 100644 index 0000000..0f944c1 --- /dev/null +++ b/ui/menu_background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkxjbbidbegoh" +path="res://.godot/imported/menu_background.png-7f8291e454dfd85d603930734db09f79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/menu_background.png" +dest_files=["res://.godot/imported/menu_background.png-7f8291e454dfd85d603930734db09f79.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 diff --git a/ui/menu_modulate.gd b/ui/menu_modulate.gd new file mode 100644 index 0000000..1319e43 --- /dev/null +++ b/ui/menu_modulate.gd @@ -0,0 +1,25 @@ +extends Node2D + +var opaque = false +var alpha = 5 +var holding = false + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + modulate.a = modulate.a * exp(-alpha * delta) + int(opaque) * (1.0 - exp(-alpha * delta)) + if !opaque: + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + else: + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + + if Input.get_action_strength("ui_cancel") > 0.0 && !holding: + opaque = !opaque + holding = true + elif Input.get_action_strength("ui_cancel") <= 0.0 : + holding = false diff --git a/ui/scale_ui.gd b/ui/scale_ui.gd new file mode 100644 index 0000000..a2d4b1a --- /dev/null +++ b/ui/scale_ui.gd @@ -0,0 +1,17 @@ +extends CanvasLayer + + +var base_x = 1280.0 + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + # Rescales + var new_scale = get_viewport().size.x / base_x + + scale = Vector2(new_scale, new_scale) diff --git a/ui/scrolling_background.gd b/ui/scrolling_background.gd new file mode 100644 index 0000000..2b1a1c8 --- /dev/null +++ b/ui/scrolling_background.gd @@ -0,0 +1,18 @@ +extends Node2D + +# Pixels / second +var speed = 100.0 +# Where to loop back to +var start_position = 0.0 +# When to loop +var scroll_size = 1280.0 * 2 + +# Called when the node enters the scene tree for the first time. +func _ready(): + start_position = position.x + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + position = Vector2(position.x + speed * delta, position.y) + if position.x > start_position + scroll_size: + position = Vector2(start_position, position.y)