Compare commits

33 Commits

Author SHA1 Message Date
7599d3a665 Boss orbs 2023-09-12 11:58:58 -07:00
37180e2def Fix various issues 2023-09-12 09:35:00 -07:00
a5d36734ef Add attack patterns for boss 2023-09-11 20:01:18 -07:00
4d8fbda71b idk dude 2023-09-11 17:42:11 -07:00
ba9c1e320e Scene transitions 2023-09-11 11:17:52 -07:00
28a29a88fe Fix game over bug 2023-09-11 00:57:50 -07:00
5788c41731 Fix hitbox 2023-09-11 00:46:37 -07:00
cb1cad1271 Fix collision with player 2023-09-11 00:43:22 -07:00
51307c0d40 Scene transitions initial implementation 2023-09-11 00:07:40 -07:00
Steven Long
81a56986ac Title transition 2023-09-10 22:16:09 -07:00
ebf9f6c117 Progress check-in to laptop 2023-09-10 19:49:59 -07:00
ed28a4bb70 Bug fix 2023-09-10 15:07:13 -07:00
f0f02bbd17 Update stuff 2023-09-10 12:18:02 -07:00
f67963b129 Buggy but playable, auto-complete on stage 6 still a bug 2023-09-08 20:13:58 -07:00
29140712f6 Elevation shot 2023-09-08 14:09:18 -07:00
f7008b40ff Fix capricorn projectile bug 2023-09-08 12:46:23 -07:00
9256c0a09e Re-import bgm as ogg, fix teleport bug (hopefully) 2023-09-08 08:56:44 -07:00
4309111382 Update boss fight 2023-09-08 01:40:32 -07:00
929629a826 Boss hit animation 2023-09-08 01:34:37 -07:00
Steven Long
5362240120 Re-enable collisions 2023-09-07 23:28:00 -07:00
Steven Long
8e363587b9 Enable stage collisions 2023-09-07 22:06:54 -07:00
833ad3209e goodbye collisions 2023-09-07 20:03:22 -07:00
4b840bbe7f Door hit 2023-09-07 01:21:05 -07:00
379ef0189c Add wall boundaries 2023-09-06 20:53:38 -07:00
8a923f04c4 ????????? 2023-09-06 20:32:16 -07:00
5405c33192 Fix music loop 2023-09-06 19:55:00 -07:00
7733032397 Fix megami box 2023-09-06 19:51:25 -07:00
41adf908a5 Actual fix 2023-09-06 18:28:14 -07:00
f4c0944afa Fix range enemy rotation 2023-09-06 17:59:16 -07:00
aac5fbd297 Fix game over 2023-09-06 17:41:53 -07:00
5acfb9300c Make enemy shots smaller 2023-09-06 15:38:27 -07:00
d7dd58b5df Refactor projectiles 2023-09-06 15:20:34 -07:00
d536aa2014 Refactor 2023-09-06 14:43:12 -07:00
283 changed files with 20574 additions and 15345 deletions

View File

@@ -0,0 +1,14 @@
[gd_scene load_steps=3 format=3 uid="uid://dykvpgrjto227"]
[sub_resource type="Animation" id="Animation_7sp5o"]
resource_name = "ProjectileAnimation"
[sub_resource type="AnimationLibrary" id="AnimationLibrary_1g8r3"]
_data = {
"ProjectileAnimation": SubResource("Animation_7sp5o")
}
[node name="AnimationPlayer" type="AnimationPlayer"]
libraries = {
"": SubResource("AnimationLibrary_1g8r3")
}

