From 5284a7c00d56c9dfe30269d8c8f26c647f409b0e Mon Sep 17 00:00:00 2001 From: Zenny Date: Thu, 22 Jan 2026 01:08:25 -0800 Subject: [PATCH] Some geometry fixes, fix spawn height for overworld --- .../src/map/dungeon/code/Overworld.cs | 55 ++++---- .../corridors/A1 - Corridor - 4 Block .tscn | 1 + .../corridors/A1 - Corridor - 5 Block .tscn | 1 + .../corridors/A1 - Corridor - Corner .tscn | 1 + .../A1 - Corridor - Cross Block.tscn | 1 + .../corridors/A1 - Corridor - T-Block.tscn | 1 + .../corridors/A1 - Corridor - Z-Block.tscn | 5 +- .../corridors/A1 - Corridor - Zag Block .tscn | 7 +- .../corridors/A2 - Corridor - 1 Block.tscn | 1 + .../map/dungeon/floors/Floor01/Floor 1A.tscn | 11 +- .../models/Area 1/WaterCircle/Flipped.glb | Bin 0 -> 3700 bytes .../Area 1/WaterCircle/Flipped.glb.import | 37 +++++ .../Area 2/Donut/A2 Donut_TXTR0004.png.import | 7 +- .../Area 2/Donut/A2 Donut_a1maerb.jpg.import | 7 +- .../map/dungeon/rooms/Set A/Circle Room.tscn | 95 ++++++++++++- .../map/dungeon/rooms/Set A/Gallery A1.tscn | 102 +++++++++++++- .../dungeon/rooms/Set B/27. Water Room B.tscn | 1 + .../rooms/Set B/40. Donut Gallery.tscn | 2 + .../map/dungeon/rooms/Set B/41. Circle.tscn | 61 +++++++- .../rooms/Set B/42. Small Block Room A2.tscn | 130 +++++++++++++++++- .../rooms/Set B/43. Large Block Room A2.tscn | 109 ++++++++++++++- 21 files changed, 579 insertions(+), 56 deletions(-) create mode 100644 Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/WaterCircle/Flipped.glb create mode 100644 Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/WaterCircle/Flipped.glb.import diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs index f1474e64..0e693391 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs @@ -28,53 +28,50 @@ public partial class Overworld : Node3D, IDungeonFloor public void InitializeDungeon() { - Show(); - Exit.AreaEntered += Exit_AreaEntered; - RestoreArea.AreaEntered += RestoreArea_AreaEntered; - RestoreArea.AreaExited += RestoreArea_AreaExited; - RestoreTimer = new Timer(); - RestoreTimer.WaitTime = 0.3f; - RestoreTimer.Timeout += RestoreTimer_Timeout; - AddChild(RestoreTimer); - FloorIsLoaded = true; + Show(); + Exit.AreaEntered += Exit_AreaEntered; + RestoreArea.AreaEntered += RestoreArea_AreaEntered; + RestoreArea.AreaExited += RestoreArea_AreaExited; + RestoreTimer = new Timer(); + RestoreTimer.WaitTime = 0.3f; + RestoreTimer.Timeout += RestoreTimer_Timeout; + AddChild(RestoreTimer); + FloorIsLoaded = true; } private void RestoreTimer_Timeout() { - if (!Player.HealthComponent.AtFullHealth) - Player.HealthComponent.Heal(1); - if (!Player.VTComponent.AtFullVT) - Player.VTComponent.Restore(1); + if (!Player.HealthComponent.AtFullHealth) + Player.HealthComponent.Heal(1); + if (!Player.VTComponent.AtFullVT) + Player.VTComponent.Restore(1); } private void RestoreArea_AreaExited(Area3D area) { - if (area.GetOwner() is IPlayer) - { - RestoreTimer.Stop(); - Player.SetHealthTimerStatus(true); - } + if (area.GetOwner() is IPlayer) + { + RestoreTimer.Stop(); + Player.SetHealthTimerStatus(true); + } } private void RestoreArea_AreaEntered(Area3D area) { - if (area.GetOwner() is IPlayer) - { - RestoreTimer.Start(); - Player.SetHealthTimerStatus(false); - } + if (area.GetOwner() is IPlayer) + { + RestoreTimer.Start(); + Player.SetHealthTimerStatus(false); + } } private void Exit_AreaEntered(Area3D area) { - if (area.GetOwner() is IPlayer) - ExitReached(); + if (area.GetOwner() is IPlayer) + ExitReached(); } public void ExitReached() => Game.FloorExitReached(); - public Transform3D GetPlayerSpawnPoint() - { - return PlayerSpawnPoint.GlobalTransform; - } + public Transform3D GetPlayerSpawnPoint() => new Transform3D(PlayerSpawnPoint.Basis, new Vector3(PlayerSpawnPoint.GlobalPosition.X, 3.5f, PlayerSpawnPoint.GlobalPosition.Z)); } diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 4 Block .tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 4 Block .tscn index 605172b3..1637632b 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 4 Block .tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 4 Block .tscn @@ -25,6 +25,7 @@ script = ExtResource("1_icfon") [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +visible = false collision_layer = 0 collision_mask = 10 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 5 Block .tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 5 Block .tscn index d5109c3f..deafdfe9 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 5 Block .tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - 5 Block .tscn @@ -25,6 +25,7 @@ script = ExtResource("1_67h0r") [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +visible = false collision_layer = 0 collision_mask = 10 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Corner .tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Corner .tscn index e3bd922c..9fa3a776 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Corner .tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Corner .tscn @@ -38,6 +38,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00333917, 0, 8.9407e-08) [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +visible = false collision_layer = 0 collision_mask = 10 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Cross Block.tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Cross Block.tscn index 0d3c4439..69fbb9bd 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Cross Block.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Cross Block.tscn @@ -26,6 +26,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0113125, 0, 0) [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +visible = false collision_layer = 0 collision_mask = 10 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - T-Block.tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - T-Block.tscn index 5f2923b3..daac586d 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - T-Block.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - T-Block.tscn @@ -30,6 +30,7 @@ script = ExtResource("1_jw60f") [node name="CA1_TBLOCK" parent="." instance=ExtResource("2_8iso1")] [node name="Room" type="Node3D" parent="."] +visible = false [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Z-Block.tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Z-Block.tscn index 30d66569..d1535dfe 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Z-Block.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Z-Block.tscn @@ -16,7 +16,7 @@ size = Vector3(4.28414, 3.9892, 0.1) size = Vector3(11.9954, 3.9892, 0.1) [sub_resource type="BoxShape3D" id="BoxShape3D_8481d"] -size = Vector3(15.9967, 3.9892, 0.1) +size = Vector3(12.2947, 3.9892, 0.1) [sub_resource type="BoxShape3D" id="BoxShape3D_2p26a"] size = Vector3(4.30012, 3.9892, 0.1) @@ -43,6 +43,7 @@ script = ExtResource("1_q7f8v") [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +visible = false collision_layer = 0 collision_mask = 10 @@ -79,7 +80,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 7.9567 shape = SubResource("BoxShape3D_tb32i") [node name="CollisionShape3D8" type="CollisionShape3D" parent="StaticBody3D"] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.03538, 1.97029, 4.00237) +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.03538, 1.97029, 5.85335) shape = SubResource("BoxShape3D_8481d") [node name="CollisionShape3D9" type="CollisionShape3D" parent="StaticBody3D"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Zag Block .tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Zag Block .tscn index a1dfc2c5..2fa4f27e 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Zag Block .tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A1 - Corridor - Zag Block .tscn @@ -7,7 +7,7 @@ size = Vector3(1.98914, 3.98102, 3.88313) [sub_resource type="BoxShape3D" id="BoxShape3D_fvi2i"] -size = Vector3(8.01119, 3.9892, 0.1) +size = Vector3(4.34435, 3.9892, 0.1) [sub_resource type="BoxShape3D" id="BoxShape3D_jeg68"] size = Vector3(4.01451, 3.9892, 0.1) @@ -46,6 +46,7 @@ script = ExtResource("1_unmj6") [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +visible = false collision_layer = 0 collision_mask = 10 @@ -70,7 +71,7 @@ skeleton = NodePath("../..") [node name="StaticBody3D" type="StaticBody3D" parent="."] [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.01671, 1.97029, -0.0430538) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.85013, 1.97029, -0.0430538) shape = SubResource("BoxShape3D_fvi2i") [node name="CollisionShape3D6" type="CollisionShape3D" parent="StaticBody3D"] @@ -86,7 +87,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 3.9481 shape = SubResource("BoxShape3D_hou4a") [node name="CollisionShape3D13" type="CollisionShape3D" parent="StaticBody3D"] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.11416, 1.97029, -1.96748) +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.0341853, 1.97029, -1.96748) shape = SubResource("BoxShape3D_hou4a") [node name="CollisionShape3D14" type="CollisionShape3D" parent="StaticBody3D"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A2 - Corridor - 1 Block.tscn b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A2 - Corridor - 1 Block.tscn index 5843e40d..d575e629 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/corridors/A2 - Corridor - 1 Block.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/corridors/A2 - Corridor - 1 Block.tscn @@ -17,6 +17,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.45451, 0) [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +visible = false collision_layer = 0 collision_mask = 10 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn index d783a43d..a8e783e9 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor01/Floor 1A.tscn @@ -4,7 +4,6 @@ [ext_resource type="PackedScene" uid="uid://dpec2lbt83dhe" path="res://src/map/dungeon/rooms/Set A/03. Antechamber A.tscn" id="2_tmolq"] [ext_resource type="PackedScene" uid="uid://cihbmyo0ltq4m" path="res://src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn" id="3_qjcvn"] [ext_resource type="PackedScene" uid="uid://ce0cjm6v7ct6c" path="res://src/map/dungeon/rooms/Set A/07. CornerBlock Antechamber.tscn" id="4_3ke1n"] -[ext_resource type="PackedScene" uid="uid://tpgwccr6v43e" path="res://src/map/dungeon/rooms/Set A/04. Tree Antechamber.tscn" id="4_uvfam"] [ext_resource type="PackedScene" uid="uid://cjxrkxr0bgeh1" path="res://src/map/dungeon/corridors/A1 - Corridor - Corner .tscn" id="5_5con5"] [ext_resource type="PackedScene" uid="uid://dlrd6vvwaqq3n" path="res://src/map/dungeon/corridors/A1 - Corridor - 3 Block .tscn" id="6_mq4q7"] [ext_resource type="PackedScene" uid="uid://8d6n4tk5aam0" path="res://src/map/dungeon/corridors/A1 - Corridor - 1 Block.tscn" id="9_ur6qm"] @@ -12,6 +11,7 @@ [ext_resource type="PackedScene" uid="uid://dv6umo0bmlyyj" path="res://src/map/dungeon/rooms/Set A/01. Small Block A1.tscn" id="11_uvfam"] [ext_resource type="PackedScene" uid="uid://cdkcvd7pwmr2r" path="res://src/map/assets/Dungeon Doors/DOORA.tscn" id="11_xhpnf"] [ext_resource type="PackedScene" uid="uid://nghm4vbxdvcx" path="res://src/map/dungeon/corridors/A1 - Corridor - Zag Block .tscn" id="12_5con5"] +[ext_resource type="PackedScene" uid="uid://b8u3sfhexlhfu" path="res://src/map/dungeon/rooms/Set A/Circle Room.tscn" id="13_bn263"] [node name="Floor1a" type="Node3D"] script = ExtResource("1_giyav") @@ -22,9 +22,6 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -60.05 [node name="Antechamber A" parent="." instance=ExtResource("2_tmolq")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2, 0, 56) -[node name="Antechamber B" parent="." instance=ExtResource("4_uvfam")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -17.8016, 0, 60) - [node name="Statue Room" parent="." instance=ExtResource("4_3ke1n")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.8879, 0, 71.9623) @@ -49,8 +46,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 19.9816, 0, 65.9449) [node name="Node3D8" parent="." instance=ExtResource("12_5con5")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 67.9054) -[node name="Node3D3" parent="." instance=ExtResource("12_5con5")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.9081, 0, 48) - [node name="Node3D4" parent="." instance=ExtResource("5_5con5")] transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 22, 0, 48) + +[node name="A1CircleRoom" parent="." instance=ExtResource("13_bn263")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -16.1563, 2, 42.039) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/WaterCircle/Flipped.glb b/Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/WaterCircle/Flipped.glb new file mode 100644 index 0000000000000000000000000000000000000000..42aed0fe81cf21287c24a25f5beb6f248f7e00a8 GIT binary patch literal 3700 zcmb7EU2GIp6h0t=A|j&lW1%cl{Lk#t&eE1b3#CiiLWq^w>S3-;lD-#z#H z&N=to*$xc$Y?})J{$hZJc>p`Qlbz#Is!;HJDLyU@cv&x>@^g79F6}&+&t-Fk$N*X* z&4XU{fR~T7Z%Rf+ji?ee3`v$oy?h~)%c59|D$;~371EeMiYoytNb%lrDVrL?nAFW@ zvXspo@aRC!a=qM`j(MCFRCai)+wY@gP5W>7PVrE;i#%(##CK#Ecren zSj5k#vW3Bv&%O56D^W#P4MS67rfS=Y?P#W~MIFP5DKW=19LI^NmP|4wrkRFenxyV=s%FVjIyaKV7qxX+8cL1f=u{c6V_)$#s!SLYzlhi4U(?`~=8XzG&aqb&6wo;Xjt@38N6c-a9Tzg3(HYB7-P z@8=&7e)oPVKR~}F9VdrRDQ0nRFDJWSx9J!&E33ANle%BKM&fYeny%wj!gl=f#2kVd zgf6a`j)PxjBobM*5TLoe6aS+WCwn&Exun$p&vj19)TEwVl~bC7i_8rU$$z9 zMdqZh7AGwpbDa%qOxAyX%fNlfTP+^=IKhX;xA^}BApQ3%lnei+a#q)r?tA^WGwi)M zzrgh?dBYmJ_6q*K0X7dFn$ai4gm-823D%^RjAG8xUBa4bd8&ECGp}~v@Vke5uI8<# z5BC}7;htx{3#q1N9`1kUyO%W8@>KVh-YeWsP?Hmv#e=ux?>Efx&G@ev0PT^7^H+W^ z)J*4j$GPGD_-QUdIF$$77fzpXf89POL2*Kg)46kQH|x5OI}~$IzWWR7C{DVm_+|D_ zha+5%;-ni3@ayiC>?0i8cY<}N(D(AmRqopXQk?2gKGF%iiFrsz`3Ncg^P480 z6P~)h(fz3Qwo5uV`$xkK(&g84eL5!}>(Cd$bFPc$ z(!ZBmn^=zezuFgbAGD`@?nEumjp8&f+562h|3@Xb-30b&WCz< z7}pJm3qZvz3t%qd(;&lYTouGepaCAm)kdttiVm(3#AiT