diff --git a/assets/models/interior.mtl b/assets/models/interior.mtl
index 026ca0a..042b48a 100644
--- a/assets/models/interior.mtl
+++ b/assets/models/interior.mtl
@@ -1,2 +1,52 @@
# Blender 3.6.8 MTL File: 'interior.blend'
# www.blender.org
+
+newmtl Ceiling
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
+
+newmtl Ground1
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
+
+newmtl Ground2
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
+
+newmtl Walls1
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
+
+newmtl Walls2
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
diff --git a/assets/models/interior.obj b/assets/models/interior.obj
index 2599222..735f01d 100644
--- a/assets/models/interior.obj
+++ b/assets/models/interior.obj
@@ -1,53 +1,215 @@
# Blender 3.6.8
# www.blender.org
mtllib interior.mtl
-o Hallway
-v -8.000000 -3.000000 9.000000
-v -8.000000 -3.000000 -9.000000
-v 8.000000 -3.000000 9.000000
-v 8.000000 3.000000 9.000000
-v -7.995381 2.998268 8.994804
-v -7.995381 2.998268 -8.994804
-v 7.995381 -2.998268 -8.994804
-v 7.995381 2.998268 -8.994804
-vn 1.0000 -0.0008 -0.0000
-vn -0.0002 -0.0004 1.0000
-vn -1.0000 -0.0000 0.0003
-vn 0.0002 -0.0004 -1.0000
-vn -0.0001 1.0000 -0.0000
-vn 0.0001 -1.0000 -0.0000
-vt 0.000000 0.333333
-vt 1.000000 0.333333
-vt 1.000000 0.666667
-vt 0.000000 0.666667
-vt 0.055556 0.333333
-vt 0.944444 0.333333
-vt 0.944444 0.666667
-vt 0.055556 0.666667
-vt 0.055556 1.000000
-vt 0.055556 0.000000
-vt 0.944444 0.000000
-vt 0.944444 1.000000
+o Ground1
+v -5.816871 -2.999853 6.599066
+v 5.578337 -3.000009 6.599066
+v -5.322061 -2.999931 6.599066
+v -4.793639 -2.999931 6.599066
+v 5.081094 -2.999931 6.599066
+v -5.816870 -2.999923 0.000151
+v -5.816871 -2.999991 -6.598357
+v -5.322966 -2.999852 -6.598196
+v 5.576653 -2.999212 0.002738
+v 5.574968 -2.998415 -6.594638
+v 5.077186 -2.998554 -6.594800
+v -4.794697 -2.999786 -6.598023
+vn -0.0001 1.0000 0.0001
+vt 0.790189 0.197891
+vt 0.817937 0.197891
+vt 0.817843 0.564118
+vt 0.817749 0.930402
+vt 0.789971 0.930411
+vt 0.239086 0.930590
+vt 0.209607 0.930600
+vt 0.182045 0.930609
+vt 0.182045 0.564261
+vt 0.182045 0.197891
+vt 0.209657 0.197891
+vt 0.239145 0.197891
s 0
-f 1/1/1 2/2/1 6/3/1 5/4/1
-f 2/5/2 7/6/2 8/7/2 6/8/2
-f 7/2/3 3/1/3 4/4/3 8/3/3
-f 3/6/4 1/5/4 5/8/4 4/7/4
-f 2/9/5 1/10/5 3/11/5 7/12/5
-f 8/12/6 4/11/6 5/10/6 6/9/6
-o Room
+usemtl Ground1
+f 5/1/1 2/2/1 9/3/1 10/4/1 11/5/1 12/6/1 8/7/1 7/8/1 6/9/1 1/10/1 3/11/1 4/12/1
+o Walls2
v -6.000000 -3.000000 7.000000
v -6.000000 3.000000 7.000000
-v -6.000000 -3.000000 -7.000000
-v -6.000000 3.000000 -7.000000
v 6.000000 -3.000000 7.000000
v 6.000000 3.000000 7.000000
-v 6.000000 -3.000000 -7.000000
-v 6.000000 3.000000 -7.000000
v -0.829472 -2.986924 6.926419
v -0.819950 -0.041988 6.935757
v 0.634806 -0.041988 6.935757
v 0.625284 -2.986924 6.926419
+v 6.000000 -3.000000 0.000000
+v 6.000000 3.000000 0.000000
+v -6.000000 -3.000000 0.000000
+v -6.000000 3.000000 0.000000
+v 8.000000 3.000000 9.000000
+v -7.995381 2.998268 8.994804
+v -8.000000 -3.000000 0.000000
+v -7.995381 2.998268 0.000000
+v 7.997691 -2.999134 0.002598
+v 7.997691 2.999134 0.002598
+v 2.268600 -2.985230 8.999024
+v 5.994310 2.999783 8.999349
+v 5.991711 -2.999243 0.002272
+v -5.992863 2.998485 8.995455
+v -5.997192 -2.999892 0.000325
+v -5.399998 -3.000000 0.000001
+v -5.400000 3.000000 0.000000
+v -1.661109 -2.985230 8.999166
+v -5.388224 -2.999859 0.000424
+v -5.383982 2.998551 8.995652
+v 2.268329 0.951312 11.654519
+v 2.268761 0.950846 8.999113
+v -1.660040 0.949837 8.997695
+v -1.660471 0.950304 11.653101
+v -1.661540 -2.984763 11.654572
+v 2.268169 -2.984763 11.654430
+v -8.000000 -3.000000 9.000000
+v 5.993731 -3.000000 9.000000
+v 8.000000 -3.000000 9.000000
+v -5.387847 -3.000000 9.000000
+v -5.996903 -3.000000 9.000000
+vn 1.0000 -0.0000 -0.0000
+vn 0.0130 -0.0011 0.9999
+vn -0.0125 -0.0010 0.9999
+vn -0.0000 -0.0211 0.9998
+vn -1.0000 -0.0000 -0.0000
+vn -1.0000 -0.0000 0.0003
+vn 0.0002 -0.0008 -1.0000
+vn 1.0000 -0.0008 -0.0000
+vn 0.0002 -0.0001 -1.0000
+vn -0.0013 0.0002 1.0000
+vn 0.0002 -0.0007 -1.0000
+vn -1.0000 -0.0000 -0.0002
+vn -0.0000 -0.0000 -1.0000
+vn 0.0003 -0.0004 -1.0000
+vn -0.0000 -0.0006 -1.0000
+vn 0.0002 -0.0002 -1.0000
+vn 1.0000 -0.0003 0.0002
+vt 0.564261 0.354754
+vt 0.564261 0.645246
+vt 0.225353 0.645246
+vt 0.225353 0.354754
+vt 0.459841 0.355387
+vt 0.460302 0.497967
+vt 0.209507 0.645246
+vt 0.209507 0.354754
+vt 0.530734 0.497967
+vt 0.530273 0.355387
+vt 0.790493 0.354754
+vt 0.790493 0.645246
+vt 0.564135 0.354796
+vt 0.128522 0.354754
+vt 0.128522 0.645246
+vt 0.564135 0.645204
+vt 0.209657 0.354754
+vt 0.112677 0.354754
+vt 0.112900 0.645162
+vt 0.209853 0.645173
+vt 0.564261 0.645162
+vt 0.128774 0.645162
+vt 0.887323 0.354754
+vt 0.790189 0.354754
+vt 0.790217 0.645236
+vt 0.887323 0.645246
+vt 0.887212 0.645204
+vt 0.790091 0.354790
+vt 0.887212 0.354796
+vt 0.239145 0.354754
+vt 0.239332 0.645176
+vt 0.128565 0.546036
+vt 0.128569 0.355469
+vt 0.000007 0.355491
+vt 0.000003 0.546058
+vt 0.209643 0.354759
+vt 0.238557 0.645246
+vt 0.238557 0.354754
+vt 0.239127 0.354761
+vt 0.609835 0.355469
+vt 0.609843 0.546036
+vt 0.419628 0.545987
+vt 0.419577 0.355469
+vt 0.609814 0.355491
+vt 0.419556 0.355491
+vt 0.419608 0.546009
+vt 0.609822 0.546058
+vt 0.128563 0.355469
+vt 0.128634 0.545987
+vt 0.000071 0.546009
+vt 0.000000 0.355491
+s 0
+usemtl Walls2
+f 21/13/2 22/14/2 16/15/2 15/16/2
+f 17/17/3 18/18/3 14/19/3 13/20/3
+f 19/21/4 20/22/4 15/23/4 16/24/4
+f 18/18/5 19/21/5 16/24/5 14/19/5
+f 13/16/6 14/15/6 24/14/6 23/13/6
+f 29/25/7 49/26/7 25/27/7 30/28/7
+f 51/29/8 47/30/8 26/31/8 34/32/8
+f 47/26/9 27/13/9 28/33/9 26/34/9
+f 49/35/10 48/36/10 32/37/10 25/38/10
+f 30/39/11 22/24/11 21/23/11 33/40/11 29/41/11
+f 50/42/12 51/29/12 34/32/12 40/43/12
+f 42/44/13 31/45/13 46/46/13 41/47/13
+f 35/48/14 27/30/14 28/31/14 37/49/14 36/50/14 39/51/14
+f 31/52/10 42/53/10 32/37/10 48/36/10
+f 42/53/15 43/54/15 40/43/15 32/37/15
+f 43/54/16 38/55/16 50/42/16 40/43/16
+f 46/56/17 45/57/17 44/58/17 41/59/17
+f 38/60/18 43/61/18 44/62/18 45/63/18
+o Ground2
+v -5.816871 -2.999853 6.599066
+v 5.578337 -3.000009 6.599066
+v -8.000000 -3.000000 0.000000
+v 7.997691 -2.999134 0.002598
+v 2.268600 -2.985230 8.999024
+v -5.322061 -2.999931 6.599066
+v -1.661109 -2.985230 8.999166
+v -4.793639 -2.999931 6.599066
+v 5.081094 -2.999931 6.599066
+v -1.661540 -2.984763 11.654572
+v 2.268169 -2.984763 11.654430
+v -8.000000 -3.000000 9.000000
+v -5.816870 -2.999923 0.000151
+v 5.993731 -3.000000 9.000000
+v 8.000000 -3.000000 9.000000
+v 5.576653 -2.999212 0.002738
+v -5.387847 -3.000000 9.000000
+v -5.996903 -3.000000 9.000000
+vn -0.0000 1.0000 -0.0002
+vn -0.0001 1.0000 -0.0000
+vn -0.0000 1.0000 -0.0000
+vn -0.0001 1.0000 0.0001
+vn -0.0000 1.0000 0.0001
+vt 0.609835 0.128569
+vt 0.419577 0.128563
+vt 0.419556 0.000000
+vt 0.609814 0.000007
+vt 0.182045 0.197891
+vt 0.182045 0.564261
+vt 0.112677 0.564261
+vt 0.112677 0.128522
+vt 0.817937 0.197891
+vt 0.790189 0.197891
+vt 0.790189 0.128522
+vt 0.887323 0.128522
+vt 0.817843 0.564118
+vt 0.887212 0.564135
+vt 0.239145 0.197891
+vt 0.239145 0.128522
+vt 0.209657 0.197891
+vt 0.209657 0.128522
+s 0
+usemtl Ground2
+f 56/64/19 58/65/19 61/66/19 62/67/19
+f 52/68/20 64/69/20 54/70/20 63/71/20
+f 53/72/21 60/73/21 65/74/21 66/75/21
+f 67/76/22 53/72/22 66/75/22 55/77/22
+f 60/73/21 59/78/21 68/79/21 65/74/21
+f 57/80/23 52/68/23 63/71/23 69/81/23
+f 59/78/21 57/80/21 69/81/21 68/79/21
+o Walls1
v -5.399996 -3.000000 6.300002
v -5.400000 3.000000 6.300000
v -5.400000 -3.000000 -6.300000
@@ -60,62 +222,112 @@ v -0.829472 -2.986924 6.354905
v -0.819950 -0.041988 6.364243
v 0.634806 -0.041988 6.364243
v 0.625284 -2.986924 6.354905
-vn -1.0000 -0.0000 -0.0000
-vn -0.0000 -0.0000 -1.0000
-vn 1.0000 -0.0000 -0.0000
-vn 0.0130 -0.0011 0.9999
-vn -0.0125 -0.0010 0.9999
-vn -0.0000 -0.0211 0.9998
+v -5.399998 -3.000000 0.000001
+v -5.400000 3.000000 0.000000
+v -0.829472 -2.986924 6.926419
+v -0.819950 -0.041988 6.935757
+v 0.634806 -0.041988 6.935757
+v 0.625284 -2.986924 6.926419
+v -0.829472 -2.986924 6.354905
+v -0.819950 -0.041988 6.364243
+v 0.634806 -0.041988 6.364243
+v 0.625284 -2.986924 6.354905
+v 2.268600 -2.985230 8.999024
+v -1.661109 -2.985230 8.999166
+v 5.993731 -3.000000 9.000000
+v -5.387847 -3.000000 9.000000
vn -0.0000 -0.0000 1.0000
+vn -1.0000 -0.0000 -0.0000
vn 0.0134 0.0010 -0.9999
vn -0.0128 0.0011 -0.9999
vn -0.0000 -0.0211 -0.9998
+vn 1.0000 -0.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vn 1.0000 -0.0032 -0.0000
vn -1.0000 0.0032 -0.0000
-vt 0.000000 0.285714
-vt 0.000000 0.714286
-vt 1.000000 0.714286
-vt 1.000000 0.285714
-vt 0.071429 0.285714
-vt 0.071429 0.714286
-vt 0.928571 0.714286
-vt 0.928571 0.285714
-vt 0.440752 0.286648
-vt 0.441432 0.497001
-vt 0.545343 0.497001
-vt 0.544663 0.286648
-vt 0.050000 0.285714
-vt 0.950000 0.285714
-vt 0.950000 0.714286
-vt 0.050000 0.714286
-vt 0.114286 0.285714
-vt 0.885714 0.285714
-vt 0.885714 0.714286
-vt 0.114286 0.714286
-vt 0.114286 0.285714
-vt 0.885714 0.285714
-vt 0.545343 0.237118
-vt 0.441432 0.237118
-vt 0.441432 0.277941
-vt 0.545343 0.277941
-vt 0.004589 0.497001
-vt 0.005256 0.286648
-vt 0.046078 0.286648
-vt 0.045411 0.497001
+vn -0.0000 -0.0611 -0.9981
+vt 0.238557 0.354754
+vt 0.761443 0.354754
+vt 0.761443 0.645246
+vt 0.238557 0.645246
+vt 0.869278 0.354754
+vt 0.259244 0.354754
+vt 0.259244 0.645246
+vt 0.869278 0.645246
+vt 0.459841 0.355387
+vt 0.238557 0.354754
+vt 0.460302 0.497967
+vt 0.530734 0.497967
+vt 0.761443 0.354754
+vt 0.530273 0.355387
+vt 0.564261 0.354754
+vt 0.564261 0.645246
+vt 0.530734 0.228463
+vt 0.460302 0.228463
+vt 0.460302 0.256134
+vt 0.530734 0.256134
+vt 0.228463 0.497967
+vt 0.228916 0.355387
+vt 0.256586 0.355387
+vt 0.256134 0.497967
+vt 0.419577 0.355469
+vt 0.609835 0.355469
+vt 0.790189 0.354754
+vt 0.239145 0.354754
s 0
-f 9/13/7 10/14/7 12/15/7 11/16/7
-f 11/17/8 12/18/8 16/19/8 15/20/8
-f 15/16/9 16/15/9 14/14/9 13/13/9
-f 17/21/10 18/22/10 10/18/10 9/17/10
-f 19/23/11 20/24/11 13/20/11 14/19/11
-f 18/22/12 19/23/12 14/19/12 10/18/12
-f 21/25/9 23/26/9 24/27/9 22/28/9
-f 23/29/13 27/30/13 28/31/13 24/32/13
-f 27/26/7 25/25/7 26/28/7 28/27/7
-f 29/21/14 21/33/14 22/32/14 30/22/14
-f 31/23/15 26/31/15 25/34/15 32/24/15
-f 30/22/16 22/32/16 26/31/16 31/23/16
-f 19/35/17 18/36/17 30/37/17 31/38/17
-f 18/39/18 17/40/18 29/41/18 30/42/18
-f 20/40/19 19/39/19 31/42/19 32/41/19
+usemtl Walls1
+f 72/82/24 76/83/24 77/84/24 73/85/24
+f 76/86/25 74/87/25 75/88/25 77/89/25
+f 78/90/26 70/91/26 71/85/26 79/92/26
+f 80/93/27 75/84/27 74/94/27 81/95/27
+f 79/92/28 71/85/28 75/84/28 80/93/28
+f 82/96/29 72/86/29 73/89/29 83/97/29 71/88/29 70/87/29
+f 86/98/30 85/99/30 89/100/30 90/101/30
+f 85/102/31 84/103/31 88/104/31 89/105/31
+f 87/103/32 86/102/32 90/105/32 91/104/32
+f 93/106/33 92/107/33 94/108/33 95/109/33
+o Ceiling
+v -6.000000 3.000000 7.000000
+v 6.000000 3.000000 7.000000
+v 6.000000 3.000000 0.000000
+v -6.000000 3.000000 0.000000
+v 8.000000 3.000000 9.000000
+v -7.995381 2.998268 8.994804
+v -7.995381 2.998268 0.000000
+v 7.997691 2.999134 0.002598
+v 5.994310 2.999783 8.999349
+v -5.992863 2.998485 8.995455
+v -5.383982 2.998551 8.995652
+v 2.268329 0.951312 11.654519
+v 2.268761 0.950846 8.999113
+v -1.660040 0.949837 8.997695
+v -1.660471 0.950304 11.653101
+v -5.400000 3.000000 6.300000
+v -5.400000 3.000000 -6.300000
+v 5.400000 3.000000 6.300000
+v 5.400000 3.000000 -6.300000
+vn 0.0002 -1.0000 -0.0002
+vn 0.0003 -1.0000 0.0002
+vn -0.0000 -1.0000 -0.0000
+vt 0.790493 0.645246
+vt 0.564135 0.645204
+vt 0.887323 0.645246
+vt 0.790217 0.645236
+vt 0.239332 0.645176
+vt 0.209853 0.645173
+vt 0.128774 0.645162
+vt 0.564261 0.645162
+vt 0.564261 0.645246
+vt 0.209507 0.645246
+vt 0.128634 0.545987
+vt 0.128565 0.546036
+vt 0.609822 0.546058
+vt 0.000071 0.546009
+vt 0.238557 0.645246
+vt 0.869278 0.645246
+vt 0.761443 0.645246
+s 0
+usemtl Ceiling
+f 97/110/34 98/110/34 103/111/34 100/112/34 104/113/34 106/114/34 105/115/34 101/116/34 102/117/34 99/118/34 96/119/34
+f 109/120/35 108/121/35 107/122/35 110/123/35
+f 112/124/36 114/125/36 113/126/36 111/124/36
diff --git a/assets/models/interior.obj.import b/assets/models/interior.obj.import
index 5dc8464..503aa43 100644
--- a/assets/models/interior.obj.import
+++ b/assets/models/interior.obj.import
@@ -31,19 +31,24 @@ animation/remove_immutable_tracks=true
import_script/path=""
_subresources={
"nodes": {
-"PATH:Hallway": {
+"PATH:Ceiling": {
"generate/physics": true,
-"physics/layer": 7,
-"physics/mask": 7,
"physics/shape_type": 2
},
-"PATH:Room": {
-"decomposition/mode": 1,
-"decomposition/normalize_mesh": true,
-"decomposition/precision": 10,
+"PATH:Ground1": {
+"generate/physics": true,
+"physics/shape_type": 2
+},
+"PATH:Ground2": {
+"generate/physics": true,
+"physics/shape_type": 2
+},
+"PATH:Walls1": {
+"generate/physics": true,
+"physics/shape_type": 2
+},
+"PATH:Walls2": {
"generate/physics": true,
-"physics/layer": 7,
-"physics/mask": 7,
"physics/shape_type": 2
}
}
diff --git a/assets/models/interior2.mtl b/assets/models/interior2.mtl
new file mode 100644
index 0000000..e767205
--- /dev/null
+++ b/assets/models/interior2.mtl
@@ -0,0 +1,12 @@
+# Blender 3.6.8 MTL File: 'interior2.blend'
+# www.blender.org
+
+newmtl Material
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
diff --git a/assets/models/interior2.obj b/assets/models/interior2.obj
new file mode 100644
index 0000000..5e5f9fd
--- /dev/null
+++ b/assets/models/interior2.obj
@@ -0,0 +1,490 @@
+# Blender 3.6.8
+# www.blender.org
+mtllib interior2.mtl
+o Walls1
+v 17.219673 0.000000 -21.618477
+v 5.509094 -0.191496 17.219673
+v -17.219673 0.000000 -21.618477
+v -5.509094 -0.191496 17.219673
+v 17.219673 0.000000 -5.047940
+v 17.219673 0.000000 13.879930
+v -17.219673 0.000000 13.879930
+v -17.219673 0.000000 -5.047940
+v 17.219673 0.000000 -23.234570
+v -17.219673 0.000000 -23.234570
+v 17.219673 29.867336 -21.618477
+v 17.219673 29.867336 17.219673
+v -17.219673 29.867336 -21.618477
+v -17.219673 29.867336 17.219673
+v 17.219673 29.867336 -5.047940
+v 17.219673 29.867336 13.879930
+v -17.219673 29.867336 13.879930
+v -17.219673 29.867336 -5.047940
+v 17.219673 29.867336 -23.234570
+v -17.219673 29.867336 -23.234570
+v 17.219673 0.000000 17.219673
+v -17.219673 0.000000 17.219673
+v 5.509094 6.254683 17.219673
+v -5.509094 6.254683 17.219673
+v 5.509094 6.254683 21.095261
+v -5.509094 6.254683 21.095261
+v 5.509094 -0.191496 21.095261
+v -5.509094 -0.191496 21.095261
+v -5.739891 -0.000003 -15.118477
+v 5.739891 -0.000003 -15.118477
+v -5.739891 -0.000003 -11.547939
+v 5.739891 -0.000003 -11.547939
+v -5.739891 0.000000 -23.234570
+v 5.739891 0.000000 -23.234570
+v -5.739891 29.867336 -23.234570
+v 5.739891 29.867336 -23.234570
+v -5.739891 0.000000 -21.618477
+v -5.739891 0.000000 -5.047940
+v 5.739891 0.000000 -21.618477
+v 5.739891 0.000000 -5.047940
+vn 1.0000 -0.0000 -0.0000
+vn -1.0000 -0.0000 -0.0000
+vn -0.0000 -0.0000 1.0000
+vn -0.0000 -1.0000 -0.0000
+vn -0.0000 -0.0000 -1.0000
+vt 0.235154 0.026295
+vt 0.235154 0.175319
+vt 0.000000 0.175319
+vt 0.000000 0.026295
+vt 0.470308 0.012724
+vt 0.470308 0.143188
+vt 0.235154 0.143188
+vt 0.235154 0.012724
+vt 0.470308 0.292213
+vt 0.470308 0.318508
+vt 0.235154 0.318508
+vt 0.235154 0.292213
+vt 0.718057 0.499275
+vt 0.718057 0.589658
+vt 0.482903 0.589658
+vt 0.482903 0.499275
+vt 0.235154 0.305784
+vt 0.235154 0.318508
+vt 0.000000 0.318508
+vt 0.000000 0.305784
+vt 0.235154 0.000000
+vt 0.000000 0.000000
+vt 0.470308 -0.000000
+vt 0.235154 0.000000
+vt 0.642072 0.810823
+vt 0.642072 0.897573
+vt 0.611559 0.897573
+vt 0.611559 0.810823
+vt 0.745859 0.410708
+vt 0.745859 0.497458
+vt 0.744352 0.589658
+vt 0.744352 0.318508
+vt 0.656217 0.092201
+vt 0.656217 0.178950
+vt 0.470308 0.271151
+vt 0.470308 0.000000
+vt 0.706969 0.092201
+vt 0.705462 -0.000000
+vt 0.706969 0.178950
+vt 0.705462 0.271151
+vt 0.611559 0.810823
+vt 0.611559 0.897573
+vt 0.560806 0.897573
+vt 0.560806 0.810823
+vt 0.672586 0.810823
+vt 0.672586 0.861576
+vt 0.642072 0.861576
+vt 0.642072 0.810823
+vt 0.672586 0.861576
+vt 0.672586 0.810823
+vt 0.703099 0.810823
+vt 0.703099 0.861576
+vt 0.718057 0.318508
+vt 0.718057 0.408891
+vt 0.482903 0.408891
+vt 0.482903 0.318508
+vt 0.745859 0.408017
+vt 0.745859 0.379906
+vt 0.745859 0.328729
+vt 0.745859 0.459194
+vt 0.745859 0.538482
+vt 0.745859 0.510370
+vt 0.745859 0.459194
+vt 0.745859 0.589658
+s 0
+usemtl Material
+f 7/1/1 8/2/1 18/3/1 17/4/1
+f 1/5/2 5/6/2 15/7/2 11/8/2
+f 6/9/2 21/10/2 12/11/2 16/12/2
+f 34/13/3 9/14/3 19/15/3 36/16/3
+f 5/6/2 6/9/2 16/12/2 15/7/2
+f 3/17/1 10/18/1 20/19/1 13/20/1
+f 8/2/1 3/17/1 13/20/1 18/3/1
+f 22/21/1 7/1/1 17/4/1 14/22/1
+f 9/23/2 1/5/2 11/8/2 19/24/2
+f 24/25/4 23/26/4 25/27/4 26/28/4
+f 4/29/3 2/30/3 21/31/3 22/32/3
+f 23/33/5 24/34/5 14/35/5 12/36/5
+f 2/37/5 23/33/5 12/36/5 21/38/5
+f 24/34/5 4/39/5 22/40/5 14/35/5
+f 27/41/5 28/42/5 26/43/5 25/44/5
+f 23/45/2 2/46/2 27/47/2 25/48/2
+f 4/49/1 24/50/1 26/51/1 28/52/1
+f 10/53/3 33/54/3 35/55/3 20/56/3
+f 33/54/3 34/13/3 36/16/3 35/55/3
+f 29/57/2 31/58/2 38/59/2 37/60/2
+f 32/61/1 30/62/1 39/63/1 40/64/1
+o Walls2
+v 11.024031 6.769125 -5.108987
+v 11.024031 -0.403926 -5.108987
+v 3.850980 2.731925 -12.650269
+v 3.850980 -0.009268 -12.650269
+v 3.850980 2.731925 -10.997593
+v 3.850980 -0.009268 -10.997593
+v 11.024031 6.769125 -5.431388
+v 11.024031 -0.403926 -5.431388
+v 4.159650 2.731925 -12.650277
+v 4.159650 -0.009268 -12.650277
+v 4.092682 2.731925 -11.037145
+v 4.092682 -0.009268 -11.037145
+v 3.850980 6.769125 -23.221857
+v 3.850980 -0.403926 -23.221857
+v 4.173381 6.769125 -23.221857
+v 4.173381 -0.403926 -23.221857
+v 17.491407 6.769125 -5.108987
+v 17.491407 -0.403926 -5.108987
+v 17.491407 6.769125 -5.431388
+v 17.491407 -0.403926 -5.431388
+v 3.850980 6.769125 -18.444664
+v 3.850980 -0.403926 -18.444664
+v 3.850980 6.769125 -5.108987
+v 3.850980 -0.403926 -5.108987
+v 4.173381 6.769125 -18.444664
+v 4.173381 -0.403926 -18.444664
+v 4.078951 6.769125 -5.336959
+v 4.078951 -0.403926 -5.336959
+v -11.024031 6.769125 -5.108987
+v -11.024031 -0.403926 -5.108987
+v -3.850980 2.731925 -12.650269
+v -3.850980 -0.009268 -12.650269
+v -3.850980 2.731925 -10.997593
+v -3.850980 -0.009268 -10.997593
+v -11.024031 6.769125 -5.431388
+v -11.024031 -0.403926 -5.431388
+v -4.159650 2.731925 -12.650277
+v -4.159650 -0.009268 -12.650277
+v -4.092682 2.731925 -11.037145
+v -4.092682 -0.009268 -11.037145
+v -3.850980 6.769125 -23.221857
+v -3.850980 -0.403926 -23.221857
+v -4.173381 6.769125 -23.221857
+v -4.173381 -0.403926 -23.221857
+v -17.491407 6.769125 -5.108987
+v -17.491407 -0.403926 -5.108987
+v -17.491407 6.769125 -5.431388
+v -17.491407 -0.403926 -5.431388
+v -3.850980 6.769125 -18.444664
+v -3.850980 -0.403926 -18.444664
+v -3.850980 6.769125 -5.108987
+v -3.850980 -0.403926 -5.108987
+v -4.173381 6.769125 -18.444664
+v -4.173381 -0.403926 -18.444664
+v -4.078951 6.769125 -5.336959
+v -4.078951 -0.403926 -5.336959
+vn -0.0000 -0.0000 1.0000
+vn -0.0136 -0.0000 -0.9999
+vn -0.0000 1.0000 -0.0000
+vn -0.0000 -1.0000 -0.0000
+vn -1.0000 -0.0000 -0.0000
+vn -0.0000 -0.0000 -1.0000
+vn 1.0000 -0.0000 -0.0000
+vn 1.0000 -0.0000 0.0024
+vn 0.9999 0.0001 0.0110
+vn 0.9999 -0.0013 0.0110
+vn -0.1615 -0.0000 -0.9869
+vn 0.0136 -0.0000 -0.9999
+vn -1.0000 -0.0000 0.0024
+vn -0.9999 0.0001 0.0110
+vn -0.9999 -0.0013 0.0110
+vn 0.1615 -0.0000 -0.9869
+vt 0.972885 0.895628
+vt 0.885299 0.895628
+vt 0.885299 0.808042
+vt 0.972885 0.808042
+vt 0.473220 0.889792
+vt 0.473220 0.974595
+vt 0.385635 0.974595
+vt 0.385635 0.889792
+vt 0.298049 0.589658
+vt 0.385635 0.589658
+vt 0.385635 0.593595
+vt 0.300832 0.592442
+vt 0.543573 0.589658
+vt 0.631159 0.589658
+vt 0.628375 0.592442
+vt 0.543573 0.593595
+vt 0.464604 0.589658
+vt 0.464604 0.593595
+vt 0.797713 0.752491
+vt 0.885299 0.752491
+vt 0.885299 0.810823
+vt 0.797713 0.810823
+vt 0.298049 0.752492
+vt 0.301985 0.752492
+vt 0.631159 0.752492
+vt 0.627222 0.752492
+vt 0.888545 0.308750
+vt 0.888545 0.221165
+vt 0.892481 0.221165
+vt 0.892481 0.308750
+vt 0.972885 0.647989
+vt 0.885299 0.647989
+vt 0.885299 0.589658
+vt 0.972885 0.589658
+vt 0.631159 0.810823
+vt 0.627222 0.810823
+vt 0.301985 0.810823
+vt 0.298049 0.810823
+vt 0.884608 0.221164
+vt 0.884608 0.308750
+vt 0.880672 0.308750
+vt 0.880672 0.221164
+vt 0.464604 0.593595
+vt 0.464604 0.589658
+vt 0.972885 0.974597
+vt 0.885299 0.974597
+vt 0.385635 0.810823
+vt 0.473220 0.810823
+vt 0.802532 0.681740
+vt 0.836003 0.681740
+vt 0.836003 0.661560
+vt 0.885299 0.589658
+vt 0.802532 0.661560
+vt 0.797714 0.589658
+vt 0.923589 0.718741
+vt 0.890118 0.718741
+vt 0.923589 0.738440
+vt 0.972885 0.808042
+vt 0.890118 0.738440
+vt 0.885299 0.808042
+vt 0.477846 0.271151
+vt 0.480797 0.271151
+vt 0.480797 0.304622
+vt 0.477846 0.304622
+vt 0.487517 0.291330
+vt 0.483748 0.291331
+vt 0.484566 0.271634
+vt 0.487517 0.271151
+vt 0.474077 0.304622
+vt 0.470308 0.304622
+vt 0.470308 0.271151
+vt 0.474077 0.271151
+vt 0.385635 0.889793
+vt 0.385635 0.977378
+vt 0.298049 0.977378
+vt 0.298049 0.889793
+vt 0.560806 0.895625
+vt 0.473220 0.895625
+vt 0.473220 0.810823
+vt 0.560806 0.810823
+vt 0.797713 0.589658
+vt 0.794930 0.592442
+vt 0.710128 0.593595
+vt 0.710128 0.589658
+vt 0.833445 0.318508
+vt 0.833445 0.322444
+vt 0.748643 0.321291
+vt 0.745859 0.318508
+vt 0.631159 0.593595
+vt 0.937744 0.162833
+vt 0.937744 0.221164
+vt 0.850158 0.221164
+vt 0.850158 0.162833
+vt 0.797713 0.752492
+vt 0.793777 0.752492
+vt 0.749796 0.481341
+vt 0.745859 0.481341
+vt 0.896418 0.308750
+vt 0.896418 0.221165
+vt 0.912414 0.376839
+vt 0.912414 0.318508
+vt 1.000000 0.318508
+vt 1.000000 0.376839
+vt 0.749796 0.539673
+vt 0.745859 0.539673
+vt 0.797713 0.810823
+vt 0.793777 0.810823
+vt 0.884608 0.221164
+vt 0.888545 0.221164
+vt 0.888545 0.308750
+vt 0.884608 0.308750
+vt 0.912414 0.318508
+vt 0.912414 0.322444
+vt 0.298049 0.810823
+vt 0.385635 0.810823
+vt 0.560806 0.974595
+vt 0.473220 0.974595
+vt 0.932925 0.092082
+vt 0.899454 0.092082
+vt 0.850158 0.000000
+vt 0.899454 0.071902
+vt 0.937744 0.000000
+vt 0.932925 0.071902
+vt 0.961710 0.447591
+vt 0.995181 0.447591
+vt 0.961710 0.467290
+vt 0.912414 0.536891
+vt 0.995181 0.467290
+vt 1.000000 0.536891
+vt 0.483748 0.271151
+vt 0.483748 0.304622
+vt 0.480797 0.304622
+vt 0.480797 0.271151
+vt 0.483748 0.311510
+vt 0.486700 0.291813
+vt 0.487517 0.311510
+vt 0.477846 0.271151
+vt 0.477846 0.304622
+s 0
+usemtl Material
+f 42/65/6 41/66/6 63/67/6 64/68/6
+f 48/69/7 68/70/7 67/71/7 47/72/7
+f 63/73/8 41/74/8 47/75/8 67/76/8
+f 42/77/9 64/78/9 68/79/9 48/80/9
+f 47/75/8 41/74/8 57/81/8 59/82/8
+f 62/83/10 61/84/10 53/85/10 54/86/10
+f 61/87/8 63/73/8 67/76/8 65/88/8
+f 64/78/9 62/89/9 66/90/9 68/79/9
+f 54/91/11 53/92/11 55/93/11 56/94/11
+f 65/95/12 66/96/12 56/97/12 55/98/12
+f 66/90/9 62/89/9 54/99/9 56/100/9
+f 61/87/8 65/88/8 55/101/8 53/102/8
+f 57/103/12 58/104/12 60/105/12 59/106/12
+f 42/77/9 48/80/9 60/107/9 58/108/9
+f 41/66/6 42/65/6 58/109/6 57/110/6
+f 48/69/11 47/72/11 59/111/11 60/112/11
+f 44/113/10 43/114/10 61/84/10 62/83/10
+f 43/114/10 45/115/10 63/116/10 61/84/10
+f 45/115/10 46/117/10 64/118/10 63/116/10
+f 46/117/10 44/113/10 62/83/10 64/118/10
+f 49/119/13 50/120/13 66/96/13 65/95/13
+f 51/121/14 49/119/14 65/95/14 67/122/14
+f 52/123/13 51/121/13 67/122/13 68/124/13
+f 50/120/15 52/123/15 68/124/15 66/96/15
+f 45/125/16 51/126/16 52/127/16 46/128/16
+f 43/129/9 49/130/9 51/131/9 45/132/9
+f 44/133/6 50/134/6 49/135/6 43/136/6
+f 70/137/6 92/138/6 91/139/6 69/140/6
+f 76/141/17 75/142/17 95/143/17 96/144/17
+f 91/145/8 95/146/8 75/147/8 69/148/8
+f 70/149/9 76/150/9 96/151/9 92/152/9
+f 75/147/8 87/153/8 85/78/8 69/148/8
+f 90/154/12 82/155/12 81/156/12 89/157/12
+f 89/158/8 93/159/8 95/146/8 91/145/8
+f 92/152/9 96/151/9 94/160/9 90/161/9
+f 82/162/11 84/94/11 83/93/11 81/163/11
+f 93/164/10 83/165/10 84/166/10 94/167/10
+f 94/160/9 84/168/9 82/169/9 90/161/9
+f 89/158/8 81/170/8 83/171/8 93/159/8
+f 85/172/10 87/173/10 88/174/10 86/175/10
+f 70/149/9 86/176/9 88/177/9 76/150/9
+f 69/140/6 85/178/6 86/179/6 70/137/6
+f 76/141/11 88/180/11 87/181/11 75/142/11
+f 72/182/12 90/154/12 89/157/12 71/183/12
+f 71/183/12 89/157/12 91/184/12 73/185/12
+f 73/185/12 91/184/12 92/186/12 74/187/12
+f 74/187/12 92/186/12 90/154/12 72/182/12
+f 77/188/18 93/164/18 94/167/18 78/189/18
+f 79/190/19 95/191/19 93/164/19 77/188/19
+f 80/192/18 96/193/18 95/191/18 79/190/18
+f 78/189/20 94/167/20 96/193/20 80/192/20
+f 73/194/21 74/195/21 80/196/21 79/197/21
+f 71/198/9 73/130/9 79/199/9 77/200/9
+f 72/133/6 71/136/6 77/201/6 78/202/6
+o Ground
+v 17.219673 0.000000 -21.618477
+v 5.509094 -0.191496 17.219673
+v -17.219673 0.000000 -21.618477
+v -5.509094 -0.191496 17.219673
+v 17.219673 0.000000 -5.047940
+v 17.219673 0.000000 13.879930
+v -17.219673 0.000000 13.879930
+v -17.219673 0.000000 -5.047940
+v 17.219673 -30.667204 13.879930
+v 17.219673 -30.667204 -5.047940
+v -17.219673 -30.667204 13.879930
+v -17.219673 -30.667204 -5.047940
+v 17.219673 0.000000 -23.234570
+v -17.219673 0.000000 -23.234570
+v 17.219673 0.000000 17.219673
+v -17.219673 0.000000 17.219673
+v 5.509094 -0.191496 21.095261
+v -5.509094 -0.191496 21.095261
+v -5.739891 -30.667204 -5.047940
+v 5.739891 -30.667204 -5.047940
+v -5.739891 0.000000 -23.234570
+v 5.739891 0.000000 -23.234570
+v -5.739891 0.000000 -21.618477
+v -5.739891 0.000000 -5.047940
+v 5.739891 0.000000 -21.618477
+v 5.739891 0.000000 -5.047940
+vn -0.0000 1.0000 -0.0000
+vn -0.0000 -0.0000 1.0000
+vn -0.0000 -0.0000 -1.0000
+vn 1.0000 -0.0000 -0.0000
+vn -1.0000 -0.0000 -0.0000
+vt 0.744352 0.318508
+vt 0.744352 0.589658
+vt 0.718057 0.589658
+vt 0.718057 0.318508
+vt 0.837434 0.180767
+vt 0.837434 0.271151
+vt 0.706969 0.271151
+vt 0.706969 0.180767
+vt -0.000000 0.408891
+vt -0.000000 0.318508
+vt 0.241451 0.318508
+vt 0.241451 0.408891
+vt 0.241451 0.589658
+vt 0.482903 0.318508
+vt 0.482903 0.589658
+vt 0.000000 0.589658
+vt 0.149024 0.589658
+vt 0.149024 0.831110
+vt 0.000000 0.831110
+vt 0.149024 0.589658
+vt 0.298049 0.589658
+vt 0.298049 0.831110
+vt 0.149024 0.831110
+vt 0.837434 0.090384
+vt 0.837434 -0.000000
+vt 0.850158 -0.000000
+vt 0.850158 0.090384
+vt 0.880672 0.221164
+vt 0.880672 0.307914
+vt 0.850158 0.307914
+vt 0.850158 0.221164
+vt 0.850158 0.180767
+vt 0.850158 0.271151
+vt 0.000000 0.589658
+vt 0.000000 0.499275
+vt 0.241451 0.499275
+vt 0.241451 0.589658
+vt 0.706969 0.090384
+vt 0.706969 -0.000000
+s 0
+usemtl Material
+f 102/203/22 103/204/22 112/205/22 111/206/22
+f 119/207/22 99/208/22 104/209/22 120/210/22
+f 120/211/23 104/212/23 108/213/23 115/214/23
+f 103/215/24 102/213/24 105/216/24 107/217/24
+f 104/218/25 103/219/25 107/220/25 108/221/25
+f 102/222/26 101/223/26 106/224/26 105/225/26
+f 121/226/22 97/227/22 109/228/22 118/229/22
+f 98/230/22 100/231/22 114/232/22 113/233/22
+f 99/208/22 119/207/22 117/234/22 110/235/22
+f 119/207/22 121/226/22 118/229/22 117/234/22
+f 101/236/23 122/237/23 116/238/23 106/239/23
+f 122/237/23 120/211/23 115/214/23 116/238/23
+f 97/227/22 121/226/22 122/240/22 101/241/22
+f 121/226/22 119/207/22 120/210/22 122/240/22
diff --git a/assets/models/interior2.obj.import b/assets/models/interior2.obj.import
new file mode 100644
index 0000000..a4d35f2
--- /dev/null
+++ b/assets/models/interior2.obj.import
@@ -0,0 +1,49 @@
+[remap]
+
+importer="scene"
+importer_version=1
+type="PackedScene"
+uid="uid://cbb37i3xvtp50"
+path="res://.godot/imported/interior2.obj-795a7425a3e5159ac447d04ef4c92d6a.scn"
+
+[deps]
+
+source_file="res://assets/models/interior2.obj"
+dest_files=["res://.godot/imported/interior2.obj-795a7425a3e5159ac447d04ef4c92d6a.scn"]
+
+[params]
+
+nodes/root_type=""
+nodes/root_name=""
+nodes/apply_root_scale=true
+nodes/root_scale=1.0
+meshes/ensure_tangents=true
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
+meshes/force_disable_compression=false
+skins/use_named_skins=true
+animation/import=true
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={
+"nodes": {
+"PATH:Ground": {
+"generate/physics": true,
+"physics/shape_type": 2
+},
+"PATH:Walls1": {
+"generate/physics": true,
+"physics/shape_type": 2
+},
+"PATH:Walls2": {
+"generate/physics": true,
+"physics/shape_type": 2
+}
+}
+}
+gltf/naming_version=1
+gltf/embedded_image_handling=1
diff --git a/assets/textures/material/bricks/bricks_ambientocclusion.png b/assets/textures/material/bricks/bricks_ambientocclusion.png
index 88ec4de..8ef639a 100644
Binary files a/assets/textures/material/bricks/bricks_ambientocclusion.png and b/assets/textures/material/bricks/bricks_ambientocclusion.png differ
diff --git a/assets/textures/material/bricks/bricks_color.png b/assets/textures/material/bricks/bricks_color.png
index 4d71eb3..f1c111d 100644
Binary files a/assets/textures/material/bricks/bricks_color.png and b/assets/textures/material/bricks/bricks_color.png differ
diff --git a/assets/textures/material/bricks/bricks_displacement.png b/assets/textures/material/bricks/bricks_displacement.png
index 30d2b3c..43e6b4d 100644
Binary files a/assets/textures/material/bricks/bricks_displacement.png and b/assets/textures/material/bricks/bricks_displacement.png differ
diff --git a/assets/textures/material/bricks/bricks_normaldx.png b/assets/textures/material/bricks/bricks_normaldx.png
index aec4f70..f33db50 100644
Binary files a/assets/textures/material/bricks/bricks_normaldx.png and b/assets/textures/material/bricks/bricks_normaldx.png differ
diff --git a/assets/textures/material/bricks/bricks_normalgl.png b/assets/textures/material/bricks/bricks_normalgl.png
index afe35b0..3bd89e7 100644
Binary files a/assets/textures/material/bricks/bricks_normalgl.png and b/assets/textures/material/bricks/bricks_normalgl.png differ
diff --git a/assets/textures/material/bricks/bricks_roughness.png b/assets/textures/material/bricks/bricks_roughness.png
index 10ca5df..4369541 100644
Binary files a/assets/textures/material/bricks/bricks_roughness.png and b/assets/textures/material/bricks/bricks_roughness.png differ
diff --git a/assets/textures/material/concrete/concrete_ambientocclusion.png b/assets/textures/material/concrete/concrete_ambientocclusion.png
new file mode 100644
index 0000000..779c93f
Binary files /dev/null and b/assets/textures/material/concrete/concrete_ambientocclusion.png differ
diff --git a/assets/textures/material/concrete/concrete_ambientocclusion.png.import b/assets/textures/material/concrete/concrete_ambientocclusion.png.import
new file mode 100644
index 0000000..a2d3e8f
--- /dev/null
+++ b/assets/textures/material/concrete/concrete_ambientocclusion.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dgp24icxy8biu"
+path.s3tc="res://.godot/imported/concrete_ambientocclusion.png-e3ecd6d034aefbb7dcfec3003a123922.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/concrete/concrete_ambientocclusion.png"
+dest_files=["res://.godot/imported/concrete_ambientocclusion.png-e3ecd6d034aefbb7dcfec3003a123922.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/concrete/concrete_color.png b/assets/textures/material/concrete/concrete_color.png
new file mode 100644
index 0000000..8f4a856
Binary files /dev/null and b/assets/textures/material/concrete/concrete_color.png differ
diff --git a/assets/textures/material/concrete/concrete_color.png.import b/assets/textures/material/concrete/concrete_color.png.import
new file mode 100644
index 0000000..ade9914
--- /dev/null
+++ b/assets/textures/material/concrete/concrete_color.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dsn5u1ymp1eki"
+path.s3tc="res://.godot/imported/concrete_color.png-a0c2d89bdefc7edacb9637a82f513418.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/concrete/concrete_color.png"
+dest_files=["res://.godot/imported/concrete_color.png-a0c2d89bdefc7edacb9637a82f513418.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/concrete/concrete_normalgl.png b/assets/textures/material/concrete/concrete_normalgl.png
new file mode 100644
index 0000000..325dbcf
Binary files /dev/null and b/assets/textures/material/concrete/concrete_normalgl.png differ
diff --git a/assets/textures/material/concrete/concrete_normalgl.png.import b/assets/textures/material/concrete/concrete_normalgl.png.import
new file mode 100644
index 0000000..c64a2b1
--- /dev/null
+++ b/assets/textures/material/concrete/concrete_normalgl.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dh5k61ko53gn6"
+path.s3tc="res://.godot/imported/concrete_normalgl.png-01fb3ae5239495468cd8700751eb2087.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/concrete/concrete_normalgl.png"
+dest_files=["res://.godot/imported/concrete_normalgl.png-01fb3ae5239495468cd8700751eb2087.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal="res://assets/textures/material/concrete/concrete_normalgl.png"
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/concrete/concrete_roughness.png b/assets/textures/material/concrete/concrete_roughness.png
new file mode 100644
index 0000000..869d16f
Binary files /dev/null and b/assets/textures/material/concrete/concrete_roughness.png differ
diff --git a/assets/textures/material/concrete/concrete_roughness.png.import b/assets/textures/material/concrete/concrete_roughness.png.import
new file mode 100644
index 0000000..891cfdf
--- /dev/null
+++ b/assets/textures/material/concrete/concrete_roughness.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b230m11b62rk4"
+path.s3tc="res://.godot/imported/concrete_roughness.png-27386ff627c06755dfe837864ebcc14a.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/concrete/concrete_roughness.png"
+dest_files=["res://.godot/imported/concrete_roughness.png-27386ff627c06755dfe837864ebcc14a.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/crate/crate2.material b/assets/textures/material/crate/crate2.material
new file mode 100644
index 0000000..f0e470d
Binary files /dev/null and b/assets/textures/material/crate/crate2.material differ
diff --git a/assets/textures/material/gray_bricks/gray_bricks.material b/assets/textures/material/gray_bricks/gray_bricks.material
new file mode 100644
index 0000000..1232486
Binary files /dev/null and b/assets/textures/material/gray_bricks/gray_bricks.material differ
diff --git a/assets/textures/material/gray_bricks/gray_bricks.mtlx b/assets/textures/material/gray_bricks/gray_bricks.mtlx
new file mode 100644
index 0000000..7c7b3c1
--- /dev/null
+++ b/assets/textures/material/gray_bricks/gray_bricks.mtlx
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/textures/material/gray_bricks/gray_bricks.usdc b/assets/textures/material/gray_bricks/gray_bricks.usdc
new file mode 100644
index 0000000..7a87902
Binary files /dev/null and b/assets/textures/material/gray_bricks/gray_bricks.usdc differ
diff --git a/assets/textures/material/gray_bricks/gray_bricks_ambientocclusion.png b/assets/textures/material/gray_bricks/gray_bricks_ambientocclusion.png
new file mode 100644
index 0000000..6a451f2
Binary files /dev/null and b/assets/textures/material/gray_bricks/gray_bricks_ambientocclusion.png differ
diff --git a/assets/textures/material/gray_bricks/gray_bricks_ambientocclusion.png.import b/assets/textures/material/gray_bricks/gray_bricks_ambientocclusion.png.import
new file mode 100644
index 0000000..cd4883a
--- /dev/null
+++ b/assets/textures/material/gray_bricks/gray_bricks_ambientocclusion.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bg8mbnuh8rvw6"
+path.s3tc="res://.godot/imported/gray_bricks_ambientocclusion.png-fda32c4103078051c35130465c82f0e3.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/gray_bricks/gray_bricks_ambientocclusion.png"
+dest_files=["res://.godot/imported/gray_bricks_ambientocclusion.png-fda32c4103078051c35130465c82f0e3.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/gray_bricks/gray_bricks_color.png b/assets/textures/material/gray_bricks/gray_bricks_color.png
new file mode 100644
index 0000000..2022b2f
Binary files /dev/null and b/assets/textures/material/gray_bricks/gray_bricks_color.png differ
diff --git a/assets/textures/material/gray_bricks/gray_bricks_color.png.import b/assets/textures/material/gray_bricks/gray_bricks_color.png.import
new file mode 100644
index 0000000..043f793
--- /dev/null
+++ b/assets/textures/material/gray_bricks/gray_bricks_color.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cuj7ldpxce236"
+path.s3tc="res://.godot/imported/gray_bricks_color.png-8d7fe91a4d6cd7ec0761df86a01f5e6e.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/gray_bricks/gray_bricks_color.png"
+dest_files=["res://.godot/imported/gray_bricks_color.png-8d7fe91a4d6cd7ec0761df86a01f5e6e.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/gray_bricks/gray_bricks_normalgl.png b/assets/textures/material/gray_bricks/gray_bricks_normalgl.png
new file mode 100644
index 0000000..2b1a5e1
Binary files /dev/null and b/assets/textures/material/gray_bricks/gray_bricks_normalgl.png differ
diff --git a/assets/textures/material/gray_bricks/gray_bricks_normalgl.png.import b/assets/textures/material/gray_bricks/gray_bricks_normalgl.png.import
new file mode 100644
index 0000000..48c306a
--- /dev/null
+++ b/assets/textures/material/gray_bricks/gray_bricks_normalgl.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://df7gaqplas6rc"
+path.s3tc="res://.godot/imported/gray_bricks_normalgl.png-f7941e840649da2840a76c2077182f40.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/gray_bricks/gray_bricks_normalgl.png"
+dest_files=["res://.godot/imported/gray_bricks_normalgl.png-f7941e840649da2840a76c2077182f40.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal="res://assets/textures/material/gray_bricks/gray_bricks_normalgl.png"
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/gray_bricks/gray_bricks_roughness.png b/assets/textures/material/gray_bricks/gray_bricks_roughness.png
new file mode 100644
index 0000000..9b43737
Binary files /dev/null and b/assets/textures/material/gray_bricks/gray_bricks_roughness.png differ
diff --git a/assets/textures/material/gray_bricks/gray_bricks_roughness.png.import b/assets/textures/material/gray_bricks/gray_bricks_roughness.png.import
new file mode 100644
index 0000000..215190e
--- /dev/null
+++ b/assets/textures/material/gray_bricks/gray_bricks_roughness.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c7dwagi4nly6d"
+path="res://.godot/imported/gray_bricks_roughness.png-943732ad7658e21d1720d413192fc714.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/gray_bricks/gray_bricks_roughness.png"
+dest_files=["res://.godot/imported/gray_bricks_roughness.png-943732ad7658e21d1720d413192fc714.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/metal/metal_ambientocclusion.png b/assets/textures/material/metal/metal_ambientocclusion.png
index 50fec55..942da5b 100644
Binary files a/assets/textures/material/metal/metal_ambientocclusion.png and b/assets/textures/material/metal/metal_ambientocclusion.png differ
diff --git a/assets/textures/material/metal/metal_color.png b/assets/textures/material/metal/metal_color.png
index 8455708..a75cddd 100644
Binary files a/assets/textures/material/metal/metal_color.png and b/assets/textures/material/metal/metal_color.png differ
diff --git a/assets/textures/material/metal/metal_displacement.png b/assets/textures/material/metal/metal_displacement.png
index 15ccc8a..64ba3ba 100644
Binary files a/assets/textures/material/metal/metal_displacement.png and b/assets/textures/material/metal/metal_displacement.png differ
diff --git a/assets/textures/material/metal/metal_metalness.png b/assets/textures/material/metal/metal_metalness.png
index 6ce1576..84218a7 100644
Binary files a/assets/textures/material/metal/metal_metalness.png and b/assets/textures/material/metal/metal_metalness.png differ
diff --git a/assets/textures/material/metal/metal_normaldx.png b/assets/textures/material/metal/metal_normaldx.png
index 1ba7e7f..69c3063 100644
Binary files a/assets/textures/material/metal/metal_normaldx.png and b/assets/textures/material/metal/metal_normaldx.png differ
diff --git a/assets/textures/material/metal/metal_normalgl.png b/assets/textures/material/metal/metal_normalgl.png
index 8c898dd..722657d 100644
Binary files a/assets/textures/material/metal/metal_normalgl.png and b/assets/textures/material/metal/metal_normalgl.png differ
diff --git a/assets/textures/material/metal/metal_roughness.png b/assets/textures/material/metal/metal_roughness.png
index 04f023e..9c5da5e 100644
Binary files a/assets/textures/material/metal/metal_roughness.png and b/assets/textures/material/metal/metal_roughness.png differ
diff --git a/assets/textures/material/paintedplaster/paintedplaster.material b/assets/textures/material/paintedplaster/paintedplaster.material
new file mode 100644
index 0000000..eb7710c
Binary files /dev/null and b/assets/textures/material/paintedplaster/paintedplaster.material differ
diff --git a/assets/textures/material/paintedplaster/paintedplaster_ambientocclusion.png b/assets/textures/material/paintedplaster/paintedplaster_ambientocclusion.png
new file mode 100644
index 0000000..d28e09c
Binary files /dev/null and b/assets/textures/material/paintedplaster/paintedplaster_ambientocclusion.png differ
diff --git a/assets/textures/material/paintedplaster/paintedplaster_ambientocclusion.png.import b/assets/textures/material/paintedplaster/paintedplaster_ambientocclusion.png.import
new file mode 100644
index 0000000..b311871
--- /dev/null
+++ b/assets/textures/material/paintedplaster/paintedplaster_ambientocclusion.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7jq8j87kvk5s"
+path.s3tc="res://.godot/imported/paintedplaster_ambientocclusion.png-f2412fe80f6bc9710982f3b6eedfbb64.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/paintedplaster/paintedplaster_ambientocclusion.png"
+dest_files=["res://.godot/imported/paintedplaster_ambientocclusion.png-f2412fe80f6bc9710982f3b6eedfbb64.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/paintedplaster/paintedplaster_color.png b/assets/textures/material/paintedplaster/paintedplaster_color.png
new file mode 100644
index 0000000..47b1a98
Binary files /dev/null and b/assets/textures/material/paintedplaster/paintedplaster_color.png differ
diff --git a/assets/textures/material/paintedplaster/paintedplaster_color.png.import b/assets/textures/material/paintedplaster/paintedplaster_color.png.import
new file mode 100644
index 0000000..24276c0
--- /dev/null
+++ b/assets/textures/material/paintedplaster/paintedplaster_color.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cc8qr2ymy1rtf"
+path.s3tc="res://.godot/imported/paintedplaster_color.png-6071493653048adc817e65532b297035.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/paintedplaster/paintedplaster_color.png"
+dest_files=["res://.godot/imported/paintedplaster_color.png-6071493653048adc817e65532b297035.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/paintedplaster/paintedplaster_normalgl.png b/assets/textures/material/paintedplaster/paintedplaster_normalgl.png
new file mode 100644
index 0000000..f00f067
Binary files /dev/null and b/assets/textures/material/paintedplaster/paintedplaster_normalgl.png differ
diff --git a/assets/textures/material/paintedplaster/paintedplaster_normalgl.png.import b/assets/textures/material/paintedplaster/paintedplaster_normalgl.png.import
new file mode 100644
index 0000000..9379237
--- /dev/null
+++ b/assets/textures/material/paintedplaster/paintedplaster_normalgl.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bf4rbwib428jx"
+path.s3tc="res://.godot/imported/paintedplaster_normalgl.png-6c35b9593f9fe42cef888fbb7b136749.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/paintedplaster/paintedplaster_normalgl.png"
+dest_files=["res://.godot/imported/paintedplaster_normalgl.png-6c35b9593f9fe42cef888fbb7b136749.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal="res://assets/textures/material/paintedplaster/paintedplaster_normalgl.png"
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/paintedplaster/paintedplaster_roughness.png b/assets/textures/material/paintedplaster/paintedplaster_roughness.png
new file mode 100644
index 0000000..10693f8
Binary files /dev/null and b/assets/textures/material/paintedplaster/paintedplaster_roughness.png differ
diff --git a/assets/textures/material/paintedplaster/paintedplaster_roughness.png.import b/assets/textures/material/paintedplaster/paintedplaster_roughness.png.import
new file mode 100644
index 0000000..dfae6af
--- /dev/null
+++ b/assets/textures/material/paintedplaster/paintedplaster_roughness.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csvikiyxlaknd"
+path.s3tc="res://.godot/imported/paintedplaster_roughness.png-fdaed1b82c5b68a07f5feabb68078e8c.s3tc.ctex"
+metadata={
+"imported_formats": ["s3tc_bptc"],
+"vram_texture": true
+}
+
+[deps]
+
+source_file="res://assets/textures/material/paintedplaster/paintedplaster_roughness.png"
+dest_files=["res://.godot/imported/paintedplaster_roughness.png-fdaed1b82c5b68a07f5feabb68078e8c.s3tc.ctex"]
+
+[params]
+
+compress/mode=2
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/textures/material/planks/planks_ambientocclusion.png b/assets/textures/material/planks/planks_ambientocclusion.png
index e12b4a0..bbff205 100644
Binary files a/assets/textures/material/planks/planks_ambientocclusion.png and b/assets/textures/material/planks/planks_ambientocclusion.png differ
diff --git a/assets/textures/material/planks/planks_color.png b/assets/textures/material/planks/planks_color.png
index 21283e0..c6c9bd2 100644
Binary files a/assets/textures/material/planks/planks_color.png and b/assets/textures/material/planks/planks_color.png differ
diff --git a/assets/textures/material/planks/planks_displacement.png b/assets/textures/material/planks/planks_displacement.png
index 40e0c51..bca89ab 100644
Binary files a/assets/textures/material/planks/planks_displacement.png and b/assets/textures/material/planks/planks_displacement.png differ
diff --git a/assets/textures/material/planks/planks_metalness.png b/assets/textures/material/planks/planks_metalness.png
index 508b4b1..f42ea56 100644
Binary files a/assets/textures/material/planks/planks_metalness.png and b/assets/textures/material/planks/planks_metalness.png differ
diff --git a/assets/textures/material/planks/planks_normaldx.png b/assets/textures/material/planks/planks_normaldx.png
index f842f41..8f9c679 100644
Binary files a/assets/textures/material/planks/planks_normaldx.png and b/assets/textures/material/planks/planks_normaldx.png differ
diff --git a/assets/textures/material/planks/planks_normalgl.png b/assets/textures/material/planks/planks_normalgl.png
index 3ed5379..e4e8c90 100644
Binary files a/assets/textures/material/planks/planks_normalgl.png and b/assets/textures/material/planks/planks_normalgl.png differ
diff --git a/assets/textures/material/planks/planks_roughness.png b/assets/textures/material/planks/planks_roughness.png
index 5d48991..dc1256f 100644
Binary files a/assets/textures/material/planks/planks_roughness.png and b/assets/textures/material/planks/planks_roughness.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal.mtlx b/assets/textures/material/redpaintedmetal/redpaintedmetal.mtlx
new file mode 100644
index 0000000..eebed23
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal.mtlx
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal.usdc b/assets/textures/material/redpaintedmetal/redpaintedmetal.usdc
new file mode 100644
index 0000000..551c6cc
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal.usdc differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal004.png b/assets/textures/material/redpaintedmetal/redpaintedmetal004.png
new file mode 100644
index 0000000..eb14bcf
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal004.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal004.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal004.png.import
new file mode 100644
index 0000000..fd8891f
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4l0v3u16kc2l"
+path="res://.godot/imported/redpaintedmetal004.png-eb0a3034fc4bd2d80463be744a9b6a84.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal004.png"
+dest_files=["res://.godot/imported/redpaintedmetal004.png-eb0a3034fc4bd2d80463be744a9b6a84.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_color.png b/assets/textures/material/redpaintedmetal/redpaintedmetal_color.png
new file mode 100644
index 0000000..664b269
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal_color.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_color.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal_color.png.import
new file mode 100644
index 0000000..e8ac5c4
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal_color.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6502igtm1bb7"
+path="res://.godot/imported/redpaintedmetal_color.png-8721608ba7ccf0a10782b9cb88575ae9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal_color.png"
+dest_files=["res://.godot/imported/redpaintedmetal_color.png-8721608ba7ccf0a10782b9cb88575ae9.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_displacement.png b/assets/textures/material/redpaintedmetal/redpaintedmetal_displacement.png
new file mode 100644
index 0000000..03eae86
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal_displacement.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_displacement.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal_displacement.png.import
new file mode 100644
index 0000000..6d0cc19
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal_displacement.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxfcf2oxccfjr"
+path="res://.godot/imported/redpaintedmetal_displacement.png-bed51de73d4ebd571de2b7eed6db8d3c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal_displacement.png"
+dest_files=["res://.godot/imported/redpaintedmetal_displacement.png-bed51de73d4ebd571de2b7eed6db8d3c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_metalness.png b/assets/textures/material/redpaintedmetal/redpaintedmetal_metalness.png
new file mode 100644
index 0000000..708ad81
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal_metalness.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_metalness.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal_metalness.png.import
new file mode 100644
index 0000000..811930e
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal_metalness.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cdggue7ru7vg6"
+path="res://.godot/imported/redpaintedmetal_metalness.png-b9fe47f4fbae33ad63102beadfe6221c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal_metalness.png"
+dest_files=["res://.godot/imported/redpaintedmetal_metalness.png-b9fe47f4fbae33ad63102beadfe6221c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_normaldx.png b/assets/textures/material/redpaintedmetal/redpaintedmetal_normaldx.png
new file mode 100644
index 0000000..3567dea
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal_normaldx.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_normaldx.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal_normaldx.png.import
new file mode 100644
index 0000000..caa501b
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal_normaldx.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bs884q3wo0q4q"
+path="res://.godot/imported/redpaintedmetal_normaldx.png-e6a893054f316ac3dca7d0a5dbe080ac.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal_normaldx.png"
+dest_files=["res://.godot/imported/redpaintedmetal_normaldx.png-e6a893054f316ac3dca7d0a5dbe080ac.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_normalgl.png b/assets/textures/material/redpaintedmetal/redpaintedmetal_normalgl.png
new file mode 100644
index 0000000..7b3cb43
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal_normalgl.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_normalgl.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal_normalgl.png.import
new file mode 100644
index 0000000..e381adb
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal_normalgl.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b50pyw1mhekn"
+path="res://.godot/imported/redpaintedmetal_normalgl.png-726c2364c566a1e1a4d93d7b33212265.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal_normalgl.png"
+dest_files=["res://.godot/imported/redpaintedmetal_normalgl.png-726c2364c566a1e1a4d93d7b33212265.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_opacity.png b/assets/textures/material/redpaintedmetal/redpaintedmetal_opacity.png
new file mode 100644
index 0000000..c23f9c0
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal_opacity.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_opacity.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal_opacity.png.import
new file mode 100644
index 0000000..9816ac1
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal_opacity.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bhvru71stm1pk"
+path="res://.godot/imported/redpaintedmetal_opacity.png-4ec9bc95ce705e83836a86364cd44f33.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal_opacity.png"
+dest_files=["res://.godot/imported/redpaintedmetal_opacity.png-4ec9bc95ce705e83836a86364cd44f33.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_roughness.png b/assets/textures/material/redpaintedmetal/redpaintedmetal_roughness.png
new file mode 100644
index 0000000..84dddf8
Binary files /dev/null and b/assets/textures/material/redpaintedmetal/redpaintedmetal_roughness.png differ
diff --git a/assets/textures/material/redpaintedmetal/redpaintedmetal_roughness.png.import b/assets/textures/material/redpaintedmetal/redpaintedmetal_roughness.png.import
new file mode 100644
index 0000000..2736aa1
--- /dev/null
+++ b/assets/textures/material/redpaintedmetal/redpaintedmetal_roughness.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bn4yrn4yhswh5"
+path="res://.godot/imported/redpaintedmetal_roughness.png-e3237bd316a921238cbba74c5b6108f6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/material/redpaintedmetal/redpaintedmetal_roughness.png"
+dest_files=["res://.godot/imported/redpaintedmetal_roughness.png-e3237bd316a921238cbba74c5b6108f6.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/textures/material/scratcheslight/scratcheslight_nrm.jpg b/assets/textures/material/scratcheslight/scratcheslight_nrm.jpg
index 11568f4..592fbf2 100644
Binary files a/assets/textures/material/scratcheslight/scratcheslight_nrm.jpg and b/assets/textures/material/scratcheslight/scratcheslight_nrm.jpg differ
diff --git a/assets/textures/material/scratcheslight/scratcheslight_overlay_var1.jpg b/assets/textures/material/scratcheslight/scratcheslight_overlay_var1.jpg
index e402d90..4281453 100644
Binary files a/assets/textures/material/scratcheslight/scratcheslight_overlay_var1.jpg and b/assets/textures/material/scratcheslight/scratcheslight_overlay_var1.jpg differ
diff --git a/assets/textures/material/scratcheslight/scratcheslight_overlay_var2.jpg b/assets/textures/material/scratcheslight/scratcheslight_overlay_var2.jpg
index a481acd..86d243e 100644
Binary files a/assets/textures/material/scratcheslight/scratcheslight_overlay_var2.jpg and b/assets/textures/material/scratcheslight/scratcheslight_overlay_var2.jpg differ
diff --git a/assets/textures/material/tiles_white/tiles_white_ambientocclusion.png b/assets/textures/material/tiles_white/tiles_white_ambientocclusion.png
index 2da5e0d..dd761ff 100644
Binary files a/assets/textures/material/tiles_white/tiles_white_ambientocclusion.png and b/assets/textures/material/tiles_white/tiles_white_ambientocclusion.png differ
diff --git a/assets/textures/material/tiles_white/tiles_white_color.png b/assets/textures/material/tiles_white/tiles_white_color.png
index 3cbcdc2..7859ba9 100644
Binary files a/assets/textures/material/tiles_white/tiles_white_color.png and b/assets/textures/material/tiles_white/tiles_white_color.png differ
diff --git a/assets/textures/material/tiles_white/tiles_white_displacement.png b/assets/textures/material/tiles_white/tiles_white_displacement.png
index 0d98b11..a0fb73b 100644
Binary files a/assets/textures/material/tiles_white/tiles_white_displacement.png and b/assets/textures/material/tiles_white/tiles_white_displacement.png differ
diff --git a/assets/textures/material/tiles_white/tiles_white_normal.png b/assets/textures/material/tiles_white/tiles_white_normal.png
index fa671c6..c998b5c 100644
Binary files a/assets/textures/material/tiles_white/tiles_white_normal.png and b/assets/textures/material/tiles_white/tiles_white_normal.png differ
diff --git a/assets/textures/material/tiles_white/tiles_white_roughness.png b/assets/textures/material/tiles_white/tiles_white_roughness.png
index 38da997..da2a1c9 100644
Binary files a/assets/textures/material/tiles_white/tiles_white_roughness.png and b/assets/textures/material/tiles_white/tiles_white_roughness.png differ
diff --git a/project.godot b/project.godot
index 7ffbc17..28a1ca1 100644
--- a/project.godot
+++ b/project.godot
@@ -21,6 +21,7 @@ config/icon="res://assets/textures/gui/pte_icon.svg"
[autoload]
WindowManager="*res://scripts/autoloads/window_manager.gd"
+LevelManager="*res://scenes/autoloads/level_manager.tscn"
[display]
@@ -33,7 +34,7 @@ window/size/mode.release=4
[editor_plugins]
-enabled=PackedStringArray("res://addons/destruction/plugin.cfg")
+enabled=PackedStringArray()
[file_customization]
@@ -127,8 +128,11 @@ fullscreen={
[rendering]
-anti_aliasing/quality/screen_space_aa=1
-anti_aliasing/quality/use_taa=true
+textures/lossless_compression/force_png=true
+shader_compiler/shader_cache/enabled=false
+global_illumination/gi/use_half_resolution=true
+shading/overrides/force_vertex_shading=true
+environment/ssao/quality=1
occlusion_culling/use_occlusion_culling=true
environment/defaults/default_environment="res://resources/environment.tres"
environment/defaults/default_clear_color.release=Color(0, 0, 0, 1)
diff --git a/resources/environment.tres b/resources/environment.tres
index e135513..21d2ddc 100644
--- a/resources/environment.tres
+++ b/resources/environment.tres
@@ -7,3 +7,5 @@ ambient_light_source = 2
ambient_light_color = Color(1, 0.956863, 0.74902, 1)
tonemap_mode = 2
ssao_enabled = true
+glow_enabled = true
+glow_intensity = 1.0
diff --git a/scenes/autoloads/level_manager.tscn b/scenes/autoloads/level_manager.tscn
new file mode 100644
index 0000000..9c2e58e
--- /dev/null
+++ b/scenes/autoloads/level_manager.tscn
@@ -0,0 +1,142 @@
+[gd_scene load_steps=7 format=3 uid="uid://d0c5hrutllyqx"]
+
+[ext_resource type="Script" path="res://scripts/autoloads/level_manager.gd" id="1_r0vey"]
+[ext_resource type="PackedScene" uid="uid://ckad8stc13n83" path="res://scenes/levels/lvl_1.tscn" id="2_tl22s"]
+[ext_resource type="PackedScene" uid="uid://c17x7kmjmqdk3" path="res://scenes/levels/lvl_2.tscn" id="3_i56tx"]
+
+[sub_resource type="Shader" id="Shader_6md8p"]
+code = "shader_type canvas_item;
+
+const float REPEAT = 5.0;
+
+mat2 rot(float a) {
+ float c = cos(a), s = sin(a);
+ return mat2(vec2(c,s),vec2(-s,c));
+}
+
+float sdBox( vec3 p, vec3 b )
+{
+ vec3 q = abs(p) - b;
+ return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0);
+}
+
+float box(vec3 pos, float scale) {
+ pos *= scale;
+ float base = sdBox(pos, vec3(.4,.4,.1)) /1.5;
+ pos.xy *= 5.;
+ pos.y -= 3.5;
+ pos.xy *= rot(.75);
+ float result = -base;
+ return result;
+}
+
+float box_set(vec3 pos, float iTime,float gTime) {
+ vec3 pos_origin = pos;
+ pos = pos_origin;
+ pos .y += sin(gTime * 0.4) * 2.5;
+ pos.xy *= rot(.8);
+ float box1 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
+ pos = pos_origin;
+ pos .y -=sin(gTime * 0.4) * 2.5;
+ pos.xy *= rot(.8);
+ float box2 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
+ pos = pos_origin;
+ pos .x +=sin(gTime * 0.4) * 2.5;
+ pos.xy *= rot(.8);
+ float box3 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
+ pos = pos_origin;
+ pos .x -=sin(gTime * 0.4) * 2.5;
+ pos.xy *= rot(.8);
+ float box4 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
+ pos = pos_origin;
+ pos.xy *= rot(.8);
+ float box5 = box(pos,.5) * 6.;
+ pos = pos_origin;
+ float box6 = box(pos,.5) * 6.;
+ float result = max(max(max(max(max(box1,box2),box3),box4),box5),box6);
+ return result;
+}
+
+float map(vec3 pos, float iTime, float gTime) {
+ vec3 pos_origin = pos;
+ float box_set1 = box_set(pos, iTime, gTime);
+
+ return box_set1;
+}
+
+void fragment() {
+ vec2 iResolution = 1.0 / SCREEN_PIXEL_SIZE;
+ float iTime = TIME;
+ float gTime = 0.0;
+ vec2 p = (FRAGCOORD.xy * 2. - iResolution.xy) / min(iResolution.x, iResolution.y);
+ vec3 ro = vec3(0., -0.2 ,iTime * 4.);
+ vec3 ray = normalize(vec3(p, 1.5));
+ ray.xy = ray.xy * rot(sin(iTime * .03) * 5.);
+ ray.yz = ray.yz * rot(sin(iTime * .05) * .2);
+ float t = 0.1;
+ vec3 col = vec3(0.);
+ float ac = 0.0;
+
+
+ for (int i = 0; i < 99; i++){
+ vec3 pos = ro + ray * t;
+ pos = mod(pos-2., 4.) -2.;
+ gTime = iTime -float(i) * 0.01;
+
+ float d = map(pos, iTime, gTime);
+
+ d = max(abs(d), 0.01);
+ ac += exp(-d*23.);
+
+ t += d* 0.55;
+ }
+
+ col = vec3(ac * 0.02);
+
+ col +=vec3(0.,0.2 * abs(sin(iTime)),0.5 + sin(iTime) * 0.2);
+
+
+ COLOR = vec4(col ,1.0 - t * (0.02 + 0.02 * sin (iTime)));
+}"
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_xt4fu"]
+shader = SubResource("Shader_6md8p")
+
+[sub_resource type="LabelSettings" id="LabelSettings_v50fi"]
+font_size = 48
+
+[node name="LevelManager" type="Node"]
+script = ExtResource("1_r0vey")
+levels = Array[PackedScene]([ExtResource("2_tl22s"), ExtResource("3_i56tx")])
+
+[node name="Transition" type="CanvasLayer" parent="."]
+layer = 2
+visible = false
+
+[node name="ColorRect" type="ColorRect" parent="Transition"]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0, 0, 0, 1)
+
+[node name="Shader" type="ColorRect" parent="Transition"]
+material = SubResource("ShaderMaterial_xt4fu")
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Label" type="Label" parent="Transition"]
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_left = 19.0
+offset_top = -78.0
+offset_right = 789.0
+offset_bottom = -18.0
+grow_vertical = 0
+text = "Keine Panik! Die Simulation lädt..."
+label_settings = SubResource("LabelSettings_v50fi")
diff --git a/scenes/gravity_gun.tscn b/scenes/gravity_gun.tscn
index 4d3f691..f2d1ef5 100644
--- a/scenes/gravity_gun.tscn
+++ b/scenes/gravity_gun.tscn
@@ -57,11 +57,11 @@ clearcoat_enabled = true
ao_light_affect = 0.22
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6ml44"]
-albedo_color = Color(1, 0, 0, 1)
+albedo_color = Color(0.207843, 0.639216, 0, 1)
metallic_specular = 0.0
emission_enabled = true
-emission = Color(1, 0.156863, 0, 1)
-emission_energy_multiplier = 16.0
+emission = Color(0, 0.662745, 0, 1)
+emission_energy_multiplier = 0.0
backlight_enabled = true
backlight = Color(1, 0.215686, 0, 1)
disable_receive_shadows = true
diff --git a/scenes/close_game_confirmation.tscn b/scenes/gui/menus/close_game_confirmation.tscn
similarity index 97%
rename from scenes/close_game_confirmation.tscn
rename to scenes/gui/menus/close_game_confirmation.tscn
index 7a8f1f8..7309218 100644
--- a/scenes/close_game_confirmation.tscn
+++ b/scenes/gui/menus/close_game_confirmation.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://dvb7rkyyyllkc"]
-[ext_resource type="Script" path="res://scripts/close_game_confirmation.gd" id="1_qqjao"]
+[ext_resource type="Script" path="res://scripts/close_game_confirmation.gd" id="1_7dm65"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2juxv"]
bg_color = Color(0, 0, 0, 0.482353)
@@ -12,7 +12,7 @@ corner_radius_bottom_left = 25
[node name="CloseGameConfirmation" type="CanvasLayer"]
layer = 6
visible = false
-script = ExtResource("1_qqjao")
+script = ExtResource("1_7dm65")
[node name="Panel" type="Panel" parent="."]
custom_minimum_size = Vector2(615, 360)
diff --git a/scenes/gui/menus/game_finished.tscn b/scenes/gui/menus/game_finished.tscn
new file mode 100644
index 0000000..ad3b979
--- /dev/null
+++ b/scenes/gui/menus/game_finished.tscn
@@ -0,0 +1,78 @@
+[gd_scene load_steps=9 format=3 uid="uid://cik0cjt5vdkxf"]
+
+[ext_resource type="Script" path="res://scripts/menus/game_finished.gd" id="1_boc3n"]
+[ext_resource type="FontFile" uid="uid://cr7a85ntk0t0k" path="res://assets/fonts/spacegrotesk_bold.ttf" id="2_6jsm4"]
+
+[sub_resource type="LabelSettings" id="LabelSettings_0vtd5"]
+font = ExtResource("2_6jsm4")
+font_size = 90
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wsdrp"]
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_pcy04"]
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_u03up"]
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jpy2c"]
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_n6en7"]
+
+[node name="GameFinished" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_boc3n")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0, 0, 0, 1)
+
+[node name="Label" type="Label" parent="."]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -702.0
+offset_top = -117.5
+offset_right = 702.0
+offset_bottom = 117.5
+grow_horizontal = 2
+grow_vertical = 2
+text = "Wow!
+Du hast das Spiel durchgespielt!"
+label_settings = SubResource("LabelSettings_0vtd5")
+horizontal_alignment = 1
+
+[node name="Button" type="Button" parent="."]
+layout_mode = 1
+anchors_preset = 7
+anchor_left = 0.5
+anchor_top = 1.0
+anchor_right = 0.5
+anchor_bottom = 1.0
+offset_left = -63.0
+offset_top = -50.0
+offset_right = 63.0
+offset_bottom = -9.0
+grow_horizontal = 2
+grow_vertical = 0
+focus_mode = 0
+theme_override_font_sizes/font_size = 32
+theme_override_styles/normal = SubResource("StyleBoxEmpty_wsdrp")
+theme_override_styles/hover = SubResource("StyleBoxEmpty_pcy04")
+theme_override_styles/pressed = SubResource("StyleBoxEmpty_u03up")
+theme_override_styles/disabled = SubResource("StyleBoxEmpty_jpy2c")
+theme_override_styles/focus = SubResource("StyleBoxEmpty_n6en7")
+text = "Hauptmenü"
+
+[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
diff --git a/scenes/gui/menus/game_over.tscn b/scenes/gui/menus/game_over.tscn
new file mode 100644
index 0000000..846bf68
--- /dev/null
+++ b/scenes/gui/menus/game_over.tscn
@@ -0,0 +1,83 @@
+[gd_scene load_steps=6 format=3 uid="uid://ceq785h1fcvq"]
+
+[ext_resource type="Script" path="res://scripts/game_over.gd" id="1_oydw2"]
+[ext_resource type="FontFile" uid="uid://cr7a85ntk0t0k" path="res://assets/fonts/spacegrotesk_bold.ttf" id="2_1rhse"]
+
+[sub_resource type="Shader" id="Shader_1tfvw"]
+code = "shader_type canvas_item;
+
+uniform float blur_amount : hint_range(0, 5);
+uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
+
+void fragment() {
+ COLOR = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
+}"
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_08jax"]
+shader = SubResource("Shader_1tfvw")
+shader_parameter/blur_amount = 2.0
+
+[sub_resource type="LabelSettings" id="LabelSettings_y2u7n"]
+font = ExtResource("2_1rhse")
+font_size = 72
+
+[node name="GameOver" type="CanvasLayer"]
+process_mode = 3
+script = ExtResource("1_oydw2")
+
+[node name="Blur" type="ColorRect" parent="."]
+process_mode = 3
+material = SubResource("ShaderMaterial_08jax")
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+metadata/_edit_use_anchors_ = true
+
+[node name="ColorRect" type="ColorRect" parent="."]
+process_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(1, 0, 0, 0.305882)
+metadata/_edit_use_anchors_ = true
+
+[node name="Label" type="Label" parent="."]
+process_mode = 3
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -195.0
+offset_top = -46.5
+offset_right = 195.0
+offset_bottom = 46.5
+grow_horizontal = 2
+grow_vertical = 2
+text = "Game Over!"
+label_settings = SubResource("LabelSettings_y2u7n")
+metadata/_edit_use_anchors_ = true
+
+[node name="Button" type="Button" parent="."]
+process_mode = 3
+anchors_preset = 7
+anchor_left = 0.5
+anchor_top = 1.0
+anchor_right = 0.5
+anchor_bottom = 1.0
+offset_left = -138.5
+offset_top = -155.0
+offset_right = 138.5
+offset_bottom = -82.0
+grow_horizontal = 2
+grow_vertical = 0
+focus_mode = 0
+theme_override_font_sizes/font_size = 32
+text = "Level neustarten"
+metadata/_edit_use_anchors_ = true
+
+[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
diff --git a/scenes/gui/menus/main_menu.tscn b/scenes/gui/menus/main_menu.tscn
index 1526981..57a3b25 100644
--- a/scenes/gui/menus/main_menu.tscn
+++ b/scenes/gui/menus/main_menu.tscn
@@ -53,10 +53,7 @@ render_target_update_mode = 4
[node name="LVL1" parent="SubViewportContainer/SubViewport" instance=ExtResource("2_pnids")]
-[node name="Camera3D" parent="SubViewportContainer/SubViewport/LVL1/Player" index="1"]
-current = false
-
-[node name="SpringArm3D" parent="SubViewportContainer/SubViewport/LVL1/Player/Camera3D" index="1"]
+[node name="Player" parent="SubViewportContainer/SubViewport/LVL1" index="2"]
visible = false
[node name="AudioListener3D" parent="SubViewportContainer/SubViewport/LVL1/Player/Camera3D" index="3"]
diff --git a/scenes/gui/menus/pause_menu.tscn b/scenes/gui/menus/pause_menu.tscn
index db54947..4f7430c 100644
--- a/scenes/gui/menus/pause_menu.tscn
+++ b/scenes/gui/menus/pause_menu.tscn
@@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://scripts/menus/pause_menu.gd" id="1_e70hy"]
-[sub_resource type="Shader" id="Shader_1tfvw"]
+[sub_resource type="Shader" id="Shader_y0jqs"]
code = "shader_type canvas_item;
uniform float blur_amount : hint_range(0, 5);
@@ -13,7 +13,7 @@ void fragment() {
}"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bxx1r"]
-shader = SubResource("Shader_1tfvw")
+shader = SubResource("Shader_y0jqs")
shader_parameter/blur_amount = 2.0
[node name="PauseMenu" type="CanvasLayer"]
diff --git a/scenes/level_finish_area.tscn b/scenes/level_finish_area.tscn
index 4fd7ae5..04f3b11 100644
--- a/scenes/level_finish_area.tscn
+++ b/scenes/level_finish_area.tscn
@@ -1,179 +1,35 @@
-[gd_scene load_steps=8 format=3 uid="uid://d2rmg0r1hircj"]
+[gd_scene load_steps=5 format=3 uid="uid://d2rmg0r1hircj"]
+
+[ext_resource type="Script" path="res://scripts/level_finish_area.gd" id="1_cfjpp"]
[sub_resource type="BoxShape3D" id="BoxShape3D_urlb8"]
+size = Vector3(11, 7, 1)
-[sub_resource type="Shader" id="Shader_kkxwe"]
-code = "shader_type spatial;
-//Simple 3D shader to create a force-field effect inspired by Faultless Defense from Guilty Gear Xrd.
-//In summary, it takes logic used for simple rim lighting and uses it to create the alpha instead.
+[sub_resource type="QuadMesh" id="QuadMesh_hjut0"]
+flip_faces = true
+size = Vector2(4, 4)
-render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;//depth_test_disable;
-uniform vec4 albedo : hint_color;
-uniform vec4 emission_color : hint_color;
-uniform sampler2D texture_albedo : hint_albedo;
-uniform float emission_amount: hint_range(0.0, 16.0) = 5.0f;
-uniform float rim_steepness : hint_range(0.0f, 16.0f) = 3.0f; //higher values mean a smaller rim.
-uniform vec3 uv_scale;
-uniform vec3 uv_offset;
-
-
-void vertex() {
- UV=UV*uv_scale.xy+uv_offset.xy;
-}
-
-void fragment() {
- vec2 base_uv = UV;
- vec4 albedo_tex = texture(texture_albedo,base_uv);
- ALBEDO = albedo.rgb * albedo_tex.rgb;
- EMISSION = emission_color.rgb * emission_amount;
- float PI = 3.14159265359;
- float NdotV = dot(NORMAL, VIEW);
- float rim_light = pow(1.0 - NdotV, rim_steepness);
- ALPHA = rim_light * emission_color.a / PI;
-}"
-
-[sub_resource type="ShaderMaterial" id="ShaderMaterial_xe3kp"]
-render_priority = 0
-shader = SubResource("Shader_kkxwe")
-
-[sub_resource type="PlaneMesh" id="PlaneMesh_u64vp"]
-material = SubResource("ShaderMaterial_xe3kp")
-
-[sub_resource type="Shader" id="Shader_6md8p"]
-code = "shader_type canvas_item;
-
-const float REPEAT = 5.0;
-
-mat2 rot(float a) {
- float c = cos(a), s = sin(a);
- return mat2(vec2(c,s),vec2(-s,c));
-}
-
-float sdBox( vec3 p, vec3 b )
-{
- vec3 q = abs(p) - b;
- return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0);
-}
-
-float box(vec3 pos, float scale) {
- pos *= scale;
- float base = sdBox(pos, vec3(.4,.4,.1)) /1.5;
- pos.xy *= 5.;
- pos.y -= 3.5;
- pos.xy *= rot(.75);
- float result = -base;
- return result;
-}
-
-float box_set(vec3 pos, float iTime,float gTime) {
- vec3 pos_origin = pos;
- pos = pos_origin;
- pos .y += sin(gTime * 0.4) * 2.5;
- pos.xy *= rot(.8);
- float box1 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
- pos = pos_origin;
- pos .y -=sin(gTime * 0.4) * 2.5;
- pos.xy *= rot(.8);
- float box2 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
- pos = pos_origin;
- pos .x +=sin(gTime * 0.4) * 2.5;
- pos.xy *= rot(.8);
- float box3 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
- pos = pos_origin;
- pos .x -=sin(gTime * 0.4) * 2.5;
- pos.xy *= rot(.8);
- float box4 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
- pos = pos_origin;
- pos.xy *= rot(.8);
- float box5 = box(pos,.5) * 6.;
- pos = pos_origin;
- float box6 = box(pos,.5) * 6.;
- float result = max(max(max(max(max(box1,box2),box3),box4),box5),box6);
- return result;
-}
-
-float map(vec3 pos, float iTime, float gTime) {
- vec3 pos_origin = pos;
- float box_set1 = box_set(pos, iTime, gTime);
-
- return box_set1;
-}
-
-void fragment() {
- vec2 iResolution = 1.0 / SCREEN_PIXEL_SIZE;
- float iTime = TIME;
- float gTime = 0.0;
- vec2 p = (FRAGCOORD.xy * 2. - iResolution.xy) / min(iResolution.x, iResolution.y);
- vec3 ro = vec3(0., -0.2 ,iTime * 4.);
- vec3 ray = normalize(vec3(p, 1.5));
- ray.xy = ray.xy * rot(sin(iTime * .03) * 5.);
- ray.yz = ray.yz * rot(sin(iTime * .05) * .2);
- float t = 0.1;
- vec3 col = vec3(0.);
- float ac = 0.0;
-
-
- for (int i = 0; i < 99; i++){
- vec3 pos = ro + ray * t;
- pos = mod(pos-2., 4.) -2.;
- gTime = iTime -float(i) * 0.01;
-
- float d = map(pos, iTime, gTime);
-
- d = max(abs(d), 0.01);
- ac += exp(-d*23.);
-
- t += d* 0.55;
- }
-
- col = vec3(ac * 0.02);
-
- col +=vec3(0.,0.2 * abs(sin(iTime)),0.5 + sin(iTime) * 0.2);
-
-
- COLOR = vec4(col ,1.0 - t * (0.02 + 0.02 * sin (iTime)));
-}"
-
-[sub_resource type="ShaderMaterial" id="ShaderMaterial_hw5y5"]
-shader = SubResource("Shader_6md8p")
-
-[sub_resource type="LabelSettings" id="LabelSettings_p3ds8"]
-font_size = 48
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_iaevn"]
+albedo_color = Color(0, 1, 0.266667, 1)
+emission_enabled = true
+emission = Color(0, 1, 0, 1)
+emission_energy_multiplier = 3.0
[node name="Area3D" type="Area3D"]
+script = ExtResource("1_cfjpp")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.153507)
shape = SubResource("BoxShape3D_urlb8")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource("PlaneMesh_u64vp")
+mesh = SubResource("QuadMesh_hjut0")
+surface_material_override/0 = SubResource("StandardMaterial3D_iaevn")
-[node name="CanvasLayer" type="CanvasLayer" parent="."]
+[node name="Label3D" type="Label3D" parent="."]
+transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.524372)
+billboard = 2
+text = "Nächstes Level"
+font_size = 48
-[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
-anchors_preset = 15
-anchor_right = 1.0
-anchor_bottom = 1.0
-grow_horizontal = 2
-grow_vertical = 2
-color = Color(0, 0, 0, 1)
-
-[node name="Shader" type="ColorRect" parent="CanvasLayer"]
-material = SubResource("ShaderMaterial_hw5y5")
-anchors_preset = 15
-anchor_right = 1.0
-anchor_bottom = 1.0
-grow_horizontal = 2
-grow_vertical = 2
-
-[node name="Label" type="Label" parent="CanvasLayer"]
-anchors_preset = 2
-anchor_top = 1.0
-anchor_bottom = 1.0
-offset_left = 19.0
-offset_top = -78.0
-offset_right = 789.0
-offset_bottom = -18.0
-grow_vertical = 0
-text = "Keine Panik! Die Simulation lädt..."
-label_settings = SubResource("LabelSettings_p3ds8")
+[connection signal="body_entered" from="." to="." method="_on_body_entered"]
diff --git a/scenes/levels/lvl_1.tscn b/scenes/levels/lvl_1.tscn
index f113030..0976e78 100644
--- a/scenes/levels/lvl_1.tscn
+++ b/scenes/levels/lvl_1.tscn
@@ -1,8 +1,11 @@
-[gd_scene load_steps=25 format=3 uid="uid://ckad8stc13n83"]
+[gd_scene load_steps=30 format=3 uid="uid://ckad8stc13n83"]
[ext_resource type="PackedScene" uid="uid://ddwkhfly2xyyt" path="res://assets/models/interior.obj" id="1_xs30l"]
[ext_resource type="Material" uid="uid://1w6e5sx6poff" path="res://assets/textures/material/tilesslatesquare/tilesslatesquare.material" id="2_evxh1"]
+[ext_resource type="Material" uid="uid://du8w0x0kmgjui" path="res://assets/textures/material/bricks/bricks.tres" id="3_b6ww3"]
+[ext_resource type="Material" uid="uid://bg5hb1744y4ik" path="res://assets/textures/material/planks/planks.material" id="4_lyce0"]
[ext_resource type="Material" uid="uid://c6rvbga7g5f4l" path="res://assets/textures/material/tiles_white/tiles_white.material" id="7_nrt8m"]
+[ext_resource type="Material" uid="uid://bpaoho76mro65" path="res://assets/textures/material/crate/crate2.material" id="9_icmwj"]
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="11_lls6p"]
[ext_resource type="PackedScene" uid="uid://22blfybi6n4q" path="res://scenes/objects/completion_counter.tscn" id="12_vn8j0"]
[ext_resource type="PackedScene" uid="uid://cy0x2nliyw8gw" path="res://scenes/objects/door.tscn" id="13_fhdru"]
@@ -15,9 +18,13 @@
[ext_resource type="Script" path="res://scripts/voiceline_resource.gd" id="18_jxpoe"]
[ext_resource type="AudioStream" uid="uid://bi1rf1hi2fm2r" path="res://assets/audio/voicelines/anouncer_intro_02.ogg" id="19_2roq0"]
[ext_resource type="AudioStream" uid="uid://rg20ayxe5m75" path="res://assets/audio/voicelines/anouncer_intro_03.ogg" id="20_dqpxk"]
+[ext_resource type="PackedScene" uid="uid://d2rmg0r1hircj" path="res://scenes/level_finish_area.tscn" id="20_tt84f"]
[ext_resource type="AudioStream" uid="uid://ddpvabd43s3p4" path="res://assets/audio/voicelines/anouncer_intro_04.ogg" id="21_n11nj"]
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_thqbu"]
+
[sub_resource type="BoxMesh" id="BoxMesh_wyr1d"]
+material = ExtResource("9_icmwj")
size = Vector3(4, 0.2, 5)
[sub_resource type="BoxShape3D" id="BoxShape3D_lygjd"]
@@ -64,14 +71,27 @@ sky_mode = 1
[node name="interior" parent="." instance=ExtResource("1_xs30l")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
-[node name="Hallway" parent="interior" index="0"]
+[node name="Ground1" parent="interior" index="0"]
surface_material_override/0 = ExtResource("2_evxh1")
-[node name="Room" parent="interior" index="1"]
+[node name="Walls2" parent="interior" index="1"]
+surface_material_override/0 = ExtResource("3_b6ww3")
+
+[node name="Ground2" parent="interior" index="2"]
+surface_material_override/0 = ExtResource("4_lyce0")
+
+[node name="Walls1" parent="interior" index="3"]
surface_material_override/0 = ExtResource("7_nrt8m")
+[node name="Ceiling" parent="interior" index="4"]
+surface_material_override/0 = SubResource("StandardMaterial3D_thqbu")
+
+[node name="StaticBody3D" parent="interior/Ceiling" index="0"]
+collision_layer = 7
+collision_mask = 7
+
[node name="Player" parent="." instance=ExtResource("11_lls6p")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.23956)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.7209)
[node name="CompletionCounter" parent="." node_paths=PackedStringArray("nodes_needed") instance=ExtResource("12_vn8j0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0617981, 3.08507, 6.31598)
@@ -84,7 +104,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0536218, 1.48562, 6.64)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.038, 0.65, 4)
[node name="ButtonStand3" parent="." instance=ExtResource("14_mpdbg")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 4.65, 0.043)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 4.65, 0.043)
[node name="Cube" parent="." instance=ExtResource("15_40os8")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.51, 0)
@@ -96,7 +116,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0.51, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1968, 0.51, 0)
[node name="Plane" type="StaticBody3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 3.9, 0)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 4, 0)
collision_layer = 7
collision_mask = 7
@@ -113,6 +133,9 @@ voice_lines = Array[ExtResource("18_jxpoe")]([SubResource("Resource_u3j5u"), Sub
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3, 6)
+[node name="Area3D" parent="." instance=ExtResource("20_tt84f")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.318473, 2, 10.63)
+
[connection signal="lock" from="CompletionCounter" to="Door" method="close"]
[connection signal="unlock" from="CompletionCounter" to="Door" method="open"]
diff --git a/scenes/levels/lvl_2.tscn b/scenes/levels/lvl_2.tscn
index 3dec03f..486fe46 100644
--- a/scenes/levels/lvl_2.tscn
+++ b/scenes/levels/lvl_2.tscn
@@ -1,12 +1,29 @@
-[gd_scene load_steps=8 format=3 uid="uid://c17x7kmjmqdk3"]
+[gd_scene load_steps=16 format=3 uid="uid://c17x7kmjmqdk3"]
-[ext_resource type="PackedScene" uid="uid://ddwkhfly2xyyt" path="res://assets/models/interior.obj" id="1_yhnvx"]
-[ext_resource type="Material" uid="uid://bg5hb1744y4ik" path="res://assets/textures/material/planks/planks.material" id="2_58abf"]
-[ext_resource type="Material" uid="uid://du8w0x0kmgjui" path="res://assets/textures/material/bricks/bricks.tres" id="3_dimow"]
+[ext_resource type="PackedScene" uid="uid://cbb37i3xvtp50" path="res://assets/models/interior2.obj" id="3_wurqx"]
+[ext_resource type="Texture2D" uid="uid://dsn5u1ymp1eki" path="res://assets/textures/material/concrete/concrete_color.png" id="4_1qe3t"]
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="4_s0xrk"]
+[ext_resource type="Material" uid="uid://dc07mg6jyhsq6" path="res://assets/textures/material/gray_bricks/gray_bricks.material" id="4_wsys7"]
+[ext_resource type="Texture2D" uid="uid://dgp24icxy8biu" path="res://assets/textures/material/concrete/concrete_ambientocclusion.png" id="5_2hu3x"]
+[ext_resource type="Material" uid="uid://c3qgfnlx7ik2n" path="res://assets/textures/material/paintedplaster/paintedplaster.material" id="5_dye2r"]
[ext_resource type="PackedScene" uid="uid://bk4h14lkwp04a" path="res://scenes/objects/furniture/desk.tscn" id="5_u4bki"]
+[ext_resource type="Texture2D" uid="uid://dh5k61ko53gn6" path="res://assets/textures/material/concrete/concrete_normalgl.png" id="6_h1os3"]
[ext_resource type="PackedScene" uid="uid://ced2w03t8er5k" path="res://scenes/objects/physics_objects/cube.tscn" id="6_ndtyp"]
-[ext_resource type="PackedScene" uid="uid://y7mgnooudpqv" path="res://scenes/objects/physics_objects/vent.tscn" id="7_r3yjb"]
+[ext_resource type="Texture2D" uid="uid://b230m11b62rk4" path="res://assets/textures/material/concrete/concrete_roughness.png" id="7_pqq8x"]
+[ext_resource type="PackedScene" uid="uid://jtb3abokylwq" path="res://scenes/objects/physics_objects/keyboard_mouse.tscn" id="11_58enu"]
+[ext_resource type="PackedScene" uid="uid://ryumwinqbqgr" path="res://scenes/objects/physics_objects/computer_screen.tscn" id="12_djkgb"]
+[ext_resource type="PackedScene" uid="uid://idxtvhvxccgl" path="res://scenes/objects/physics_objects/bottle.tscn" id="14_8trno"]
+[ext_resource type="PackedScene" uid="uid://d2rmg0r1hircj" path="res://scenes/level_finish_area.tscn" id="15_0vmxp"]
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6f4qa"]
+albedo_texture = ExtResource("4_1qe3t")
+roughness_texture = ExtResource("7_pqq8x")
+normal_enabled = true
+normal_scale = 3.0
+normal_texture = ExtResource("6_h1os3")
+ao_enabled = true
+ao_texture = ExtResource("5_2hu3x")
+uv1_scale = Vector3(8.5, 8.5, 8.5)
[node name="LVL1" type="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
@@ -16,28 +33,71 @@ transform = Transform3D(0.707107, -0.707107, -4.21468e-08, -0.5, -0.5, 0.707107,
directional_shadow_blend_splits = true
sky_mode = 1
-[node name="interior" parent="." instance=ExtResource("1_yhnvx")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
-
-[node name="Hallway" parent="interior" index="0"]
-surface_material_override/0 = ExtResource("2_58abf")
-
-[node name="Room" parent="interior" index="1"]
-surface_material_override/0 = ExtResource("3_dimow")
-
[node name="Player" parent="." instance=ExtResource("4_s0xrk")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.23956)
-
-[node name="Camera3D" type="Camera3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3, 6)
-
-[node name="Desk" parent="." instance=ExtResource("5_u4bki")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.64074, 1, 0)
+transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, -21.1122)
[node name="Cube" parent="." instance=ExtResource("6_ndtyp")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.920002, 0.15612, 1.95953)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.37859, 0.15612, 2.35514)
+freeze = true
-[node name="Vent" parent="." instance=ExtResource("7_r3yjb")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.54621, 2.315, -3.06745)
+[node name="interior2" parent="." instance=ExtResource("3_wurqx")]
-[editable path="interior"]
+[node name="Walls1" parent="interior2" index="0"]
+surface_material_override/0 = ExtResource("4_wsys7")
+
+[node name="Walls2" parent="interior2" index="1"]
+surface_material_override/0 = ExtResource("5_dye2r")
+
+[node name="Ground" parent="interior2" index="2"]
+surface_material_override/0 = SubResource("StandardMaterial3D_6f4qa")
+
+[node name="Desk" parent="." instance=ExtResource("5_u4bki")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.497, 1.25, -20.898)
+
+[node name="Cube2" parent="." instance=ExtResource("11_58enu")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.0851, 1.33987, -21.5152)
+
+[node name="ComputerScreen" parent="." instance=ExtResource("12_djkgb")]
+transform = Transform3D(-0.176775, -0.0764619, 0.981277, -0.0818855, 0.994664, 0.0627536, -0.980839, -0.0692591, -0.182093, 16.7956, 1.99061, -21.4736)
+
+[node name="Desk2" parent="." instance=ExtResource("5_u4bki")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.497, 1.25, -16.1503)
+
+[node name="Cube3" parent="." instance=ExtResource("11_58enu")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.0851, 1.33987, -16.7675)
+
+[node name="ComputerScreen2" parent="." instance=ExtResource("12_djkgb")]
+transform = Transform3D(-0.305014, 0, 0.952348, 0, 1, 0, -0.952348, 0, -0.305014, 16.7956, 1.99061, -16.7259)
+
+[node name="Desk3" parent="." instance=ExtResource("5_u4bki")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.2247, 1.25, -7.9819)
+
+[node name="Cube4" parent="." instance=ExtResource("11_58enu")]
+transform = Transform3D(0.98423, 0, 0.176896, 0, 1, 0, -0.176896, 0, 0.98423, 15.8128, 1.33987, -8.59911)
+
+[node name="ComputerScreen3" parent="." instance=ExtResource("12_djkgb")]
+transform = Transform3D(0.104667, 0, 0.994507, 0, 1, 0, -0.994507, 0, 0.104667, 16.5233, 1.99061, -8.55754)
+
+[node name="Desk4" parent="." instance=ExtResource("5_u4bki")]
+transform = Transform3D(0.963821, 0, -0.266549, 0, 1, 0, 0.266549, 0, 0.963821, 16.286, 1.25, -11.7658)
+
+[node name="Cube5" parent="." instance=ExtResource("11_58enu")]
+transform = Transform3D(0.963821, 0, -0.266549, 0, 1, 0, 0.266549, 0, 0.963821, 16.0536, 1.33987, -12.4705)
+
+[node name="ComputerScreen4" parent="." instance=ExtResource("12_djkgb")]
+transform = Transform3D(0.119617, 0, 0.99282, 0, 1, 0, -0.99282, 0, 0.119617, 16.7273, 1.99061, -12.241)
+
+[node name="Cube6" parent="." instance=ExtResource("14_8trno")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.6955, 1.42305, -15.217)
+
+[node name="Area3D" parent="." instance=ExtResource("15_0vmxp")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.431601, 1.81218, 19.1515)
+
+[node name="CollisionShape3D" parent="Area3D" index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1.5, 0.0964928)
+
+[node name="MeshInstance3D" parent="Area3D" index="1"]
+transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0.951174)
+
+[editable path="interior2"]
+[editable path="Area3D"]
diff --git a/scenes/objects/door.tscn b/scenes/objects/door.tscn
index b4515f8..fc1627d 100644
--- a/scenes/objects/door.tscn
+++ b/scenes/objects/door.tscn
@@ -8,6 +8,33 @@
[sub_resource type="BoxShape3D" id="BoxShape3D_pejvk"]
size = Vector3(1.5, 3, 0.2)
+[sub_resource type="Animation" id="Animation_3fs6g"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("MeshInstance3D2:position")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector3(0, 0, 0)]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("MeshInstance3D2/Handle:rotation")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector3(0.349066, 1.5708, -1.5708)]
+}
+
[sub_resource type="Animation" id="Animation_1220n"]
resource_name = "open"
length = 0.5
@@ -36,33 +63,6 @@ tracks/1/keys = {
"values": [Vector3(0.349066, 1.5708, -1.5708), Vector3(5.93412, 1.5708, -1.5708)]
}
-[sub_resource type="Animation" id="Animation_3fs6g"]
-length = 0.001
-tracks/0/type = "value"
-tracks/0/imported = false
-tracks/0/enabled = true
-tracks/0/path = NodePath("MeshInstance3D2:position")
-tracks/0/interp = 1
-tracks/0/loop_wrap = true
-tracks/0/keys = {
-"times": PackedFloat32Array(0),
-"transitions": PackedFloat32Array(1),
-"update": 0,
-"values": [Vector3(0, 0, 0)]
-}
-tracks/1/type = "value"
-tracks/1/imported = false
-tracks/1/enabled = true
-tracks/1/path = NodePath("MeshInstance3D2/Handle:rotation")
-tracks/1/interp = 1
-tracks/1/loop_wrap = true
-tracks/1/keys = {
-"times": PackedFloat32Array(0),
-"transitions": PackedFloat32Array(1),
-"update": 0,
-"values": [Vector3(0.349066, 1.5708, -1.5708)]
-}
-
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5xgbb"]
_data = {
"RESET": SubResource("Animation_3fs6g"),
@@ -86,7 +86,7 @@ collision_mask = 3
shape = SubResource("BoxShape3D_pejvk")
[node name="Handle" type="MeshInstance3D" parent="MeshInstance3D2"]
-transform = Transform3D(-0.456027, -1.17323e-07, 1.25292, -1.25292, -8.21505e-08, -0.456027, 7.82154e-08, -2, -5.4767e-08, -0.757807, -0.445, -0.399)
+transform = Transform3D(-0.456026, -9.7162e-06, 1.25292, -1.25292, -6.80336e-06, -0.456026, 6.47745e-06, -2, -4.53556e-06, -0.757807, -0.445, -0.399)
mesh = ExtResource("4_frcys")
skeleton = NodePath("../..")
surface_material_override/0 = ExtResource("3_ti6vs")
diff --git a/scenes/objects/physics_objects/bottle.tscn b/scenes/objects/physics_objects/bottle.tscn
new file mode 100644
index 0000000..effc58d
--- /dev/null
+++ b/scenes/objects/physics_objects/bottle.tscn
@@ -0,0 +1,35 @@
+[gd_scene load_steps=6 format=3 uid="uid://idxtvhvxccgl"]
+
+[ext_resource type="ArrayMesh" uid="uid://c7i8bpqtest8q" path="res://assets/models/bottle.obj" id="1_pj6wy"]
+[ext_resource type="Shader" path="res://shaders/pbr_glass.gdshader" id="2_nc55p"]
+
+[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
+rough = true
+bounce = 0.1
+absorbent = true
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_dus7y"]
+render_priority = 0
+shader = ExtResource("2_nc55p")
+shader_parameter/albedo = Color(0.2, 0.0470588, 0, 0.631373)
+shader_parameter/roughness = 0.15
+shader_parameter/normal_strength = 1.0
+shader_parameter/edge_color = Color(0, 0, 0, 1)
+
+[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
+size = Vector3(0.15, 0.5, 0.15)
+
+[node name="Cube" type="RigidBody3D" groups=["pushables"]]
+collision_priority = 2.0
+mass = 1.5
+physics_material_override = SubResource("PhysicsMaterial_rff84")
+continuous_cd = true
+
+[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
+mesh = ExtResource("1_pj6wy")
+surface_material_override/0 = SubResource("ShaderMaterial_dus7y")
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.168721, 0)
+shape = SubResource("BoxShape3D_bsmvc")
diff --git a/scenes/objects/physics_objects/keyboard_mouse.tscn b/scenes/objects/physics_objects/keyboard_mouse.tscn
index 6641c10..672ddfb 100644
--- a/scenes/objects/physics_objects/keyboard_mouse.tscn
+++ b/scenes/objects/physics_objects/keyboard_mouse.tscn
@@ -11,7 +11,7 @@ absorbent = true
[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
size = Vector3(0.276, 0.04, 0.7)
-[node name="Cube" type="RigidBody3D" groups=["pushables"]]
+[node name="KeyboardMouse" type="RigidBody3D" groups=["pushables"]]
collision_priority = 2.0
mass = 1.5
physics_material_override = SubResource("PhysicsMaterial_rff84")
diff --git a/scenes/player.tscn b/scenes/player.tscn
index ddfeb35..ffd1062 100644
--- a/scenes/player.tscn
+++ b/scenes/player.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=19 format=3 uid="uid://gg5ph541e4p3"]
+[gd_scene load_steps=20 format=3 uid="uid://gg5ph541e4p3"]
[ext_resource type="Script" path="res://scripts/player.gd" id="1_8d33x"]
[ext_resource type="PackedScene" uid="uid://cl6gw3huejnrl" path="res://scenes/gravity_gun.tscn" id="2_ahuce"]
@@ -10,6 +10,7 @@
[ext_resource type="AudioStream" uid="uid://cugjcjiiq2xvo" path="res://assets/audio/footsteps/step1.wav" id="8_kxd2q"]
[ext_resource type="AudioStream" uid="uid://d112eqcmac840" path="res://assets/audio/footsteps/step2.wav" id="9_4mctc"]
[ext_resource type="AudioStream" uid="uid://cf87vn2hrh7u8" path="res://assets/audio/footsteps/land.wav" id="10_n3ln3"]
+[ext_resource type="PackedScene" uid="uid://ceq785h1fcvq" path="res://scenes/gui/menus/game_over.tscn" id="11_0dlqh"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2qx4s"]
radius = 0.4
@@ -93,6 +94,9 @@ wait_time = 0.4
script = ExtResource("5_t1bvf")
audio_library = Array[ExtResource("6_4revs")]([SubResource("Resource_n8h0v"), SubResource("Resource_a4b4g"), SubResource("Resource_yjl6f"), SubResource("Resource_qe4pm")])
+[node name="GameOver" parent="." instance=ExtResource("11_0dlqh")]
+visible = false
+
[connection signal="timeout" from="FootStepTimer" to="." method="_on_foot_step_timer_timeout"]
[editable path="GravityGunLayer"]
diff --git a/scripts/autoloads/level_manager.gd b/scripts/autoloads/level_manager.gd
new file mode 100644
index 0000000..52b4839
--- /dev/null
+++ b/scripts/autoloads/level_manager.gd
@@ -0,0 +1,26 @@
+extends Node
+
+@onready var transition: CanvasLayer = $Transition
+
+@export var levels: Array[PackedScene]
+var level_pointer: int = 0
+
+const PROGRESS_SAVE_PATH: String = "user://save.cfg"
+var progress_save: ConfigFile = ConfigFile.new()
+
+func _ready() -> void:
+ progress_save.load(PROGRESS_SAVE_PATH)
+
+func next_level() -> void:
+ level_pointer += 1
+ if level_pointer < levels.size():
+ transition.show()
+ await get_tree().create_timer(1).timeout
+ get_tree().change_scene_to_packed(levels[level_pointer])
+ await get_tree().create_timer(2).timeout
+ transition.hide()
+ else:
+ get_tree().change_scene_to_file("res://scenes/gui/menus/game_finished.tscn")
+
+func start_last_level() -> void:
+ pass
diff --git a/scripts/autoloads/window_manager.gd b/scripts/autoloads/window_manager.gd
index 6687a7b..4e7119c 100644
--- a/scripts/autoloads/window_manager.gd
+++ b/scripts/autoloads/window_manager.gd
@@ -7,14 +7,14 @@ var fullscreen: bool
func _ready() -> void:
process_mode = Node.PROCESS_MODE_ALWAYS
- close_request_window = preload("res://scenes/close_game_confirmation.tscn").instantiate()
+ close_request_window = preload("res://scenes/gui/menus/close_game_confirmation.tscn").instantiate()
add_child(close_request_window)
pause_menu = preload("res://scenes/gui/menus/pause_menu.tscn").instantiate()
add_child(pause_menu)
fullscreen = DisplayServer.window_get_mode() == 4
-func _process(delta: float) -> void:
+func _process(_delta: float) -> void:
if Input.is_action_just_released("fullscreen"):
fullscreen = !fullscreen
toggle_fullscreen()
diff --git a/scripts/close_game_confirmation.gd b/scripts/close_game_confirmation.gd
index 669f559..81cdfc0 100644
--- a/scripts/close_game_confirmation.gd
+++ b/scripts/close_game_confirmation.gd
@@ -8,3 +8,7 @@ func _on_main_menu_pressed() -> void:
hide()
WindowManager.pause_menu.hide()
get_tree().change_scene_to_file("res://scenes/gui/menus/main_menu.tscn")
+
+func _process(_delta: float) -> void:
+ if Input.is_action_just_pressed("pause"):
+ hide()
diff --git a/scripts/game_over.gd b/scripts/game_over.gd
new file mode 100644
index 0000000..29b4678
--- /dev/null
+++ b/scripts/game_over.gd
@@ -0,0 +1,7 @@
+extends CanvasLayer
+
+
+
+func _on_button_pressed() -> void:
+ get_tree().paused = false
+ get_tree().reload_current_scene()
diff --git a/scripts/level_finish_area.gd b/scripts/level_finish_area.gd
new file mode 100644
index 0000000..a6f7bff
--- /dev/null
+++ b/scripts/level_finish_area.gd
@@ -0,0 +1,5 @@
+extends Area3D
+
+func _on_body_entered(body: Node3D) -> void:
+ if body is Player:
+ LevelManager.next_level()
diff --git a/scripts/menus/game_finished.gd b/scripts/menus/game_finished.gd
new file mode 100644
index 0000000..01970e6
--- /dev/null
+++ b/scripts/menus/game_finished.gd
@@ -0,0 +1,7 @@
+extends Control
+
+func _ready() -> void:
+ Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
+
+func _on_button_pressed() -> void:
+ get_tree().change_scene_to_file("res://scenes/gui/menus/main_menu.tscn")
diff --git a/scripts/menus/level_selection.gd b/scripts/menus/level_selection.gd
index f3d94b0..09700e8 100644
--- a/scripts/menus/level_selection.gd
+++ b/scripts/menus/level_selection.gd
@@ -1,11 +1 @@
extends PanelContainer
-
-
-# Called when the node enters the scene tree for the first time.
-func _ready() -> void:
- pass # Replace with function body.
-
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(delta: float) -> void:
- pass
diff --git a/scripts/menus/main_menu.gd b/scripts/menus/main_menu.gd
index 78235ab..983c977 100644
--- a/scripts/menus/main_menu.gd
+++ b/scripts/menus/main_menu.gd
@@ -3,6 +3,7 @@ class_name MainMenu
func _ready() -> void:
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
+ LevelManager.level_pointer = 0
func _on_start_game_pressed() -> void:
get_tree().change_scene_to_file("res://scenes/levels/lvl_1.tscn")
diff --git a/scripts/player.gd b/scripts/player.gd
index f1f5d93..6bf694d 100644
--- a/scripts/player.gd
+++ b/scripts/player.gd
@@ -28,6 +28,10 @@ func _ready() -> void:
WindowManager.pause_menu.continued.connect(capture)
func _physics_process(delta: float) -> void:
+ if position.y < -33:
+ $GameOver.show()
+ Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
+ get_tree().paused = true
gun_cam.transform = camera.transform
if not is_on_floor():
diff --git a/unimported-models/interior.blend b/unimported-models/interior.blend
index 11dfe90..1e67dd6 100644
Binary files a/unimported-models/interior.blend and b/unimported-models/interior.blend differ
diff --git a/unimported-models/interior.blend1 b/unimported-models/interior.blend1
index 66a52e0..285424c 100644
Binary files a/unimported-models/interior.blend1 and b/unimported-models/interior.blend1 differ
diff --git a/unimported-models/interior2.blend b/unimported-models/interior2.blend
new file mode 100644
index 0000000..ce0fb88
Binary files /dev/null and b/unimported-models/interior2.blend differ
diff --git a/unimported-models/interior2.blend1 b/unimported-models/interior2.blend1
new file mode 100644
index 0000000..74e9d88
Binary files /dev/null and b/unimported-models/interior2.blend1 differ