BIN
Audio/BGM/BossTheme.ogg Normal file

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://cb3wcnvvmogkh"
path="res://.godot/imported/BossTheme.ogg-459b51256339e59464889a4669185554.oggvorbisstr"
[deps]
source_file="res://Audio/BGM/BossTheme.ogg"
dest_files=["res://.godot/imported/BossTheme.ogg-459b51256339e59464889a4669185554.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -1,24 +0,0 @@
[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=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
Audio/BGM/GameOverTheme.ogg Normal file

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bjiskpj5g86sr"
path="res://.godot/imported/GameOverTheme.ogg-4305545c9f4c8e8c96ca0f12024e0581.oggvorbisstr"
[deps]
source_file="res://Audio/BGM/GameOverTheme.ogg"
dest_files=["res://.godot/imported/GameOverTheme.ogg-4305545c9f4c8e8c96ca0f12024e0581.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -1,24 +0,0 @@
[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

BIN
Audio/BGM/LevelTheme.ogg Normal file

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bti387lu4dnfp"
path="res://.godot/imported/LevelTheme.ogg-59eab2762fa29514e6a1603812a098df.oggvorbisstr"
[deps]
source_file="res://Audio/BGM/LevelTheme.ogg"
dest_files=["res://.godot/imported/LevelTheme.ogg-59eab2762fa29514e6a1603812a098df.oggvorbisstr"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -1,24 +0,0 @@
[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=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
Audio/BGM/OpeningTheme.ogg Normal file

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://c1cot3ppc44rn"
path="res://.godot/imported/OpeningTheme.ogg-3e12ca3ad85ca7dd71d6f3b774212a5d.oggvorbisstr"
[deps]
source_file="res://Audio/BGM/OpeningTheme.ogg"
dest_files=["res://.godot/imported/OpeningTheme.ogg-3e12ca3ad85ca7dd71d6f3b774212a5d.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -1,24 +0,0 @@
[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=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
Audio/BGM/TitleTheme.ogg Normal file

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://dgskdjt8opeep"
path="res://.godot/imported/TitleTheme.ogg-955f1f76f6a13fdf046575d6a1db7cdb.oggvorbisstr"
[deps]
source_file="res://Audio/BGM/TitleTheme.ogg"
dest_files=["res://.godot/imported/TitleTheme.ogg-955f1f76f6a13fdf046575d6a1db7cdb.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -1,24 +0,0 @@
[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=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

View File

@@ -3,12 +3,12 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://cdps3mfvdxdud"
path="res://.godot/imported/Select.wav-7133743fa12346242cba11b6ff8e2589.sample"
path="res://.godot/imported/select.wav-2635c7b58e339437700447f3d280ad9e.sample"
[deps]
source_file="res://Audio/SFX/Select.wav"
dest_files=["res://.godot/imported/Select.wav-7133743fa12346242cba11b6ff8e2589.sample"]
source_file="res://Audio/SFX/select.wav"
dest_files=["res://.godot/imported/select.wav-2635c7b58e339437700447f3d280ad9e.sample"]
[params]

View File

@@ -1,10 +0,0 @@
using Godot;
public partial class EnemyBullet : Projectile
{
public override void _PhysicsProcess(double delta)
{
TranslateObjectLocal(new Vector3(0, 0, -Speed * (float)delta));
}
}

View File

@@ -1,48 +1,54 @@
[gd_scene load_steps=6 format=3 uid="uid://rlxnnw4yay7e"]
[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="Script" path="res://Player/Base/Projectile.cs" id="1_ex3g8"]
[ext_resource type="Texture2D" uid="uid://dd71tdgrgic46" path="res://Textures/Projectiles/LB ORB.png" id="2_6l2aj"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_phgri"]
albedo_color = Color(0.584314, 0.0352941, 0.141176, 1)
[sub_resource type="SphereMesh" id="SphereMesh_wuk0e"]
material = SubResource("StandardMaterial3D_phgri")
[sub_resource type="Curve3D" id="Curve3D_eve6n"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[sub_resource type="CylinderShape3D" id="CylinderShape3D_e4v7f"]
radius = 0.4
height = 7.0
radius = 0.154574
[node name="TestBullet" type="Node3D"]
script = ExtResource("1_rv13r")
_projectileSpeed = 3.0
[node name="EnemyBullet" type="Path3D"]
curve = SubResource("Curve3D_eve6n")
script = ExtResource("1_ex3g8")
[node name="RigidBody3D" type="RigidBody3D" parent="."]
collision_layer = 4
collision_mask = 0
[node name="PathFollow3D" type="PathFollow3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
loop = false
tilt_enabled = false
[node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
collision_layer = 0
collision_mask = 2
gravity_scale = 0.0
custom_integrator = true
continuous_cd = true
max_contacts_reported = 10
contact_monitor = true
can_sleep = false
lock_rotation = true
freeze = true
freeze_mode = 1
[node name="MeshInstance3D" type="MeshInstance3D" parent="RigidBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.02602, 0)
visible = false
mesh = SubResource("SphereMesh_wuk0e")
skeleton = NodePath("../..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0111055, 1.02602, 0)
[node name="CollisionShape3D" type="CollisionShape3D" parent="PathFollow3D/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"]
transform = Transform3D(0.08, 0, 0, 0, 0.08, 0, 0, 0, 0.08, -0.379318, 1.02602, 0.436329)
[node name="Sprite3D" type="Sprite3D" parent="PathFollow3D/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="."]
[node name="TTL" type="Timer" parent="PathFollow3D"]
process_callback = 0
wait_time = 0.8
autostart = true
[connection signal="body_entered" from="PathFollow3D/RigidBody3D" to="." method="OnPlayerHit"]

View File

@@ -1,12 +1,14 @@
using Godot;
using System.Linq;
using Godot;
public partial class FireAtPlayer : Timer
{
[Export]
private Area3D _enemy;
private BasicEnemy _enemy;
[Export]
private PackedScene _fireProjectile;
[Export]
private double _distanceToPlayer = 3;
public void OnFireAtPlayer()
{
@@ -15,15 +17,13 @@ public partial class FireAtPlayer : Timer
{
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 = _enemy.Rotation;
projectile.Position = _enemy.Position;
GetParent().AddChild(projectile);
}
}
private void OnDied()
if (_enemy.Position.DistanceTo(target.Position) < _distanceToPlayer)
{
Stop();
var projectile = _fireProjectile.Instantiate<Projectile>();
projectile.Rotation = new Vector3(0, _enemy.Rotation.Y, 0);
projectile.Position = _enemy.Position;
AddChild(projectile);
}
}
}
}

View File

@@ -0,0 +1,26 @@
using Godot;
using Godot.Collections;
using System.Linq;
public partial class GodCircuitAttacks : Timer
{
[Export]
public Array<PackedScene> _attacks;
private int _currentAttack = 0;
public override void _Process(double delta)
{
if (GetTree().GetFirstNodeInGroup("Player") != null)
Paused = false;
else
Paused = true;
}
public void OnTimeout()
{
_currentAttack = GD.RandRange(0, _attacks.Count - 1);
var attack = _attacks.ElementAt(_currentAttack).Instantiate();
AddChild(attack);
}
}

View File

@@ -0,0 +1,47 @@
[gd_scene load_steps=5 format=3 uid="uid://uwia12i7yykb"]
[ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_4wsx3"]
[ext_resource type="Texture2D" uid="uid://blhihtd4vmbrg" path="res://Textures/Projectiles/Layer 7.png" id="1_odish"]
[sub_resource type="Curve3D" id="Curve3D_5bny4"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[sub_resource type="BoxShape3D" id="BoxShape3D_54g6d"]
size = Vector3(1, 4.3194, 1.42031)
[node name="Laser Attack" type="Path3D"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -3, 0, 1.5)
curve = SubResource("Curve3D_5bny4")
script = ExtResource("1_4wsx3")
_projectileSpeed = 3.0
[node name="PathFollow3D" type="PathFollow3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
rotation_mode = 0
loop = false
[node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.944978)
collision_layer = 0
collision_mask = 2
continuous_cd = true
max_contacts_reported = 5
contact_monitor = true
can_sleep = false
freeze = true
freeze_mode = 1
[node name="CollisionShape3D" type="CollisionShape3D" parent="PathFollow3D/RigidBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, 1.78244)
shape = SubResource("BoxShape3D_54g6d")
[node name="Sprite3D" type="Sprite3D" parent="PathFollow3D/RigidBody3D/CollisionShape3D"]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
axis = 1
texture = ExtResource("1_odish")
[connection signal="body_entered" from="PathFollow3D/RigidBody3D" to="." method="OnPlayerHit"]

View File

@@ -0,0 +1,46 @@
[gd_scene load_steps=5 format=3 uid="uid://cerac64r5jewa"]
[ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_cveok"]
[ext_resource type="Texture2D" uid="uid://cpvq0rru8k7l5" path="res://Textures/Projectiles/Layer 3.png" id="1_p5wrg"]
[sub_resource type="Curve3D" id="Curve3D_h1xf0"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0, -2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0),
"tilts": PackedFloat32Array(0, 0, 0, 0, 0)
}
point_count = 5
[sub_resource type="CylinderShape3D" id="CylinderShape3D_o3ugd"]
radius = 0.25
[node name="Orb Attack" type="Path3D"]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -3, 0, 1.5)
curve = SubResource("Curve3D_h1xf0")
script = ExtResource("1_cveok")
_projectileSpeed = 1.5
[node name="PathFollow3D" type="PathFollow3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
rotation_mode = 0
[node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"]
transform = Transform3D(1, 0, 7.10543e-15, 0, 1, 0, -7.10543e-15, 0, 1, 0, 0, 0)
collision_layer = 0
collision_mask = 2
continuous_cd = true
max_contacts_reported = 5
contact_monitor = true
can_sleep = false
freeze = true
freeze_mode = 1
[node name="CollisionShape3D" type="CollisionShape3D" parent="PathFollow3D/RigidBody3D"]
transform = Transform3D(1, 0, 7.10543e-15, 0, 1, 0, -7.10543e-15, 0, 1, 0, 0, 0)
shape = SubResource("CylinderShape3D_o3ugd")
[node name="Sprite3D" type="Sprite3D" parent="PathFollow3D/RigidBody3D/CollisionShape3D"]
transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0)
axis = 1
texture = ExtResource("1_p5wrg")
[connection signal="body_entered" from="PathFollow3D/RigidBody3D" to="." method="OnPlayerHit"]

View File

@@ -1,30 +1,189 @@
[gd_scene load_steps=4 format=3 uid="uid://brbshysbgd47q"]
[gd_scene load_steps=16 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"]
[ext_resource type="Texture2D" uid="uid://b41ur7kyd8vdl" path="res://Levels/Models/Stage10/god circuit stage 1_image.png" id="2_2fhjk"]
[ext_resource type="Shader" path="res://Levels/Scenes/Door.gdshader" id="3_05w5o"]
[ext_resource type="AudioStream" uid="uid://crto2nljfvqnm" path="res://Audio/SFX/midboss hurt.wav" id="4_kc3iq"]
[ext_resource type="Script" path="res://Enemies/Attacks/GodCircuitAttacks/GodCircuitAttacks.cs" id="5_hp00m"]
[ext_resource type="PackedScene" uid="uid://uwia12i7yykb" path="res://Enemies/Attacks/GodCircuitAttacks/LaserAttack.tscn" id="6_frlsw"]
[ext_resource type="PackedScene" uid="uid://cerac64r5jewa" path="res://Enemies/Attacks/GodCircuitAttacks/OrbAttack.tscn" id="7_1t6n0"]
[sub_resource type="BoxShape3D" id="BoxShape3D_l1qm4"]
size = Vector3(2.64724, 5.07315, 0.653787)
[sub_resource type="Animation" id="Animation_n85p2"]
resource_name = "OnHit"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("StaticBody3D/god circuit stage 1/Cube:layers")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [1, 0, 1]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("StaticBody3D/god circuit stage 1/Cube2:layers")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.1, 0.3),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [0, 1, 0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("AudioStreamPlayer:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[node name="God Circuit" type="Node3D"]
[sub_resource type="Animation" id="Animation_47f75"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("StaticBody3D/god circuit stage 1/Cube:layers")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("StaticBody3D/god circuit stage 1/Cube2:layers")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("AudioStreamPlayer:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qiwcq"]
_data = {
"OnHit": SubResource("Animation_n85p2"),
"RESET": SubResource("Animation_47f75")
}
[sub_resource type="BoxShape3D" id="BoxShape3D_n2erm"]
size = Vector3(2.89997, 1, 5.5749)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7b0kx"]
resource_name = "Material.001"
cull_mode = 2
vertex_color_use_as_albedo = true
albedo_texture = ExtResource("2_2fhjk")
[sub_resource type="ArrayMesh" id="ArrayMesh_f3cka"]
_surfaces = [{
"aabb": AABB(-1, -1, -1, 2.66138, 0.649563, 5.00824),
"format": 4097,
"index_count": 36,
"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 7, 0, 3, 0, 2, 0, 6, 0, 7, 0, 6, 0, 5, 0, 7, 0, 6, 0, 4, 0, 5, 0, 4, 0, 1, 0, 5, 0, 4, 0, 0, 0, 1, 0, 2, 0, 4, 0, 6, 0, 2, 0, 0, 0, 4, 0, 7, 0, 1, 0, 3, 0, 7, 0, 5, 0, 1, 0),
"name": "Material.001",
"primitive": 3,
"vertex_count": 8,
"vertex_data": PackedByteArray(0, 0, 128, 191, 0, 0, 128, 191, 108, 67, 128, 64, 0, 0, 128, 191, 108, 108, 179, 190, 108, 67, 128, 64, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 108, 108, 179, 190, 0, 0, 128, 191, 59, 168, 212, 63, 0, 0, 128, 191, 108, 67, 128, 64, 59, 168, 212, 63, 108, 108, 179, 190, 108, 67, 128, 64, 59, 168, 212, 63, 0, 0, 128, 191, 0, 0, 128, 191, 59, 168, 212, 63, 108, 108, 179, 190, 0, 0, 128, 191)
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_vv6dc"]
resource_name = "god circuit stage 1_Cube_001"
_surfaces = [{
"aabb": AABB(-1, -1, -1, 2.66138, 0.649563, 5.00824),
"attribute_data": PackedByteArray(0, 124, 90, 63, 49, 24, 1, 63, 0, 0, 0, 62, 0, 0, 128, 62, 72, 98, 91, 63, 194, 196, 208, 62, 207, 12, 103, 63, 49, 24, 1, 63, 170, 9, 117, 63, 194, 196, 208, 62, 63, 130, 124, 63, 128, 33, 235, 59, 0, 124, 90, 63, 196, 14, 233, 62, 0, 0, 0, 62, 0, 0, 0, 63, 86, 189, 87, 63, 192, 129, 255, 62, 207, 12, 103, 63, 196, 14, 233, 62, 120, 203, 105, 63, 192, 129, 255, 62, 52, 130, 124, 63, 189, 41, 126, 63, 0, 0, 192, 62, 0, 0, 128, 62, 72, 98, 91, 63, 196, 9, 2, 63, 152, 41, 82, 63, 206, 91, 210, 62, 170, 9, 117, 63, 196, 9, 2, 63, 32, 56, 40, 60, 128, 33, 235, 59, 212, 104, 106, 63, 206, 91, 210, 62, 0, 0, 192, 62, 0, 0, 0, 63, 86, 189, 87, 63, 122, 101, 219, 62, 152, 41, 82, 63, 34, 109, 1, 63, 120, 203, 105, 63, 122, 101, 219, 62, 64, 54, 40, 60, 189, 41, 126, 63, 212, 104, 106, 63, 34, 109, 1, 63),
"format": 4119,
"index_count": 36,
"index_data": PackedByteArray(0, 0, 9, 0, 3, 0, 0, 0, 6, 0, 9, 0, 8, 0, 21, 0, 10, 0, 8, 0, 19, 0, 21, 0, 20, 0, 17, 0, 23, 0, 20, 0, 14, 0, 17, 0, 13, 0, 4, 0, 15, 0, 13, 0, 2, 0, 4, 0, 7, 0, 12, 0, 18, 0, 7, 0, 1, 0, 12, 0, 22, 0, 5, 0, 11, 0, 22, 0, 16, 0, 5, 0),
"material": SubResource("StandardMaterial3D_7b0kx"),
"name": "Material.001",
"primitive": 3,
"vertex_count": 24,
"vertex_data": PackedByteArray(0, 0, 128, 191, 0, 0, 128, 191, 108, 67, 128, 64, 0, 0, 255, 127, 255, 127, 255, 255, 0, 0, 128, 191, 0, 0, 128, 191, 108, 67, 128, 64, 255, 127, 0, 0, 255, 255, 255, 191, 0, 0, 128, 191, 0, 0, 128, 191, 108, 67, 128, 64, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 128, 191, 108, 108, 179, 190, 108, 67, 128, 64, 0, 0, 255, 127, 255, 127, 255, 255, 0, 0, 128, 191, 108, 108, 179, 190, 108, 67, 128, 64, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 128, 191, 108, 108, 179, 190, 108, 67, 128, 64, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 255, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 255, 127, 0, 0, 255, 255, 255, 191, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 255, 0, 0, 128, 191, 108, 108, 179, 190, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 255, 0, 0, 128, 191, 108, 108, 179, 190, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 255, 0, 0, 128, 191, 108, 108, 179, 190, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 59, 168, 212, 63, 0, 0, 128, 191, 108, 67, 128, 64, 255, 127, 0, 0, 255, 255, 255, 191, 59, 168, 212, 63, 0, 0, 128, 191, 108, 67, 128, 64, 255, 127, 255, 127, 255, 127, 255, 255, 59, 168, 212, 63, 0, 0, 128, 191, 108, 67, 128, 64, 255, 255, 255, 127, 255, 127, 255, 255, 59, 168, 212, 63, 108, 108, 179, 190, 108, 67, 128, 64, 255, 127, 255, 127, 255, 127, 255, 255, 59, 168, 212, 63, 108, 108, 179, 190, 108, 67, 128, 64, 255, 127, 255, 255, 0, 0, 255, 191, 59, 168, 212, 63, 108, 108, 179, 190, 108, 67, 128, 64, 255, 255, 255, 127, 255, 127, 255, 255, 59, 168, 212, 63, 0, 0, 128, 191, 0, 0, 128, 191, 255, 127, 0, 0, 255, 255, 255, 191, 59, 168, 212, 63, 0, 0, 128, 191, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 255, 59, 168, 212, 63, 0, 0, 128, 191, 0, 0, 128, 191, 255, 255, 255, 127, 255, 127, 255, 255, 59, 168, 212, 63, 108, 108, 179, 190, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 255, 59, 168, 212, 63, 108, 108, 179, 190, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 59, 168, 212, 63, 108, 108, 179, 190, 0, 0, 128, 191, 255, 255, 255, 127, 255, 127, 255, 255)
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_f3cka")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_aqrc7"]
render_priority = 0
shader = ExtResource("3_05w5o")
[node name="God Circuit" type="Node3D" node_paths=PackedStringArray("_animationPlayer")]
transform = Transform3D(1, 0, 0, 0, 0.877012, 0.480468, 0, -0.480468, 0.877012, 0, 1.29734, 0)
script = ExtResource("1_gyfww")
_animationPlayer = NodePath("AnimationPlayer")
[node name="god circuit stage 1" parent="." instance=ExtResource("1_w12q0")]
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_qiwcq")
}
[node name="Area3D" type="Area3D" parent="god circuit stage 1"]
[node name="StaticBody3D" type="RigidBody3D" parent="."]
transform = Transform3D(-1, 7.54979e-08, -7.54979e-08, -7.54979e-08, 0, 1, 7.54979e-08, 1, 0, 0, 0, 0)
collision_layer = 0
collision_mask = 2
collision_mask = 72
continuous_cd = true
max_contacts_reported = 1
contact_monitor = true
can_sleep = false
freeze = true
freeze_mode = 1
[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="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 4.30333e-22, 0, 1, 0.317906, -0.678684, 1.59406)
shape = SubResource("BoxShape3D_n2erm")
[node name="StaticBody3D" type="StaticBody3D" parent="god circuit stage 1"]
collision_layer = 4096
collision_mask = 0
[node name="Timer" type="Timer" parent="StaticBody3D"]
wait_time = 5.0
autostart = true
script = ExtResource("5_hp00m")
_attacks = Array[PackedScene]([ExtResource("7_1t6n0"), ExtResource("6_frlsw")])
[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")
[node name="god circuit stage 1" type="Node3D" parent="StaticBody3D"]
transform = Transform3D(-1, -7.54979e-08, 7.54979e-08, 7.54979e-08, 0, 1, -7.54979e-08, 1, 0, 0, 0, 0)
[connection signal="body_entered" from="god circuit stage 1/Area3D" to="." method="OnHit"]
[node name="Cube" type="MeshInstance3D" parent="StaticBody3D/god circuit stage 1"]
transform = Transform3D(-1, 7.54979e-08, -7.54979e-08, -7.54979e-08, 0, 1, 7.54979e-08, 1, 0, 0, 0, 0)
mesh = SubResource("ArrayMesh_vv6dc")
skeleton = NodePath("")
[node name="Cube2" type="MeshInstance3D" parent="StaticBody3D/god circuit stage 1"]
transform = Transform3D(-1, 7.54979e-08, -7.54979e-08, -7.54979e-08, 0, 1, 7.54979e-08, 1, 0, 0, 0, 0)
layers = 0
material_override = SubResource("ShaderMaterial_aqrc7")
mesh = SubResource("ArrayMesh_vv6dc")
skeleton = NodePath("")
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_kc3iq")
[connection signal="body_entered" from="StaticBody3D" to="." method="OnHit"]
[connection signal="timeout" from="StaticBody3D/Timer" to="StaticBody3D/Timer" method="OnTimeout"]

View File

@@ -0,0 +1,3 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://d2081rstlyl4w"]
[resource]

View File

@@ -5,10 +5,7 @@ public partial class HealthPoints : Node
[Export]
public long MaximumHP { get; protected set; }
public long CurrentHP { get; protected set; }
[Export]
private TextureProgressBar _healthBar;
public long CurrentHP { get; set; }
public override void _Ready()
{
@@ -20,9 +17,4 @@ public partial class HealthPoints : Node
CurrentHP -= damage;
GD.Print(CurrentHP);
}
public void UpdateHealthbar()
{
_healthBar.Value = CurrentHP;
}
}

View File

@@ -2,7 +2,7 @@
public partial class HealthbarProgress : TextureProgressBar
{
public void UpdateBar(long amount, long full)
public void UpdateBar(long amount)
{
Value = amount;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,32 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dr6vgrhs3joil"
path="res://.godot/imported/DISSAPPEARING ENEMY.gltf-b34d11058e00cbb005301d0c8ab6a98b.scn"
[deps]
source_file="res://Enemies/Models/DISSAPPEARING ENEMY.gltf"
dest_files=["res://.godot/imported/DISSAPPEARING ENEMY.gltf-b34d11058e00cbb005301d0c8ab6a98b.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

View File

@@ -2,6 +2,9 @@
public partial class BasicEnemy : Node3D
{
[Export]
private HealthPoints _hp;
protected GameManager _gameManager;
public override void _Ready()
@@ -10,9 +13,27 @@ public partial class BasicEnemy : Node3D
}
public void OnEnemyHit(Node3D node)
{
if (node is Character)
return;
_hp.TakeDamage(1);
if (_hp.CurrentHP <= 0)
{
var currentLevel = (Level)GetTree().GetFirstNodeInGroup("Level");
currentLevel.OnEnemyDefeated(this);
QueueFree();
}
}
public void OnPlayerHit(Node3D node)
{
if (node is Character character && character.HasMethod(Character.MethodName.OnHit))
{
GD.Print("Collision with player at " + node.GlobalPosition + "by " + Name);
GD.Print("Player hit: " + character.Name);
character.Call(Character.MethodName.OnHit, this);
}
}
}

View File

@@ -2,13 +2,40 @@ using Godot;
public partial class GodCircuit : Node3D
{
[Export]
private AnimationPlayer _animationPlayer;
[Signal]
public delegate void OnEnemyBossHitEventHandler(long damage);
private void OnHit(Node3D node)
{
if (node is Character character && character.HasMethod(Character.MethodName.OnHit))
{
GD.Print("Player hit: " + character.Name);
character.Call(Character.MethodName.OnHit, node);
}
else
{
GD.Print("Hit");
_animationPlayer.Play("OnHit");
var hpComponent = GetNode<HealthPoints>("HP Component");
hpComponent.TakeDamage(800000);
hpComponent.UpdateHealthbar();
EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP);
if (hpComponent.CurrentHP <= 0)
QueueFree();
}
}
private void OnBossOrbDestroyed()
{
var hpComponent = GetNode<HealthPoints>("HP Component");
_animationPlayer.Play("OnHit");
hpComponent.TakeDamage(30000000);
EmitSignal(SignalName.OnEnemyBossHit, hpComponent.CurrentHP);
if (hpComponent.CurrentHP <= 0)
hpComponent.CurrentHP = 1;
}
}

View File

@@ -5,6 +5,9 @@ public partial class MeleeEnemy : BasicEnemy
{
[Export]
private float _speed = 0.4f;
private bool _targetingPlayer = false;
[Export]
private double _distanceToPlayer = 3;
public override void _PhysicsProcess(double delta)
{
@@ -13,8 +16,12 @@ public partial class MeleeEnemy : BasicEnemy
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
if (_targetingPlayer || Position.DistanceTo(target.Position) < _distanceToPlayer)
{
Position = Position.MoveToward(target.Position, _speed * (float)delta);
LookAt(-target.Position, Vector3.Up);
_targetingPlayer = true;
}
}
}
}

View File

@@ -10,8 +10,8 @@ public partial class RangedEnemy : BasicEnemy
{
var convertedPlayers = players.Select(x => (Node3D)x);
var target = convertedPlayers.OrderBy(x => Position.DistanceTo(x.Position)).FirstOrDefault();
var area = GetChildren().OfType<Area3D>().Single();
area.LookAt(target.Position, Vector3.Up);
LookAt(target.Position, Vector3.Up);
Rotation = new Vector3(0, Rotation.Y, Rotation.Z);
}
}
}

View File

@@ -1,4 +1,4 @@
<Project Sdk="Godot.NET.Sdk/4.0.4">
<Project Sdk="Godot.NET.Sdk/4.1.1">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
@@ -8,6 +8,7 @@
<EmbeddedResource Remove="Scenes\**" />
</ItemGroup>
<ItemGroup>
<Folder Include="Player\Sagittarius\Attacks\" />
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>

14
GameJam2023.csproj.old.5 Normal file
View File

@@ -0,0 +1,14 @@
<Project Sdk="Godot.NET.Sdk/4.1.0">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Scenes\**" />
<EmbeddedResource Remove="Scenes\**" />
</ItemGroup>
<ItemGroup>
<Folder Include="Player\Sagittarius\Attacks\" />
<Folder Include="Textures\Models\" />
</ItemGroup>
</Project>

View File

@@ -6,169 +6,150 @@ using System.Linq;
public partial class GameManager : Node
{
[Signal]
public delegate void OnGameOverEventHandler();
public delegate void OnPlayerGameOverEventHandler();
[Signal]
public delegate void ReselectCharacterEventHandler(PlayerManager player);
public delegate void ReselectCharacterEventHandler(Player player);
[Signal]
public delegate void ClearPlayerBGEventHandler(Array<Player> players);
[Export]
private Array<PackedScene> PlayerScenes;
public Array<Controls> P1CharactersOut = new Array<Controls>();
public Array<Controls> P2CharactersOut = new Array<Controls>();
public IEnumerable<PlayerManager> Players = new List<PlayerManager>();
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((PlayerManager)player);
Players = Players.Append((Player)player);
GetTree().Root.AddChild(player);
}
}
public void OnAllEnemiesDefeated()
{
GD.Print("All enemies defeated");
OnLevelClear();
}
public void OnHandleCharacterSelectUI(PlayerManager player)
public void OnHandleCharacterSelectUI(Player player)
{
EmitSignal(SignalName.ReselectCharacter, player);
}
public void SetToNextCharacter(PlayerManager player)
public void SetToNextCharacter(Player player)
{
player._characterIndex = (++player._characterIndex) % player.CharactersLeftOnStage.Count();
GD.Print(player.CharactersLeftOnStage.ElementAt(player._characterIndex));
player.CharacterIndex = (++player.CharacterIndex) % player.CharactersLeftOnStage.Count();
GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
}
public void SetToPreviousCharacter(PlayerManager player)
public void SetToPreviousCharacter(Player player)
{
player._characterIndex = player._characterIndex == 0 ? player.CharactersLeftOnStage.Count() - 1 : --player._characterIndex;
player.CharacterIndex = player.CharacterIndex == 0 ? player.CharactersLeftOnStage.Count() - 1 : --player.CharacterIndex;
}
public void ResetPlayerPosition(PlayerManager player)
public void ResetPlayerPosition(Player player)
{
player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter);
GD.Print(player.CharactersLeftOnStage.ElementAt(player._characterIndex));
GD.Print(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
}
public void OnCharacterSelected(PlayerManager player)
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...");
var names = player.CharactersLeftOnStage.Select(x => x.Name).ToArray();
GD.Print(names);
if (player.CharactersLeftOnStage.Any())
{
var selectedCharacter = player.CharactersLeftOnStage[player._characterIndex];
player.SelectedCharacter = selectedCharacter;
GetTree().Root.AddChild(player.SelectedCharacter);
var character = player.CharactersLeftOnStage[player.CharacterIndex];
var instance = (Character)character.Instantiate();
instance.Initialize(player);
player.SelectedCharacter = instance;
player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter);
GetTree().Root.AddChild(player.SelectedCharacter);
}
}
public void RemoveCharacter(P1Controls character)
public void RemoveCharacter(Player player)
{
Players.ElementAt(0).CharactersLeftOnStage.Remove(character);
ResetPlayerPosition(player);
GetTree().Root.RemoveChild(character);
player.CharactersLeftOnStage.RemoveAt(player.CharacterIndex);
if (player.SelectedCharacter is not null)
GetTree().Root.RemoveChild(player.SelectedCharacter);
GD.Print(Players.ElementAt(0).CharactersLeftOnStage.Select(x => x.Name).ToArray());
player.CharacterIndex = 0;
if (player.CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, player);
Players.ElementAt(0)._characterIndex = 0;
if (Players.ElementAt(0).CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, Players.ElementAt(0));
if (!player.CharactersExited.Any() && !player.CharactersLeftOnStage.Any())
SetGameOver(player, true);
if (!P1CharactersOut.Any() && !Players.ElementAt(0).CharactersLeftOnStage.Any())
SetGameOver(Players.ElementAt(0), true);
if (Players.Count() == 2 && !P2CharactersOut.Any() && !Players.ElementAt(1).CharactersLeftOnStage.Any())
SetGameOver(Players.ElementAt(1), true);
if (Players.All(x => !x.CharactersLeftOnStage.Any()) && Players.Any(x => x.CharactersExited.Any()))
OnLevelClear();
}
public void RemoveCharacter(P2Controls character)
public void RemoveCharacterAndAddToExit(Player player)
{
Players.ElementAt(1).CharactersLeftOnStage.Remove(character);
GetTree().Root.RemoveChild(character);
GD.Print(Players.ElementAt(1).CharactersLeftOnStage.Select(x => x.Name).ToArray());
Players.ElementAt(1)._characterIndex = 0;
if (Players.ElementAt(1).CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, Players.ElementAt(1));
ResetPlayerPosition(player);
player.CharactersExited.Add(player.CharactersLeftOnStage.ElementAt(player.CharacterIndex));
RemoveCharacter(player);
}
public void RemoveCharacterAndAddToExit(P1Controls character)
{
P1CharactersOut.Add(character);
Players.ElementAt(0).CharactersLeftOnStage.Remove(character);
GetTree().Root.RemoveChild(character);
GD.Print(Players.ElementAt(0).CharactersLeftOnStage.Select(x => x.Name).ToArray());
Players.ElementAt(0)._characterIndex = 0;
if (Players.ElementAt(0).CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, Players.ElementAt(0));
}
public void RemoveCharacterAndAddToExit(P2Controls character)
{
P2CharactersOut.Add(character);
Players.ElementAt(1).CharactersLeftOnStage.Remove(character);
GetTree().Root.RemoveChild(character);
Players.ElementAt(1)._characterIndex = 0;
if (Players.ElementAt(1).CharactersLeftOnStage.Any())
EmitSignal(SignalName.ReselectCharacter, Players.ElementAt(1));
}
public void SetGameOver(PlayerManager player, bool isGameOver)
public void SetGameOver(Player player, bool isGameOver)
{
player.GameOver = isGameOver;
if (isGameOver)
EmitSignal(SignalName.OnGameOver);
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()
{
Players.ElementAt(0).CharactersLeftOnStage.AddRange(P1CharactersOut);
if (Players.Count() == 2)
Players.ElementAt(1).CharactersLeftOnStage.AddRange(P2CharactersOut);
var enemies = GetTree().GetNodesInGroup("Enemy").Where(x => !x.IsQueuedForDeletion());
foreach (var enemy in enemies)
enemy.QueueFree();
P1CharactersOut.Clear();
if (Players.Count() == 2)
P2CharactersOut.Clear();
var playerCharacters = GetTree().GetNodesInGroup("Player");
Players.ElementAt(0)._characterIndex = 0;
if (Players.Count() == 2)
Players.ElementAt(1)._characterIndex = 0;
var players = GetTree().GetNodesInGroup("Player");
foreach (var player in players)
GetTree().Root.RemoveChild(player);
var projectiles = GetTree().Root.GetChildren().OfType<Projectile>();
foreach (var projectile in projectiles)
GetTree().Root.RemoveChild(projectile);
var main = GetTree().Root.GetNode<Main>("/root/Main");
main.LoadNextLevel(_levelIndex++);
EmitSignal(SignalName.ClearPlayerBG, 0);
EmitSignal(SignalName.ClearPlayerBG, 1);
foreach (var player in Players)
EmitSignal(SignalName.ReselectCharacter, player);
{
player.CharactersLeftOnStage.AddRange(player.CharactersExited);
player.CharactersExited.Clear();
player.CharacterIndex = 0;
}
foreach (var character in playerCharacters)
character.GetParent().RemoveChild(character);
var projectiles = GetTree().GetNodesInGroup("Projectile").Where(x => !x.IsQueuedForDeletion());
foreach (var projectile in projectiles)
projectile.QueueFree();
var main = GetTree().Root.GetNode<Main>("/root/Main");
_levelIndex++;
main.LoadNextLevel(_levelIndex);
}
}

View File

@@ -1,24 +1,241 @@
[gd_scene load_steps=5 format=3 uid="uid://cxj6yeddshy16"]
[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="PackedScene" uid="uid://dq1gtd55p04do" path="res://UI/StageGUI.tscn" id="4_xi0i5"]
[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
current = true
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="StageGUI" parent="." instance=ExtResource("4_xi0i5")]
[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="ClearPlayerBG" from="." to="StageGUI/CharacterSelect" method="ClearPlayerBGs"]
[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="ClearPlayerBGs"]
[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"]

View File

@@ -8,9 +8,16 @@ public partial class Main : Node
public Array<PackedScene> Levels;
[Export]
public PackedScene GameManager;
[Export]
private Label _fpsCounter;
public int NumberOfPlayers = 0;
public override void _Process(double delta)
{
_fpsCounter.Text = $"FPS: {Engine.GetFramesPerSecond()}";
}
public void LoadLevel(int indexToLoad, int numberOfPlayers)
{
var sceneToLoad = Levels.ElementAt(indexToLoad);
@@ -22,16 +29,14 @@ public partial class Main : Node
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.SetBGMFromFilepath("Audio/BGM/LevelTheme.ogg");
bgmPlayer.PlayBGM();
GetTree().Paused = true;
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.Play($"Level{indexToLoad + 1}");
animationNode.AnimationFinished += EnableCharacterSelect;
}
public void LoadNextLevel(int currentSceneIndex)
@@ -39,25 +44,30 @@ public partial class Main : Node
if (currentSceneIndex < Levels.Count())
{
var currentScene = Levels.ToList().ElementAt(currentSceneIndex);
var nextScene = currentSceneIndex + 1;
CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(nextScene), currentScene);
CallDeferred(nameof(DeferredGoToScene), Levels.ElementAt(currentSceneIndex));
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.Play($"Level{currentSceneIndex + 1}");
animationNode.AnimationFinished += EnableCharacterSelect;
}
}
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)
{
if (GetTree().GetFirstNodeInGroup("Level") != null)
GetTree().GetFirstNodeInGroup("Level").QueueFree();
var nextScene = GD.Load<PackedScene>(sceneToAdd.ResourcePath);
var newScene = nextScene.Instantiate();
GetTree().Root.AddChild(newScene);
}
private void EnableCharacterSelect(StringName animationName)
{
GD.Print("On animation finished: Enable characters");
var gameManagerInstance = GetNode<GameManager>("GameManager");
foreach (var player in gameManagerInstance.Players)
gameManagerInstance.OnHandleCharacterSelectUI(player);
GetTree().Paused = true;
var animationNode = GetNode<AnimationPlayer>("SceneTransition/AnimationPlayer");
animationNode.AnimationFinished -= EnableCharacterSelect;
}
}

View File

@@ -1,25 +1,56 @@
[gd_scene load_steps=13 format=3 uid="uid://vwrw05ob2caq"]
[gd_scene load_steps=17 format=3 uid="uid://vwrw05ob2caq"]
[ext_resource type="Script" path="res://GameLogic/Main.cs" id="1_g4hua"]
[ext_resource type="PackedScene" uid="uid://dqv03pua4j8ga" path="res://Levels/Scenes/Level1.tscn" id="2_8xl51"]
[ext_resource type="PackedScene" uid="uid://btl5fdyjewnwc" path="res://Levels/Scenes/Level3.tscn" id="2_0yhby"]
[ext_resource type="PackedScene" uid="uid://dqv03pua4j8ga" path="res://Levels/Scenes/Level1.tscn" id="2_jq3qe"]
[ext_resource type="PackedScene" uid="uid://b12gq4yqc3d8i" path="res://UI/MainMenu.tscn" id="2_kvovw"]
[ext_resource type="PackedScene" uid="uid://basequfmpg04f" path="res://Levels/Scenes/Level2.tscn" id="3_t7swd"]
[ext_resource type="PackedScene" uid="uid://btl5fdyjewnwc" path="res://Levels/Scenes/Level3.tscn" id="4_bs7wi"]
[ext_resource type="PackedScene" uid="uid://ctvkevnc0wxka" path="res://Levels/Scenes/Level4.tscn" id="5_n8o1o"]
[ext_resource type="PackedScene" uid="uid://col60npvg7wr1" path="res://Levels/Scenes/Level6.tscn" id="6_pqdlv"]
[ext_resource type="PackedScene" uid="uid://8ukphol1isp2" path="res://Levels/Scenes/Level5.tscn" id="7_8fpis"]
[ext_resource type="PackedScene" uid="uid://bsq7edeueqyjg" path="res://Levels/Scenes/Level7.tscn" id="8_mi3pb"]
[ext_resource type="PackedScene" uid="uid://c4xcka4ekuur8" path="res://Levels/Scenes/Level8.tscn" id="9_1ajc1"]
[ext_resource type="PackedScene" uid="uid://djwln4at4ho44" path="res://Levels/Scenes/Level9.tscn" id="11_hkjaq"]
[ext_resource type="PackedScene" uid="uid://basequfmpg04f" path="res://Levels/Scenes/Level2.tscn" id="3_nhrqr"]
[ext_resource type="PackedScene" uid="uid://ctvkevnc0wxka" path="res://Levels/Scenes/Level4.tscn" id="5_xj47l"]
[ext_resource type="PackedScene" uid="uid://col60npvg7wr1" path="res://Levels/Scenes/Level5.tscn" id="6_xmedq"]
[ext_resource type="PackedScene" uid="uid://8ukphol1isp2" path="res://Levels/Scenes/Level6.tscn" id="7_58n7x"]
[ext_resource type="PackedScene" uid="uid://bsq7edeueqyjg" path="res://Levels/Scenes/Level7.tscn" id="8_pcp3p"]
[ext_resource type="PackedScene" uid="uid://c4xcka4ekuur8" path="res://Levels/Scenes/Level8.tscn" id="9_n1hja"]
[ext_resource type="PackedScene" uid="uid://djwln4at4ho44" path="res://Levels/Scenes/Level9.tscn" id="10_rs7ve"]
[ext_resource type="PackedScene" uid="uid://0hdnmilwrsq6" path="res://Levels/Scenes/Level10.tscn" id="11_o275c"]
[ext_resource type="PackedScene" uid="uid://cxj6yeddshy16" path="res://GameLogic/GameManager.tscn" id="11_wiyvp"]
[ext_resource type="PackedScene" uid="uid://cvvjbka5nf52j" path="res://UI/SceneTransition.tscn" id="14_ai16y"]
[node name="Main" type="Node3D"]
[sub_resource type="SystemFont" id="SystemFont_o1buo"]
[sub_resource type="LabelSettings" id="LabelSettings_ucjnc"]
font = SubResource("SystemFont_o1buo")
font_color = Color(0, 1, 0, 1)
[node name="Main" type="Node3D" node_paths=PackedStringArray("_fpsCounter")]
script = ExtResource("1_g4hua")
Levels = Array[PackedScene]([ExtResource("2_8xl51"), ExtResource("3_t7swd"), ExtResource("4_bs7wi"), ExtResource("5_n8o1o"), ExtResource("6_pqdlv"), ExtResource("7_8fpis"), ExtResource("8_mi3pb"), ExtResource("9_1ajc1"), ExtResource("11_hkjaq"), ExtResource("11_hkjaq")])
Levels = Array[PackedScene]([ExtResource("11_o275c"), ExtResource("6_xmedq"), ExtResource("2_jq3qe"), ExtResource("3_nhrqr"), ExtResource("5_xj47l"), ExtResource("2_0yhby"), ExtResource("7_58n7x"), ExtResource("8_pcp3p"), ExtResource("9_n1hja"), ExtResource("10_rs7ve")])
GameManager = ExtResource("11_wiyvp")
_fpsCounter = NodePath("FPS Counter")
[node name="MainMenu" parent="." instance=ExtResource("2_kvovw")]
z_index = 100
[node name="SceneTransition" parent="." instance=ExtResource("14_ai16y")]
[node name="SFXPlayer" type="AudioStreamPlayer" parent="."]
max_polyphony = 10
[node name="Debug Camera" type="Camera3D" parent="."]
transform = Transform3D(-1, 0, -8.74228e-08, -5.69087e-08, 0.759112, 0.65096, 6.63637e-08, 0.65096, -0.759112, 1.40462, 6.10678, -6.91273)
visible = false
[node name="MainMenu" parent="." instance=ExtResource("2_kvovw")]
z_as_relative = false
[node name="FPS Counter" type="Label" parent="."]
z_index = 100
offset_left = 18.0
offset_top = 16.0
offset_right = 199.0
offset_bottom = 42.0
text = "FPS
"
label_settings = SubResource("LabelSettings_ucjnc")
[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
current = true
size = 10.8546

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -1,48 +0,0 @@
[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.

View File

@@ -1,48 +0,0 @@
[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.

View File

@@ -1,48 +0,0 @@
[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.

View File

@@ -1,48 +0,0 @@
[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: 43 KiB

View File

@@ -2,8 +2,8 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://b8sjnfh5s14up"
path.s3tc="res://.godot/imported/STAGE 1_CLOUD TRAN 1.png-7f9feabd305a13601d056ccdbdf6d8d9.s3tc.ctex"
uid="uid://bv3hiodt08q7o"
path.s3tc="res://.godot/imported/STAGE MINIBOSS_bsod.png-b691a3faea1cd4167b195250f0582ff5.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -12,8 +12,8 @@ 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"]
source_file="res://Levels/Models/Stage Miniboss/STAGE MINIBOSS_bsod.png"
dest_files=["res://.godot/imported/STAGE MINIBOSS_bsod.png-b691a3faea1cd4167b195250f0582ff5.s3tc.ctex"]
[params]

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://do2yyrriay6sa"
path.s3tc="res://.godot/imported/Stage 1 update_CLOUD TRAN 1.png-2f0e77df8be2676479afbba42fb6589d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/Stage 1 update_CLOUD TRAN 1.png"
dest_files=["res://.godot/imported/Stage 1 update_CLOUD TRAN 1.png-2f0e77df8be2676479afbba42fb6589d.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

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://e3sn0ipxrlea"
path.s3tc="res://.godot/imported/Stage 1 update_CLOUD TRAN 2.png-1ad353e5cd7c92792e955aa616994348.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/Stage 1 update_CLOUD TRAN 2.png"
dest_files=["res://.godot/imported/Stage 1 update_CLOUD TRAN 2.png-1ad353e5cd7c92792e955aa616994348.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: 142 KiB

View File

@@ -2,8 +2,8 @@
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"
uid="uid://cbxslfugsxyg7"
path.s3tc="res://.godot/imported/Stage 1 update_Screenshot 2023-09-03 at 13.png-086ee390d35d40d4a482bab656e77b2c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -12,8 +12,8 @@ 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"]
source_file="res://Levels/Models/Stage1/Stage 1 update_Screenshot 2023-09-03 at 13.png"
dest_files=["res://.godot/imported/Stage 1 update_Screenshot 2023-09-03 at 13.png-086ee390d35d40d4a482bab656e77b2c.s3tc.ctex"]
[params]

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

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

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://eb2ecrpum5i0"
path.s3tc="res://.godot/imported/Stage 1 update_trans cloud 3.png-d7c573986768572290f0b0a6b51557db.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/Stage 1 update_trans cloud 3.png"
dest_files=["res://.godot/imported/Stage 1 update_trans cloud 3.png-d7c573986768572290f0b0a6b51557db.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

View File

@@ -1,5 +0,0 @@
[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

View File

@@ -302,11 +302,13 @@ disabled = true
[node name="Plane" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0715971, 0)
cast_shadow = 0
mesh = SubResource("ArrayMesh_54w4i")
skeleton = NodePath("")
[node name="Cube" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.537041, -2.80098, 0.0936406, 0.666337)
cast_shadow = 0
mesh = SubResource("ArrayMesh_ae5pk")
skeleton = NodePath("")
@@ -317,6 +319,7 @@ shape = SubResource("ConcavePolygonShape3D_qdpti")
[node name="Cube001" type="MeshInstance3D" parent="."]
transform = Transform3D(-1, 0, 0, 0, 1, 0, 0, 0, 0.537041, 1.75914, 0.0849344, 0.673152)
cast_shadow = 0
mesh = SubResource("ArrayMesh_6dg1r")
skeleton = NodePath("")
@@ -327,6 +330,7 @@ shape = SubResource("ConcavePolygonShape3D_cctvu")
[node name="Plane001" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.370022, 0)
cast_shadow = 0
mesh = SubResource("ArrayMesh_jwojp")
skeleton = NodePath("")
@@ -335,3 +339,7 @@ autoplay = "Animation"
libraries = {
"": SubResource("AnimationLibrary_ohisj")
}
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(-0.99952, 0, 0.0309922, 0.0209356, 0.737348, 0.675189, -0.022852, 0.675513, -0.736994, 0, 6.60737, -3.87573)
current = true

File diff suppressed because one or more lines are too long

View File

@@ -3,13 +3,13 @@
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bmhtnviwf8n5k"
path="res://.godot/imported/STAGE 4.gltf-981ef0ae9acbb96d4964a9f68553de14.scn"
uid="uid://cnjwstnpl11xp"
path="res://.godot/imported/STAGE 4 final.gltf-6d0777b678195cba4e6d077d766fc315.scn"
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4.gltf"
dest_files=["res://.godot/imported/STAGE 4.gltf-981ef0ae9acbb96d4964a9f68553de14.scn"]
source_file="res://Levels/Models/Stage4/STAGE 4 final.gltf"
dest_files=["res://.godot/imported/STAGE 4 final.gltf-6d0777b678195cba4e6d077d766fc315.scn"]
[params]
@@ -17,10 +17,10 @@ nodes/root_type="Node3D"
nodes/root_name="Scene Root"
nodes/apply_root_scale=true
nodes/root_scale=1.0
meshes/ensure_tangents=false
meshes/generate_lods=false
meshes/create_shadow_meshes=false
meshes/light_baking=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

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bv2flw6ym44t1"
path.s3tc="res://.godot/imported/STAGE 4 final_Background.png-74c9d3ff4a9ca9419690f37f085c4c5f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Background.png"
dest_files=["res://.godot/imported/STAGE 4 final_Background.png-74c9d3ff4a9ca9419690f37f085c4c5f.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: 120 KiB

View File

@@ -2,8 +2,8 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c6il61u5ajrei"
path.s3tc="res://.godot/imported/STAGE 1_trans cloud 3.png-f0984ed6012ef1804580c6b3dc5d2d53.s3tc.ctex"
uid="uid://ujnm7df40eyq"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 1.png-16b527c441474029acfce12996ba2930.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -12,8 +12,8 @@ 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"]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 1.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 1.png-16b527c441474029acfce12996ba2930.s3tc.ctex"]
[params]

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2sap1876he7u"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 10.png-acbdc4ad3cca25f1ae2da222d42a50d8.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 10.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 10.png-acbdc4ad3cca25f1ae2da222d42a50d8.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

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clfx3068yrxdx"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 12.png-d08cbfaf3f0434c94af5d2243120dd62.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 12.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 12.png-d08cbfaf3f0434c94af5d2243120dd62.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

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dxex0hspyhy4x"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 14.png-9423787b21434bbc136473502ffb258f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 14.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 14.png-9423787b21434bbc136473502ffb258f.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

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b5efmcl5aj1p4"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 16.png-0b66f27998fc97d484a8c76bdedc1fcb.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 16.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 16.png-0b66f27998fc97d484a8c76bdedc1fcb.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

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cs1rovpymxvs"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 17.png-8b2e569c38a1f8f01eca428e796bf10c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 17.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 17.png-8b2e569c38a1f8f01eca428e796bf10c.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

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b48ry1urd6kme"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 18.png-0553e767aa79955d3372b6ed654a8841.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 18.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 18.png-0553e767aa79955d3372b6ed654a8841.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

View File

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dct4kknap2ljo"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 19.png-09b6668c5b54020486fd3e045d097e94.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 19.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 19.png-09b6668c5b54020486fd3e045d097e94.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

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -2,8 +2,8 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dcwooc3thxekc"
path.s3tc="res://.godot/imported/STAGE 1_hexa.png-0d4c927974461e25fe664e717468c437.s3tc.ctex"
uid="uid://dsrd8lytdfdna"
path.s3tc="res://.godot/imported/STAGE 4 final_Layer 2.png-95ec7b67c6e7da48a382553b82af9b78.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
@@ -12,8 +12,8 @@ generator_parameters={}
[deps]
source_file="res://Levels/Models/Stage1/STAGE 1_hexa.png"
dest_files=["res://.godot/imported/STAGE 1_hexa.png-0d4c927974461e25fe664e717468c437.s3tc.ctex"]
source_file="res://Levels/Models/Stage4/STAGE 4 final_Layer 2.png"
dest_files=["res://.godot/imported/STAGE 4 final_Layer 2.png-95ec7b67c6e7da48a382553b82af9b78.s3tc.ctex"]
[params]

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