66 Commits

Author SHA1 Message Date
zenny 4b840bbe7f Door hit 2023-09-07 01:21:05 -07:00
zenny 379ef0189c Add wall boundaries 2023-09-06 20:53:38 -07:00
zenny 8a923f04c4 ????????? 2023-09-06 20:32:16 -07:00
zenny 5405c33192 Fix music loop 2023-09-06 19:55:00 -07:00
zenny 7733032397 Fix megami box 2023-09-06 19:51:25 -07:00
zenny 41adf908a5 Actual fix 2023-09-06 18:28:14 -07:00
zenny f4c0944afa Fix range enemy rotation 2023-09-06 17:59:16 -07:00
zenny aac5fbd297 Fix game over 2023-09-06 17:41:53 -07:00
zenny 5acfb9300c Make enemy shots smaller 2023-09-06 15:38:27 -07:00
zenny d7dd58b5df Refactor projectiles 2023-09-06 15:20:34 -07:00
zenny d536aa2014 Refactor 2023-09-06 14:43:12 -07:00
zenny f8cca640a6 Beeg checkin 2023-09-06 03:49:16 -07:00
zenny f180d4cacd Oops big commit 2023-09-06 01:32:54 -07:00
zenny ed4ebfafac Fix Capricorn sprite placement 2023-09-05 02:11:58 -07:00
zenny b9e66d9f93 Oops 2023-09-05 01:52:10 -07:00
zenny c645c56fb8 Capricorn laser done 2023-09-05 00:30:05 -07:00
zenny 5eaa5fc91e Cleanup 2023-09-04 23:57:22 -07:00
zenny 69fed8d403 UI Changes 2023-09-04 23:56:16 -07:00
zenny 83b4d90ccb Update projectile textures 2023-09-04 22:17:37 -07:00
zenny 64f5ec8a5d SFX 2023-09-04 22:09:56 -07:00
zenny d0ea3eeec1 Replace background of sidebar 2023-09-04 21:12:34 -07:00
zenny 4e3b200a8d Import Stage 7 2023-09-04 20:59:01 -07:00
zenny ef3045b3d2 ???? 2023-09-04 20:50:50 -07:00
zenny 2d2dea616c Animate Capricorn 2023-09-04 19:26:28 -07:00
zenny 75bbe25929 Basic game over imp 2023-09-04 18:14:41 -07:00
zenny 59a77d084c Fix hitboxes, add collision detection to maps 2023-09-04 18:07:58 -07:00
zenny 316651f409 Trying to fix spawn issues 2023-09-04 17:22:02 -07:00
zenny ad48e723d5 End to end kind of works 2023-09-04 16:40:14 -07:00
zenny b315a90720 I am doing a CHAOS check in. showing support for one another. I need SIX jacks to post, not share, this message to show you are always there to kill chaos if someone needs it. let's go gentlemen... 2023-09-04 16:11:05 -07:00
zenny 4d0b0196e6 sum fixes 2023-09-04 15:02:17 -07:00
zenny 0be97870dc Characters exit 2023-09-04 13:39:18 -07:00
zenny 5aff65d384 Fix exit 2023-09-04 13:02:01 -07:00
zenny a6a8f5e893 Select fix 2023-09-04 11:43:54 -07:00
zenny e27fe40420 Fix spawn location and on hit 2023-09-04 11:36:31 -07:00
zenny c2239d240e Fix multiplayer 2023-09-04 07:20:33 -07:00
zenny c32bbfe45a Refactor Player and Character 2023-09-04 06:42:02 -07:00
zenny a8ea40dee8 Fix small selection bug 2023-09-04 04:53:50 -07:00
zenny 70bf65887c Import megami 2023-09-04 04:52:41 -07:00
zenny b29f7ce75b Stage 6 import 2023-09-04 04:28:24 -07:00
zenny 8523d6b64f Madness check-in 2023-09-04 04:19:27 -07:00
zenny bf60e2dd9e Fix hit detection 2023-09-04 01:43:20 -07:00
zenny 0bd39bfd51 Minor fixes 2023-09-04 01:36:18 -07:00
zenny 3738f24705 Fix issues 2023-09-04 01:33:30 -07:00
zenny 8eeca13607 Fix shader 2023-09-04 00:06:22 -07:00
zenny 6ff28bce60 CUTTTTTAAAAA 2023-09-03 23:10:58 -07:00
zenny 1ae76971f7 Add final level, start on cutter weapon 2023-09-03 22:05:39 -07:00
zenny 43f2da2f4b Add scorpio 2023-09-03 21:03:42 -07:00
zenny 53d8129cbb Fix hit detection 2023-09-03 19:40:34 -07:00
zenny aa9b5a1793 Enemy follow 2023-09-03 18:23:51 -07:00
zenny c8d0eefd7e Improve game over conditions 2023-09-03 15:57:21 -07:00
zenny 23f20f08e0 Set game over for character condition 2023-09-03 15:41:39 -07:00
zenny f7417d0afd Initial character select implementation 2023-09-03 15:06:39 -07:00
zenny a15973a621 Add stuff 2023-09-03 00:43:27 -07:00
zenny 23443546b2 Add game manager 2023-09-03 00:30:18 -07:00
zenny cf2642be2c Boss healthbar 2023-09-03 00:16:40 -07:00
zenny 7764644b90 nobody is reading this 2023-09-02 21:43:53 -07:00
zenny 071010f652 Add controller support 2023-09-02 21:05:56 -07:00
zenny 9b5a94bfab Set spawn points 2023-09-02 20:59:00 -07:00
zenny 736060d6ca Load level 2023-09-02 20:03:20 -07:00
zenny cff32e0fb9 Placeholder music 2023-09-02 18:33:44 -07:00
zenny 271b0ede0d Add stages 2023-09-02 18:17:24 -07:00
zenny 334378932c Basic enemy pathing implementation 2023-09-02 17:42:07 -07:00
zenny 549cb7a325 Bullet hit rock detection 2023-09-02 15:58:13 -07:00
zenny 11a2554697 A lot of UI work....
opening slash animation
main menu
load first level
2023-09-02 15:50:21 -07:00
zenny c3d19b8e0d Fix project 2023-09-02 13:42:29 -07:00
zenny f9c9bf0990 Fix project layout 2023-09-02 13:28:16 -07:00
444 changed files with 50853 additions and 4592 deletions
+220
View File
@@ -0,0 +1,220 @@
[gd_scene load_steps=8 format=3 uid="uid://cjl20bs56430j"]
[ext_resource type="Texture2D" uid="uid://b1ucutlpx3fnp" path="res://Textures/GUI/INTRO LORE.png" id="1_f4dp3"]
[ext_resource type="Texture2D" uid="uid://haxbuoepqn2b" path="res://Textures/GUI/LEVEL DROP 1.png" id="2_r3e0d"]
[sub_resource type="Animation" id="Animation_3u8q8"]
resource_name = "FirstLevel"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DissolveRect:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FirstLevelSplash:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("LoreSplash:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DissolveRect:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 5),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="Animation" id="Animation_qsjit"]
resource_name = "IntroLore"
length = 10.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DissolveRect:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 3, 7.5, 10),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("DissolveRect:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 10),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("LoreSplash:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 10),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("FirstLevelSplash:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_fm0re"]
resource_name = "RESET"
length = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DissolveRect:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FirstLevelSplash:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("DissolveRect:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("LoreSplash:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_ghusn"]
resource_name = "fade_out"
length = 3.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DissolveRect:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_iabf8"]
_data = {
"FirstLevel": SubResource("Animation_3u8q8"),
"IntroLore": SubResource("Animation_qsjit"),
"RESET": SubResource("Animation_fm0re"),
"fade_out": SubResource("Animation_ghusn")
}
[node name="UIAnimations" type="CanvasLayer"]
[node name="DissolveRect" type="ColorRect" parent="."]
visible = false
modulate = Color(1, 1, 1, 0)
z_index = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0, 0, 0, 1)
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
speed_scale = 64.0
libraries = {
"": SubResource("AnimationLibrary_iabf8")
}
[node name="LoreSplash" type="TextureRect" parent="."]
visible = false
show_behind_parent = true
offset_right = 1920.0
offset_bottom = 1080.0
texture = ExtResource("1_f4dp3")
[node name="FirstLevelSplash" type="TextureRect" parent="."]
z_index = -2
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_r3e0d")
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bwm5jsh1qw5ji"
path="res://.godot/imported/BossTheme.wav-e1d9235ed1dfe32d95040c26231a00d8.sample"
[deps]
source_file="res://Audio/BGM/BossTheme.wav"
dest_files=["res://.godot/imported/BossTheme.wav-e1d9235ed1dfe32d95040c26231a00d8.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=2
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c7etbj4eoq6rr"
path="res://.godot/imported/GameOverTheme.wav-37e0b0b93f022836cc778593b4f056ec.sample"
[deps]
source_file="res://Audio/BGM/GameOverTheme.wav"
dest_files=["res://.godot/imported/GameOverTheme.wav-37e0b0b93f022836cc778593b4f056ec.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://3lvsaxunketk"
path="res://.godot/imported/LevelTheme.wav-0adc52373875aad0f2b6a0ceca863b1b.sample"
[deps]
source_file="res://Audio/BGM/LevelTheme.wav"
dest_files=["res://.godot/imported/LevelTheme.wav-0adc52373875aad0f2b6a0ceca863b1b.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=2
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cs41ommggsoqi"
path="res://.godot/imported/OpeningTheme.wav-f9606623f23e32b407720479cfc1eee6.sample"
[deps]
source_file="res://Audio/BGM/OpeningTheme.wav"
dest_files=["res://.godot/imported/OpeningTheme.wav-f9606623f23e32b407720479cfc1eee6.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=1
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://8yc2gpk1bx52"
path="res://.godot/imported/TitleTheme.wav-8b62c6f931f7176b0b575a94602130c7.sample"
[deps]
source_file="res://Audio/BGM/TitleTheme.wav"
dest_files=["res://.godot/imported/TitleTheme.wav-8b62c6f931f7176b0b575a94602130c7.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=2
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://m8mvw8acs5sk"
path="res://.godot/imported/Green Wave.wav-37c8c5d4e55a4f75373d32dea994cfb2.sample"
[deps]
source_file="res://Audio/SFX/Green Wave.wav"
dest_files=["res://.godot/imported/Green Wave.wav-37c8c5d4e55a4f75373d32dea994cfb2.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cw1jlubd7wmw6"
path="res://.godot/imported/blue laser.wav-5e8b70a304fc5338c8524b97764b7983.sample"
[deps]
source_file="res://Audio/SFX/blue laser.wav"
dest_files=["res://.godot/imported/blue laser.wav-5e8b70a304fc5338c8524b97764b7983.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bykwwct1not4e"
path="res://.godot/imported/capricorn laeser.wav-e259c68bab0b4c7191a36ee3264b5080.sample"
[deps]
source_file="res://Audio/SFX/capricorn laeser.wav"
dest_files=["res://.godot/imported/capricorn laeser.wav-e259c68bab0b4c7191a36ee3264b5080.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://baom7a44bk3ga"
path="res://.godot/imported/fires of sinai.wav-1a9ff5f1036ece37bc4917ce57d3bdc3.sample"
[deps]
source_file="res://Audio/SFX/fires of sinai.wav"
dest_files=["res://.godot/imported/fires of sinai.wav-1a9ff5f1036ece37bc4917ce57d3bdc3.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://ce40y3hln3twm"
path="res://.godot/imported/grass cutter.wav-a1d064084e4b99441c81e6e9eff2171f.sample"
[deps]
source_file="res://Audio/SFX/grass cutter.wav"
dest_files=["res://.godot/imported/grass cutter.wav-a1d064084e4b99441c81e6e9eff2171f.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://crto2nljfvqnm"
path="res://.godot/imported/midboss hurt.wav-b768cd6fcf34fd0984547cddbaaf5a33.sample"
[deps]
source_file="res://Audio/SFX/midboss hurt.wav"
dest_files=["res://.godot/imported/midboss hurt.wav-b768cd6fcf34fd0984547cddbaaf5a33.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cgun34h06gvpv"
path="res://.godot/imported/misc1.wav-e68c4672f0116c612b7fe4a5dfb0747a.sample"
[deps]
source_file="res://Audio/SFX/misc1.wav"
dest_files=["res://.godot/imported/misc1.wav-e68c4672f0116c612b7fe4a5dfb0747a.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cat08h84wm5gm"
path="res://.godot/imported/ominous.wav-cb3b113d76b47064dc0bc8b7372966f4.sample"
[deps]
source_file="res://Audio/SFX/ominous.wav"
dest_files=["res://.godot/imported/ominous.wav-cb3b113d76b47064dc0bc8b7372966f4.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cdps3mfvdxdud"
path="res://.godot/imported/Select.wav-7133743fa12346242cba11b6ff8e2589.sample"
[deps]
source_file="res://Audio/SFX/Select.wav"
dest_files=["res://.godot/imported/Select.wav-7133743fa12346242cba11b6ff8e2589.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
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cfj82os5p8i4p"
path="res://.godot/imported/shooting.wav-4967743545d2cccc1eb9a59a59c75130.sample"
[deps]
source_file="res://Audio/SFX/shooting.wav"
dest_files=["res://.godot/imported/shooting.wav-4967743545d2cccc1eb9a59a59c75130.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
+17
View File
@@ -0,0 +1,17 @@
using Godot;
public partial class BGMPlayer : AudioStreamPlayer
{
public void SetBGMFromFilepath(string path)
{
var audioStream = ResourceLoader.Load<AudioStream>(path);
if (Stream != audioStream)
Stream = audioStream;
}
public void PlayBGM()
{
if (!Playing)
Play();
}
}
@@ -2,10 +2,9 @@ using Godot;
public partial class EnemyBullet : Projectile
{
public Vector3 Target;
public override void _PhysicsProcess(double delta)
{
Translate(new Vector3(0, 0, -Speed * (float)delta));
TranslateObjectLocal(new Vector3(0, 0, -Speed * (float)delta));
}
}
+40
View File
@@ -0,0 +1,40 @@
[gd_scene load_steps=5 format=3 uid="uid://rlxnnw4yay7e"]
[ext_resource type="Script" path="res://Enemies/Attacks/EnemyBullet.cs" id="1_rv13r"]
[ext_resource type="Texture2D" uid="uid://dd71tdgrgic46" path="res://Textures/Projectiles/LB ORB.png" id="2_6l2aj"]
[ext_resource type="AudioStream" uid="uid://cfj82os5p8i4p" path="res://Audio/SFX/shooting.wav" id="2_q6wdf"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_e4v7f"]
height = 8.99869
radius = 0.4
[node name="TestBullet" type="Node3D"]
script = ExtResource("1_rv13r")
Cooldown = 3.0
_soundEffect = ExtResource("2_q6wdf")
[node name="RigidBody3D" type="RigidBody3D" parent="."]
collision_layer = 4
collision_mask = 0
gravity_scale = 0.0
custom_integrator = true
continuous_cd = true
max_contacts_reported = 10
contact_monitor = true
can_sleep = false
lock_rotation = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0.0111055, 1.02602, 0)
shape = SubResource("CylinderShape3D_e4v7f")
[node name="Sprite3D" type="Sprite3D" parent="RigidBody3D/CollisionShape3D"]
transform = Transform3D(0.08, 0, 0, 0, 0.08, 0, 0, 0, 0.08, -0.390424, 0, 0.436329)
centered = false
axis = 1
texture = ExtResource("2_6l2aj")
[node name="TTL" type="Timer" parent="."]
process_callback = 0
wait_time = 0.8
autostart = true
+29
View File
@@ -0,0 +1,29 @@
using Godot;
using System.Linq;
public partial class FireAtPlayer : Timer
{
[Export]
private Area3D _enemy;
[Export]
private PackedScene _fireProjectile;
public void OnFireAtPlayer()
{
var players = GetTree().GetNodesInGroup("Player");
if (players.Any())
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => _enemy.Position.DistanceTo(x.Position)).FirstOrDefault();
var projectile = _fireProjectile.Instantiate<Projectile>() as EnemyBullet;
projectile.Rotation = new Vector3(0, _enemy.Rotation.Y, 0);
projectile.Position = _enemy.Position;
GetParent().AddChild(projectile);
}
}
private void OnDied()
{
Stop();
}
}
+30
View File
@@ -0,0 +1,30 @@
[gd_scene load_steps=4 format=3 uid="uid://brbshysbgd47q"]
[ext_resource type="Script" path="res://Enemies/Scripts/GodCircuit.cs" id="1_gyfww"]
[ext_resource type="PackedScene" uid="uid://cigdj84f0m3jd" path="res://Levels/Models/Stage10/god circuit stage 1.glb" id="1_w12q0"]
[sub_resource type="BoxShape3D" id="BoxShape3D_l1qm4"]
size = Vector3(2.64724, 5.07315, 0.653787)
[node name="God Circuit" type="Node3D"]
script = ExtResource("1_gyfww")
[node name="god circuit stage 1" parent="." instance=ExtResource("1_w12q0")]
[node name="Area3D" type="Area3D" parent="god circuit stage 1"]
collision_layer = 0
collision_mask = 2
[node name="CollisionShape3D" type="CollisionShape3D" parent="god circuit stage 1/Area3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.93109, 1.49955, -2.35288)
shape = SubResource("BoxShape3D_l1qm4")
[node name="StaticBody3D" type="StaticBody3D" parent="god circuit stage 1"]
collision_layer = 4096
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="god circuit stage 1/StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.93109, 1.49955, -2.35288)
shape = SubResource("BoxShape3D_l1qm4")
[connection signal="body_entered" from="god circuit stage 1/Area3D" to="." method="OnHit"]
+6
View File
@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://b1j0g6ikmnibm"]
[ext_resource type="Script" path="res://Enemies/HealthPoints.cs" id="1_rrase"]
[node name="HP Component" type="Node2D"]
script = ExtResource("1_rrase")
+28
View File
@@ -0,0 +1,28 @@
using Godot;
public partial class HealthPoints : Node
{
[Export]
public long MaximumHP { get; protected set; }
public long CurrentHP { get; protected set; }
[Export]
private TextureProgressBar _healthBar;
public override void _Ready()
{
CurrentHP = MaximumHP;
}
public void TakeDamage(long damage)
{
CurrentHP -= damage;
GD.Print(CurrentHP);
}
public void UpdateHealthbar()
{
_healthBar.Value = CurrentHP;
}
}
+9
View File
@@ -0,0 +1,9 @@
using Godot;
public partial class HealthbarProgress : TextureProgressBar
{
public void UpdateBar(long amount, long full)
{
Value = amount;
}
}
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
+32
View File
@@ -0,0 +1,32 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dotxb4dc15l4k"
path="res://.godot/imported/RangedEnemy.glb-b55597650bade0297f264b6e0420a5b0.scn"
[deps]
source_file="res://Enemies/Models/RangedEnemy.glb"
dest_files=["res://.godot/imported/RangedEnemy.glb-b55597650bade0297f264b6e0420a5b0.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
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
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
gltf/embedded_image_handling=1
File diff suppressed because one or more lines are too long
+18
View File
@@ -0,0 +1,18 @@
using Godot;
public partial class BasicEnemy : Node3D
{
protected GameManager _gameManager;
public override void _Ready()
{
_gameManager = GetTree().Root.GetNode<GameManager>("Main/GameManager");
}
public void OnEnemyHit(Node3D node)
{
var currentLevel = (Level)GetTree().GetFirstNodeInGroup("Level");
currentLevel.OnEnemyDefeated(this);
QueueFree();
}
}
+14
View File
@@ -0,0 +1,14 @@
using Godot;
public partial class GodCircuit : Node3D
{
private void OnHit(Node3D node)
{
GD.Print("Hit");
var hpComponent = GetNode<HealthPoints>("HP Component");
hpComponent.TakeDamage(800000);
hpComponent.UpdateHealthbar();
if (hpComponent.CurrentHP <= 0)
QueueFree();
}
}
+20
View File
@@ -0,0 +1,20 @@
using Godot;
using System.Linq;
public partial class MeleeEnemy : BasicEnemy
{
[Export]
private float _speed = 0.4f;
public override void _PhysicsProcess(double delta)
{
var players = GetTree().GetNodesInGroup("Player");
if (players.Any())
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
Position = Position.MoveToward(target.Position, _speed * (float)delta);
LookAt(-target.Position, Vector3.Up);
}
}
}
+18
View File
@@ -0,0 +1,18 @@
using Godot;
using System.Linq;
public partial class RangedEnemy : BasicEnemy
{
public override void _Process(double delta)
{
var players = GetTree().GetNodesInGroup("Player");
if (players.Any())
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
var hitBox = GetChildren().OfType<Area3D>().Single();
hitBox.LookAt(target.Position, Vector3.Up);
hitBox.Rotation = new Vector3(0, hitBox.Rotation.Y, hitBox.Rotation.Z);
}
}
}
+6 -2
View File
@@ -1,9 +1,13 @@
<Project Sdk="Godot.NET.Sdk/4.1.1">
<Project Sdk="Godot.NET.Sdk/4.0.4">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Folder Include="Scenes\" />
<Compile Remove="Scenes\**" />
<EmbeddedResource Remove="Scenes\**" />
</ItemGroup>
<ItemGroup>
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>
+10
View File
@@ -0,0 +1,10 @@
<Project Sdk="Godot.NET.Sdk/4.1.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Folder Include="Scenes\" />
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>
+10
View File
@@ -0,0 +1,10 @@
<Project Sdk="Godot.NET.Sdk/4.0.4">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Folder Include="Scenes\" />
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>
+10
View File
@@ -0,0 +1,10 @@
<Project Sdk="Godot.NET.Sdk/4.1.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Folder Include="Scenes\" />
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>
+10
View File
@@ -0,0 +1,10 @@
<Project Sdk="Godot.NET.Sdk/4.0.4">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Folder Include="Scenes\" />
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>
+10
View File
@@ -0,0 +1,10 @@
<Project Sdk="Godot.NET.Sdk/4.1.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Folder Include="Scenes\" />
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>
+150
View File
@@ -0,0 +1,150 @@
using Godot;
using Godot.Collections;
using System.Collections.Generic;
using System.Linq;
public partial class GameManager : Node
{
[Signal]
public delegate void OnPlayerGameOverEventHandler();
[Signal]
public delegate void ReselectCharacterEventHandler(Player player);
[Export]
private Array<PackedScene> PlayerScenes;
public IEnumerable<Player> Players = new List<Player>();
private int _levelIndex;
public bool IsGameOverScreenOn = false;
public override void _Ready()
{
var main = GetTree().Root.GetNode<Main>("/root/Main");
for (var i = 0; i < main.NumberOfPlayers; i++)
{
var player = PlayerScenes[i].Instantiate();
Players = Players.Append((Player)player);
GetTree().Root.AddChild(player);
}
}
public void OnAllEnemiesDefeated()
{
OnLevelClear();
}
public void OnHandleCharacterSelectUI(Player player)
{
EmitSignal(SignalName.ReselectCharacter, player);
}
public void SetToNextCharacter(Player player)
{
player.CharacterIndex = (++player.CharacterIndex) % player.CharactersLeftOnStage.Count();
GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
}
public void SetToPreviousCharacter(Player player)
{
player.CharacterIndex = player.CharacterIndex == 0 ? player.CharactersLeftOnStage.Count() - 1 : --player.CharacterIndex;
}
public void ResetPlayerPosition(Player player)
{
player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter);
GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
}
public void OnCharacterSelected(Player player)
{
var sfxPlayer = GetTree().Root.GetNode<AudioStreamPlayer>("Main/SFXPlayer");
var audioStream = ResourceLoader.Load<AudioStream>("Audio/SFX/Select.wav");
sfxPlayer.Stream = audioStream;
sfxPlayer.Play();
GD.Print("Instancing...");
GD.Print(player.Name);
if (player.CharactersLeftOnStage.Any())
{
player.SelectedCharacter = player.CharactersLeftOnStage[player.CharacterIndex];
GetTree().Root.AddChild(player.SelectedCharacter);
player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter);
}
}
public void RemoveCharacter(Player player)
{
player.CharactersLeftOnStage.Remove(player.SelectedCharacter);
GetTree().Root.RemoveChild(player.SelectedCharacter);
GD.Print(player.CharactersLeftOnStage.Select(x => x.Name).ToArray());
player.CharacterIndex = 0;
if (player.CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, player);
if (!player.CharactersExited.Any() && !player.CharactersLeftOnStage.Any())
SetGameOver(player, true);
if (Players.All(x => !x.CharactersLeftOnStage.Any()) && Players.Any(x => x.CharactersExited.Any()))
OnLevelClear();
}
public void RemoveCharacterAndAddToExit(Player player)
{
player.CharactersExited.Add(player.SelectedCharacter);
player.CharactersLeftOnStage.Remove(player.SelectedCharacter);
GetTree().Root.RemoveChild(player.SelectedCharacter);
GD.Print(player.CharactersLeftOnStage.Select(x => x.Name).ToArray());
player.CharacterIndex = 0;
if (player.CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, player);
}
public void SetGameOver(Player player, bool isGameOver)
{
player.GameOver = isGameOver;
if (isGameOver)
EmitSignal(SignalName.OnPlayerGameOver);
GD.Print($"Game over for {player.Name}");
}
public void ReloadGameScene()
{
GD.Print("Reloading scene");
var players = GetTree().Root.GetChildren().OfType<Player>();
foreach (var player in players)
player.QueueFree();
var levels = GetTree().Root.GetChildren().OfType<Level>();
foreach (var level in levels)
level.QueueFree();
GetTree().ReloadCurrentScene();
}
public void OnLevelClear()
{
foreach (var player in Players)
{
player.CharactersLeftOnStage.AddRange(player.CharactersExited);
player.CharactersExited.Clear();
player.CharacterIndex = 0;
}
var playerCharacters = GetTree().GetNodesInGroup("Player");
foreach (var character in playerCharacters)
character.GetParent().RemoveChild(character);
var projectiles = GetTree().Root.GetChildren().OfType<Projectile>();
foreach (var projectile in projectiles)
projectile.QueueFree();
var main = GetTree().Root.GetNode<Main>("/root/Main");
main.LoadNextLevel(_levelIndex++);
foreach (var player in Players)
EmitSignal(SignalName.ReselectCharacter, player);
}
}
+245
View File
@@ -0,0 +1,245 @@
[gd_scene load_steps=13 format=3 uid="uid://cxj6yeddshy16"]
[ext_resource type="Script" path="res://GameLogic/GameManager.cs" id="1_ya2kt"]
[ext_resource type="PackedScene" uid="uid://b57xus5rqasy8" path="res://Player/Base/Player2.tscn" id="3_y1wkr"]
[ext_resource type="PackedScene" uid="uid://xcmspevaqcrc" path="res://Player/Base/Player1.tscn" id="4_3fl70"]
[ext_resource type="Script" path="res://UI/StageGUI.cs" id="4_8bo7m"]
[ext_resource type="Script" path="res://UI/GameOverService.cs" id="5_3te1o"]
[ext_resource type="Texture2D" uid="uid://d18xmfbg47qpi" path="res://Textures/Portraits/blank-background.png" id="5_ecqoa"]
[ext_resource type="Script" path="res://UI/CharacterSelectUpdateService.cs" id="6_8tbm6"]
[ext_resource type="Texture2D" uid="uid://dveeywi80ux2l" path="res://UI/Game_Over.jpg" id="6_hq16y"]
[ext_resource type="Texture2D" uid="uid://c3eubpygfvc3l" path="res://Textures/Portraits/cap-bg-char.png" id="7_jroqd"]
[ext_resource type="Texture2D" uid="uid://1pgw8he4k5va" path="res://Textures/Portraits/pisces-bg-char.png" id="8_pvs36"]
[ext_resource type="Texture2D" uid="uid://bacwvejc4hcou" path="res://Textures/Portraits/sag-bg-char.png" id="9_1jise"]
[ext_resource type="Texture2D" uid="uid://o7uu4efxf36e" path="res://Textures/Portraits/scorpio-bg-char.png" id="10_mqkvb"]
[node name="GameManager" type="Node3D"]
script = ExtResource("1_ya2kt")
PlayerScenes = Array[PackedScene]([ExtResource("4_3fl70"), ExtResource("3_y1wkr")])
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, -0.527878, 10.966, 6.61121)
projection = 1
size = 10.8546
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -0.504317, 0.863519, 0, -0.863519, -0.504317, 0, 19.9508, 0)
visible = false
shadow_enabled = true
shadow_bias = 0.0
shadow_normal_bias = 0.0
directional_shadow_mode = 0
sky_mode = 1
[node name="DirectionalLight3D2" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.993572, 0.113203, 0, -0.113203, 0.993572, 0, 6.22805, 0)
shadow_enabled = true
shadow_bias = 0.0
shadow_normal_bias = 0.0
directional_shadow_mode = 0
sky_mode = 1
[node name="StageGUI" type="Control" parent="."]
process_mode = 3
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("4_8bo7m")
metadata/_edit_horizontal_guides_ = [-342.0]
[node name="SidebarLeft" type="TextureRect" parent="StageGUI"]
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_top = -540.0
offset_right = 420.0
offset_bottom = 540.0
grow_vertical = 2
texture = ExtResource("5_ecqoa")
[node name="SidebarRight" type="TextureRect" parent="StageGUI"]
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -420.0
offset_top = -540.0
offset_bottom = 540.0
grow_horizontal = 0
grow_vertical = 2
texture = ExtResource("5_ecqoa")
[node name="CharacterSelect" type="Control" parent="StageGUI"]
process_mode = 3
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("6_8tbm6")
[node name="P1" type="Control" parent="StageGUI/CharacterSelect"]
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_top = -20.0
offset_right = 40.0
offset_bottom = 20.0
grow_vertical = 2
[node name="CapBG" type="TextureRect" parent="StageGUI/CharacterSelect/P1"]
visible = false
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_top = -540.0
offset_right = 420.0
offset_bottom = 540.0
grow_vertical = 2
texture = ExtResource("7_jroqd")
stretch_mode = 2
[node name="PiscesBG" type="TextureRect" parent="StageGUI/CharacterSelect/P1"]
visible = false
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_top = -540.0
offset_right = 420.0
offset_bottom = 540.0
grow_vertical = 2
texture = ExtResource("8_pvs36")
stretch_mode = 2
[node name="SagBG" type="TextureRect" parent="StageGUI/CharacterSelect/P1"]
visible = false
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_top = -540.0
offset_right = 420.0
offset_bottom = 540.0
grow_vertical = 2
texture = ExtResource("9_1jise")
stretch_mode = 2
[node name="ScorpioBG" type="TextureRect" parent="StageGUI/CharacterSelect/P1"]
visible = false
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_top = -540.0
offset_right = 420.0
offset_bottom = 540.0
grow_vertical = 2
texture = ExtResource("10_mqkvb")
stretch_mode = 2
[node name="P2" type="Control" parent="StageGUI/CharacterSelect"]
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -40.0
offset_top = -20.0
offset_bottom = 20.0
grow_horizontal = 0
grow_vertical = 2
[node name="CapBG" type="TextureRect" parent="StageGUI/CharacterSelect/P2"]
visible = false
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -420.0
offset_top = -540.0
offset_bottom = 540.0
grow_horizontal = 0
grow_vertical = 2
texture = ExtResource("7_jroqd")
[node name="PiscesBG" type="TextureRect" parent="StageGUI/CharacterSelect/P2"]
visible = false
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -420.0
offset_top = -540.0
offset_bottom = 540.0
grow_horizontal = 0
grow_vertical = 2
texture = ExtResource("8_pvs36")
[node name="SagBG" type="TextureRect" parent="StageGUI/CharacterSelect/P2"]
visible = false
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -420.0
offset_top = -540.0
offset_bottom = 540.0
grow_horizontal = 0
grow_vertical = 2
texture = ExtResource("9_1jise")
[node name="ScorpioBG" type="TextureRect" parent="StageGUI/CharacterSelect/P2"]
visible = false
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -420.0
offset_top = -540.0
offset_bottom = 540.0
grow_horizontal = 0
grow_vertical = 2
texture = ExtResource("10_mqkvb")
[node name="GameOver" type="Control" parent="."]
visible = false
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("5_3te1o")
[node name="GameOverScreen" type="TextureRect" parent="GameOver"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
texture = ExtResource("6_hq16y")
[connection signal="ReselectCharacter" from="." to="StageGUI" method="OnCharacterSelect"]
[connection signal="CapricornSelected" from="StageGUI" to="StageGUI/CharacterSelect" method="OnCapricornSelected"]
[connection signal="OnCharacterSelectionMade" from="StageGUI" to="." method="OnCharacterSelected"]
[connection signal="OnGameOver" from="StageGUI" to="GameOver" method="OnGameOver"]
[connection signal="OnPlayerGameOver" from="StageGUI" to="StageGUI/CharacterSelect" method="OnPlayerGameOver"]
[connection signal="PiscesSelected" from="StageGUI" to="StageGUI/CharacterSelect" method="OnPiscesSelected"]
[connection signal="SagittariusSelected" from="StageGUI" to="StageGUI/CharacterSelect" method="OnSagittariusSelected"]
[connection signal="ScorpioSelected" from="StageGUI" to="StageGUI/CharacterSelect" method="OnScorpioSelected"]
[connection signal="ReloadGame" from="GameOver" to="." method="ReloadGameScene"]
+63
View File
@@ -0,0 +1,63 @@
using Godot;
using Godot.Collections;
using System.Linq;
public partial class Main : Node
{
[Export]
public Array<PackedScene> Levels;
[Export]
public PackedScene GameManager;
public int NumberOfPlayers = 0;
public void LoadLevel(int indexToLoad, int numberOfPlayers)
{
var sceneToLoad = Levels.ElementAt(indexToLoad);
CallDeferred(nameof(DeferredGoToScene), sceneToLoad);
NumberOfPlayers = numberOfPlayers;
var gameManager = GameManager.Instantiate();
AddChild(gameManager);
var gameManagerInstance = (GameManager)gameManager;
gameManagerInstance.OnHandleCharacterSelectUI(gameManagerInstance.Players.ElementAt(0));
if (numberOfPlayers == 2)
gameManagerInstance.OnHandleCharacterSelectUI(gameManagerInstance.Players.ElementAt(1));
var bgmPlayer = GetTree().Root.GetNode<BGMPlayer>("BgmPlayer");
bgmPlayer.ProcessMode = ProcessModeEnum.Always;
bgmPlayer.SetBGMFromFilepath("Audio/BGM/LevelTheme.wav");
bgmPlayer.PlayBGM();
GetTree().Paused = true;
}
public void LoadNextLevel(int currentSceneIndex)
{
if (currentSceneIndex < Levels.Count())
{
var currentScene = Levels.ToList().ElementAt(currentSceneIndex);
var nextScene = currentSceneIndex + 1;
CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(nextScene), currentScene);
}
}
private void DeferredGoToScene(PackedScene sceneToAdd)
{
var nextScene = GD.Load<PackedScene>(sceneToAdd.ResourcePath);
var newScene = nextScene.Instantiate();
GetTree().Root.AddChild(newScene);
GetTree().Paused = true;
}
private void DeferredGoToScene(PackedScene sceneToAdd, PackedScene sceneToRemove)
{
GetTree().GetFirstNodeInGroup("Level").QueueFree();
var nextScene = GD.Load<PackedScene>(sceneToAdd.ResourcePath);
var newScene = nextScene.Instantiate();
GetTree().Root.AddChild(newScene);
GetTree().Paused = true;
}
}
+17
View File
@@ -0,0 +1,17 @@
[gd_scene load_steps=5 format=3 uid="uid://vwrw05ob2caq"]
[ext_resource type="Script" path="res://GameLogic/Main.cs" id="1_g4hua"]
[ext_resource type="PackedScene" uid="uid://b12gq4yqc3d8i" path="res://UI/MainMenu.tscn" id="2_kvovw"]
[ext_resource type="PackedScene" uid="uid://btl5fdyjewnwc" path="res://Levels/Scenes/Level3.tscn" id="4_bs7wi"]
[ext_resource type="PackedScene" uid="uid://cxj6yeddshy16" path="res://GameLogic/GameManager.tscn" id="11_wiyvp"]
[node name="Main" type="Node3D"]
script = ExtResource("1_g4hua")
Levels = Array[PackedScene]([ExtResource("4_bs7wi")])
GameManager = ExtResource("11_wiyvp")
[node name="MainMenu" parent="." instance=ExtResource("2_kvovw")]
z_index = 100
[node name="SFXPlayer" type="AudioStreamPlayer" parent="."]
max_polyphony = 10
+8
View File
@@ -0,0 +1,8 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://blksoavfhtf06"]
[ext_resource type="Shader" path="res://Levels/Scenes/Door.gdshader" id="1_by6f6"]
[resource]
render_priority = 1
shader = ExtResource("1_by6f6")
shader_parameter/albedo = null
+113
View File
@@ -0,0 +1,113 @@
[gd_scene load_steps=7 format=3 uid="uid://jgf7k1r35km1"]
[ext_resource type="PackedScene" uid="uid://0tegxun85rq" path="res://Textures/Models/exitprotal.gltf" id="1_jebs8"]
[ext_resource type="Script" path="res://Levels/Scripts/AreaExit.cs" id="2_4y188"]
[sub_resource type="Animation" id="Animation_t7yyb"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Cylinder:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Circle:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Circle_001:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
[sub_resource type="Animation" id="Animation_y78yk"]
resource_name = "Spin"
length = 45.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Cylinder:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 45),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 6.28319, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Circle:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 45),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, -6.28319, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Circle_001:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 45),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 6.28319, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fkf2e"]
_data = {
"RESET": SubResource("Animation_t7yyb"),
"Spin": SubResource("Animation_y78yk")
}
[sub_resource type="CylinderShape3D" id="CylinderShape3D_v7qe0"]
height = 3.34825
radius = 1.79103
[node name="Exit Portal" instance=ExtResource("1_jebs8")]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="3"]
autoplay = "Spin"
libraries = {
"": SubResource("AnimationLibrary_fkf2e")
}
[node name="Area3D" type="Area3D" parent="." index="4"]
collision_layer = 8
collision_mask = 8
script = ExtResource("2_4y188")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.11619)
shape = SubResource("CylinderShape3D_v7qe0")
[connection signal="body_entered" from="Area3D" to="Area3D" method="OnExitEntered"]
Binary file not shown.
+48
View File
@@ -0,0 +1,48 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cthfld06b4dng"
path="res://.godot/imported/STAGE 5.blend-8358ddb2a6df2468fd8b8b59e9c3b69c.scn"
[deps]
source_file="res://Levels/Models/STAGE 5.blend"
dest_files=["res://.godot/imported/STAGE 5.blend-8358ddb2a6df2468fd8b8b59e9c3b69c.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
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
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
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
Binary file not shown.
+48
View File
@@ -0,0 +1,48 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bc3wjl3ibs5q7"
path="res://.godot/imported/STAGE 6.blend-98cd66082282f83ec6ad0702c192a4fb.scn"
[deps]
source_file="res://Levels/Models/STAGE 6.blend"
dest_files=["res://.godot/imported/STAGE 6.blend-98cd66082282f83ec6ad0702c192a4fb.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
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
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
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
Binary file not shown.
+48
View File
@@ -0,0 +1,48 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://biurk21cl5wxw"
path="res://.godot/imported/STAGE 7.blend-25d409d91f0f4219e3b34309a6e298c7.scn"
[deps]
source_file="res://Levels/Models/STAGE 7.blend"
dest_files=["res://.godot/imported/STAGE 7.blend-25d409d91f0f4219e3b34309a6e298c7.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
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
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
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
Binary file not shown.
+48
View File
@@ -0,0 +1,48 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dibismvgu8151"
path="res://.godot/imported/STAGE 8.blend-a2c42b5d8a1ab6153c93543b12f39a36.scn"
[deps]
source_file="res://Levels/Models/STAGE 8.blend"
dest_files=["res://.godot/imported/STAGE 8.blend-a2c42b5d8a1ab6153c93543b12f39a36.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
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
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
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
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8sjnfh5s14up"
path.s3tc="res://.godot/imported/STAGE 1_CLOUD TRAN 1.png-7f9feabd305a13601d056ccdbdf6d8d9.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/STAGE 1_CLOUD TRAN 1.png"
dest_files=["res://.godot/imported/STAGE 1_CLOUD TRAN 1.png-7f9feabd305a13601d056ccdbdf6d8d9.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cbxhj21r45d01"
path.s3tc="res://.godot/imported/STAGE 1_CLOUD TRAN 2.png-75d819a0621777e6a4d5b4a9218f4ccf.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/STAGE 1_CLOUD TRAN 2.png"
dest_files=["res://.godot/imported/STAGE 1_CLOUD TRAN 2.png-75d819a0621777e6a4d5b4a9218f4ccf.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8l4bipck52u"
path.s3tc="res://.godot/imported/STAGE 1_Screenshot 2023-09-03 at 13.29.png-aee248d2ac3cd06de6b6e8ec5628aecc.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/STAGE 1_Screenshot 2023-09-03 at 13.29.png"
dest_files=["res://.godot/imported/STAGE 1_Screenshot 2023-09-03 at 13.29.png-aee248d2ac3cd06de6b6e8ec5628aecc.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -2,8 +2,8 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://ubtk0ki6dlvn"
path.s3tc="res://.godot/imported/link_MI_ear_alb.png-8a118b9cbabd4d9aed2bad2915ec0747.s3tc.ctex"
uid="uid://dcwooc3thxekc"
path.s3tc="res://.godot/imported/STAGE 1_hexa.png-0d4c927974461e25fe664e717468c437.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -12,8 +12,8 @@ generator_parameters={}
[deps]
source_file="res://Models/TestModels/link_MI_ear_alb.png"
dest_files=["res://.godot/imported/link_MI_ear_alb.png-8a118b9cbabd4d9aed2bad2915ec0747.s3tc.ctex"]
source_file="res://Levels/Models/Stage1/STAGE 1_hexa.png"
dest_files=["res://.godot/imported/STAGE 1_hexa.png-0d4c927974461e25fe664e717468c437.s3tc.ctex"]
[params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dr6siwcw6qlg2"
path.s3tc="res://.godot/imported/STAGE 1_trancodou4.png-f939e9c17561ce7f37e5ebd909d92b04.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/STAGE 1_trancodou4.png"
dest_files=["res://.godot/imported/STAGE 1_trancodou4.png-f939e9c17561ce7f37e5ebd909d92b04.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6il61u5ajrei"
path.s3tc="res://.godot/imported/STAGE 1_trans cloud 3.png-f0984ed6012ef1804580c6b3dc5d2d53.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/STAGE 1_trans cloud 3.png"
dest_files=["res://.godot/imported/STAGE 1_trans cloud 3.png-f0984ed6012ef1804580c6b3dc5d2d53.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
File diff suppressed because one or more lines are too long
+5
View File
@@ -0,0 +1,5 @@
[gd_scene load_steps=2 format=3 uid="uid://baktjdknecdid"]
[ext_resource type="PackedScene" uid="uid://dg3k3cvfyaqx1" path="res://Levels/Models/Stage1/STAGE 1.gltf" id="1_kaeis"]
[node name="STAGE 1" instance=ExtResource("1_kaeis")]
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,32 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dpuyhoh47urss"
path="res://.godot/imported/FINAL STAGE.gltf-99efbd72c9b5c55e5201e58d3b54d91f.scn"
[deps]
source_file="res://Levels/Models/Stage10/FINAL STAGE.gltf"
dest_files=["res://.godot/imported/FINAL STAGE.gltf-99efbd72c9b5c55e5201e58d3b54d91f.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
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
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
gltf/embedded_image_handling=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0waffuexnnrn"
path.s3tc="res://.godot/imported/FINAL STAGE_BRAIN.png-3eacccd7f0acef8082a7d282da4b308a.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage10/FINAL STAGE_BRAIN.png"
dest_files=["res://.godot/imported/FINAL STAGE_BRAIN.png-3eacccd7f0acef8082a7d282da4b308a.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cuhp6ndq6h84u"
path.s3tc="res://.godot/imported/FINAL STAGE_BUSINESS.png-d4e6b25cf555d988cb1fd1414df16613.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage10/FINAL STAGE_BUSINESS.png"
dest_files=["res://.godot/imported/FINAL STAGE_BUSINESS.png-d4e6b25cf555d988cb1fd1414df16613.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b62j30essojgi"
path.s3tc="res://.godot/imported/FINAL STAGE_CASTLE.png-f719412a3bbcbe48214c4d9886626fe3.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage10/FINAL STAGE_CASTLE.png"
dest_files=["res://.godot/imported/FINAL STAGE_CASTLE.png-f719412a3bbcbe48214c4d9886626fe3.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@@ -2,8 +2,8 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cp8bxedhoqdqa"
path.s3tc="res://.godot/imported/link_MI_body_alb.png-57b8628ae8b879ccf189bbad5b09653d.s3tc.ctex"
uid="uid://shd4e84lmhmq"
path.s3tc="res://.godot/imported/FINAL STAGE_DNA.png-4b672364bd1ad4addd7f3886c99e0c16.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -12,8 +12,8 @@ generator_parameters={}
[deps]
source_file="res://Models/TestModels/link_MI_body_alb.png"
dest_files=["res://.godot/imported/link_MI_body_alb.png-57b8628ae8b879ccf189bbad5b09653d.s3tc.ctex"]
source_file="res://Levels/Models/Stage10/FINAL STAGE_DNA.png"
dest_files=["res://.godot/imported/FINAL STAGE_DNA.png-4b672364bd1ad4addd7f3886c99e0c16.s3tc.ctex"]
[params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://diqvm221wx5g1"
path.s3tc="res://.godot/imported/FINAL STAGE_DOMINI.png-d14fc4b4e7e3e2d3843081554015b939.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage10/FINAL STAGE_DOMINI.png"
dest_files=["res://.godot/imported/FINAL STAGE_DOMINI.png-d14fc4b4e7e3e2d3843081554015b939.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
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Some files were not shown because too many files have changed in this diff Show More