Compare commits

...

3 Commits

Author SHA1 Message Date
b04f45b22b Railing prop
All checks were successful
linting & formatting / build (push) Successful in 25s
2025-04-09 20:35:37 -06:00
c092fd1097 Fixed tool positioning issues 2025-04-09 18:49:02 -06:00
75b5a2e30c Better HUD tool tracking 2025-04-09 18:18:15 -06:00
23 changed files with 750 additions and 83 deletions

BIN
asset_dev/grid_128.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,2 @@
# Blender 4.3.2 MTL File: 'railing.blend'
# www.blender.org

View File

@ -0,0 +1,406 @@
# Blender 4.3.2
# www.blender.org
mtllib railing.mtl
o Rails
v -1.475000 0.500000 0.050000
v -1.475000 0.500000 -0.000000
v -1.500000 0.500000 0.025000
v 1.475000 0.500000 0.050000
v 1.500000 0.500000 0.025000
v 1.475000 0.500000 -0.000000
v -1.475000 0.200000 0.100000
v -1.500000 0.200000 0.075000
v -1.475000 0.200000 0.050000
v 1.475000 0.200000 0.050000
v 1.500000 0.200000 0.075000
v 1.475000 0.200000 0.100000
v -1.500000 0.300000 0.075000
v -1.475000 0.300000 0.100000
v -1.475000 0.400000 0.050000
v -1.500000 0.400000 0.025000
v -1.475000 0.400000 -0.000000
v -1.475000 0.300000 0.050000
v 1.475000 0.400000 -0.000000
v 1.500000 0.400000 0.025000
v 1.500000 0.300000 0.075000
v 1.475000 0.300000 0.050000
v 1.475000 0.400000 0.050000
v 1.475000 0.300000 0.100000
v -1.048661 -0.500000 0.020000
v -1.048661 0.400000 0.020000
v -1.048661 -0.500000 0.000000
v -1.048661 0.400000 0.000000
v -0.948661 -0.500000 0.020000
v -0.948661 0.400000 0.020000
v -0.948661 -0.500000 0.000000
v -0.948661 0.400000 0.000000
v -1.048661 -0.050000 0.020000
v -1.048661 -0.050000 0.000000
v -0.948661 -0.050000 0.000000
v -0.948661 -0.050000 0.020000
v -1.028661 -0.040000 0.000000
v -1.028661 0.380000 0.000000
v -0.968661 0.380000 0.000000
v -0.968661 -0.040000 0.000000
v -0.968661 -0.040000 0.020000
v -0.968661 0.380000 0.020000
v -1.028661 0.380000 0.020000
v -1.028661 -0.040000 0.020000
v -0.968661 -0.480000 0.020000
v -0.968661 -0.060000 0.020000
v -1.028661 -0.060000 0.020000
v -1.028661 -0.480000 0.020000
v -1.028661 -0.480000 0.000000
v -1.028661 -0.060000 0.000000
v -0.968661 -0.060000 0.000000
v -0.968661 -0.480000 0.000000
v -1.048661 0.240000 0.020000
v -1.048661 0.260000 0.020000
v -0.948661 0.260000 0.020000
v -0.948661 0.240000 0.020000
v -0.968661 0.260000 0.020000
v -0.968661 0.240000 0.020000
v -1.028661 0.240000 0.020000
v -1.028661 0.260000 0.020000
v -1.048661 0.240000 0.050000
v -1.048661 0.260000 0.050000
v -0.948661 0.260000 0.050000
v -0.948661 0.240000 0.050000
v -0.968661 0.260000 0.050000
v -0.968661 0.240000 0.050000
v -1.028661 0.240000 0.050000
v -1.028661 0.260000 0.050000
v 0.951339 -0.500000 0.020000
v 0.951339 0.400000 0.020000
v 0.951339 -0.500000 0.000000
v 0.951339 0.400000 0.000000
v 1.051339 -0.500000 0.020000
v 1.051339 0.400000 0.020000
v 1.051339 -0.500000 0.000000
v 1.051339 0.400000 0.000000
v 0.951339 -0.050000 0.020000
v 0.951339 -0.050000 0.000000
v 1.051339 -0.050000 0.000000
v 1.051339 -0.050000 0.020000
v 0.971339 -0.040000 0.000000
v 0.971339 0.380000 0.000000
v 1.031339 0.380000 0.000000
v 1.031339 -0.040000 0.000000
v 1.031339 -0.040000 0.020000
v 1.031339 0.380000 0.020000
v 0.971339 0.380000 0.020000
v 0.971339 -0.040000 0.020000
v 1.031339 -0.480000 0.020000
v 1.031339 -0.060000 0.020000
v 0.971339 -0.060000 0.020000
v 0.971339 -0.480000 0.020000
v 0.971339 -0.480000 0.000000
v 0.971339 -0.060000 0.000000
v 1.031339 -0.060000 0.000000
v 1.031339 -0.480000 0.000000
v 0.951339 0.240000 0.020000
v 0.951339 0.260000 0.020000
v 1.051339 0.260000 0.020000
v 1.051339 0.240000 0.020000
v 1.031339 0.260000 0.020000
v 1.031339 0.240000 0.020000
v 0.971339 0.240000 0.020000
v 0.971339 0.260000 0.020000
v 0.951339 0.240000 0.050000
v 0.951339 0.260000 0.050000
v 1.051339 0.260000 0.050000
v 1.051339 0.240000 0.050000
v 1.031339 0.260000 0.050000
v 1.031339 0.240000 0.050000
v 0.971339 0.240000 0.050000
v 0.971339 0.260000 0.050000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 -0.0000 -1.0000
vn -0.0000 -1.0000 -0.0000
vn -0.7071 -0.0000 0.7071
vn -0.7071 -0.0000 -0.7071
vn 0.7071 -0.0000 -0.7071
vn 0.7071 -0.0000 0.7071
vn 1.0000 -0.0000 -0.0000
vn -1.0000 -0.0000 -0.0000
vt 0.148438 0.023438
vt 0.156250 0.031250
vt 0.156250 0.968750
vt 0.148438 0.976562
vt 0.140625 0.968750
vt 0.140625 0.031250
vt 0.015625 0.031250
vt 0.046875 0.031250
vt 0.046875 0.968750
vt 0.015625 0.968750
vt 0.187500 0.968750
vt 0.187500 0.031250
vt 0.007812 0.023438
vt 0.007812 0.976562
vt 0.000000 0.968750
vt 0.000000 0.031250
vt 0.054688 0.023438
vt 0.062500 0.031250
vt 0.062500 0.968750
vt 0.054688 0.976562
vt 0.101562 0.023438
vt 0.109375 0.031250
vt 0.109375 0.968750
vt 0.101562 0.976562
vt 0.093750 0.968750
vt 0.093750 0.031250
vt 0.140625 0.984375
vt 0.109375 0.984375
vt 0.046875 1.000000
vt 0.015625 1.000000
vt 0.015625 0.984375
vt 0.046875 0.984375
vt 0.046875 0.015625
vt 0.015625 0.015625
vt 0.015625 0.000000
vt 0.046875 0.000000
vt 0.140625 1.000000
vt 0.109375 1.000000
vt 0.140625 0.015625
vt 0.109375 0.015625
vt 0.109375 0.000000
vt 0.140625 0.000000
vt 0.523438 0.000000
vt 0.632812 0.000000
vt 0.632812 0.023438
vt 0.523438 0.023438
vt 0.632812 0.976562
vt 0.523438 0.976562
vt 0.523438 0.953125
vt 0.632812 0.953125
vt 0.765625 0.851562
vt 0.765625 0.562500
vt 0.789062 0.562500
vt 0.789062 1.000000
vt 0.765625 1.000000
vt 0.765625 0.875000
vt 0.765625 0.953125
vt 0.742188 0.929688
vt 0.742188 0.500000
vt 0.765625 0.492188
vt 0.656250 0.953125
vt 0.679688 0.929688
vt 0.632812 0.812500
vt 0.609375 0.929688
vt 0.609375 0.812500
vt 0.546875 0.929688
vt 0.523438 0.789062
vt 0.523438 0.492188
vt 0.546875 0.500000
vt 0.546875 0.789062
vt 0.656250 0.492188
vt 0.679688 0.484375
vt 0.742188 0.484375
vt 0.679688 0.500000
vt 0.632812 0.492188
vt 0.609375 0.484375
vt 0.609375 0.046875
vt 0.546875 0.046875
vt 0.546875 0.484375
vt 0.765625 0.023438
vt 0.742188 0.046875
vt 0.656250 0.023438
vt 0.679688 0.046875
vt 0.835938 1.000000
vt 0.835938 0.937500
vt 0.859375 0.937500
vt 0.859375 1.000000
vt 0.765625 0.500000
vt 0.789062 0.500000
vt 0.812500 0.000000
vt 0.812500 0.437500
vt 0.789062 0.437500
vt 0.789062 0.000000
vt 0.812500 0.500000
vt 0.812500 0.062500
vt 0.835938 0.062500
vt 0.835938 0.500000
vt 0.835938 0.000000
vt 0.609375 0.500000
vt 0.859375 0.812500
vt 0.859375 0.500000
vt 0.859375 0.789062
vt 0.523438 0.812500
vt 0.546875 0.812500
vt 0.953125 0.523438
vt 0.976562 0.523438
vt 0.976562 0.554688
vt 0.953125 0.554688
vt 0.632812 0.789062
vt 0.609375 0.789062
vt 0.929688 0.492188
vt 0.953125 0.492188
vt 0.929688 0.523438
vt 0.500000 0.953125
vt 0.500000 0.492188
vt 0.882812 0.523438
vt 0.906250 0.523438
vt 0.906250 0.554688
vt 0.882812 0.554688
vt 0.929688 0.554688
vt 0.976562 0.492188
vt 0.882812 0.492188
vt 0.906250 0.492188
vt 0.500000 0.023438
vt 0.257812 0.000000
vt 0.367188 0.000000
vt 0.367188 0.023438
vt 0.257812 0.023438
vt 0.367188 0.976562
vt 0.257812 0.976562
vt 0.257812 0.953125
vt 0.367188 0.953125
vt 0.812500 0.851562
vt 0.812500 0.562500
vt 0.835938 0.562500
vt 0.812500 1.000000
vt 0.812500 0.875000
vt 0.476562 0.929688
vt 0.476562 0.500000
vt 0.390625 0.953125
vt 0.414062 0.929688
vt 0.367188 0.812500
vt 0.343750 0.929688
vt 0.343750 0.812500
vt 0.281250 0.929688
vt 0.257812 0.789062
vt 0.257812 0.492188
vt 0.281250 0.500000
vt 0.281250 0.789062
vt 0.390625 0.492188
vt 0.414062 0.484375
vt 0.476562 0.484375
vt 0.414062 0.500000
vt 0.367188 0.492188
vt 0.343750 0.484375
vt 0.343750 0.046875
vt 0.281250 0.046875
vt 0.281250 0.484375
vt 0.476562 0.046875
vt 0.390625 0.023438
vt 0.414062 0.046875
vt 0.765625 0.437500
vt 0.812500 0.937500
vt 0.789062 0.937500
vt 0.859375 0.062500
vt 0.859375 0.000000
vt 0.343750 0.500000
vt 0.789062 0.312500
vt 0.765625 0.000000
vt 0.789062 0.289062
vt 0.257812 0.812500
vt 0.281250 0.812500
vt 0.953125 0.460938
vt 0.976562 0.460938
vt 0.367188 0.789062
vt 0.343750 0.789062
vt 0.929688 0.429688
vt 0.953125 0.429688
vt 0.929688 0.460938
vt 0.234375 0.953125
vt 0.234375 0.492188
vt 0.882812 0.460938
vt 0.906250 0.460938
vt 0.976562 0.429688
vt 0.882812 0.429688
vt 0.906250 0.429688
vt 0.234375 0.023438
s 0
f 5/1/1 6/2/1 2/3/1 3/4/1 1/5/1 4/6/1
f 12/7/2 24/8/2 14/9/2 7/10/2
f 17/11/3 2/3/3 6/2/3 19/12/3
f 11/13/4 12/7/4 7/10/4 8/14/4 9/15/4 10/16/4
f 24/8/1 21/17/1 22/18/1 18/19/1 13/20/1 14/9/1
f 20/21/4 23/22/4 15/23/4 16/24/4 17/25/4 19/26/4
f 9/25/3 18/19/3 22/18/3 10/26/3
f 15/23/5 1/5/5 3/27/5 16/28/5
f 18/29/6 9/30/6 8/31/6 13/32/6
f 21/33/7 11/34/7 10/35/7 22/36/7
f 24/8/8 12/7/8 11/34/8 21/33/8
f 7/10/5 14/9/5 13/32/5 8/31/5
f 2/37/6 17/38/6 16/28/6 3/27/6
f 5/39/7 20/40/7 19/41/7 6/42/7
f 4/6/8 23/22/8 20/40/8 5/39/8
f 23/22/2 4/6/2 1/5/2 15/23/2
f 27/43/4 31/44/4 29/45/4 25/46/4
f 32/47/1 28/48/1 26/49/1 30/50/1
f 59/51/9 44/52/9 37/53/9 38/54/9 43/55/9 60/56/9
f 28/57/3 38/58/3 37/59/3 34/60/3
f 28/57/3 32/61/3 39/62/3 38/58/3
f 55/63/2 30/50/2 42/64/2 57/65/2
f 30/50/2 26/49/2 43/66/2 42/64/2
f 53/67/2 33/68/2 44/69/2 59/70/2
f 35/71/3 51/72/3 50/73/3 34/60/3 37/59/3 40/74/3
f 29/45/2 36/75/2 46/76/2 45/77/2
f 33/68/2 25/46/2 48/78/2 47/79/2
f 25/46/2 29/45/2 45/77/2 48/78/2
f 27/80/3 34/60/3 50/73/3 49/81/3
f 35/71/3 31/82/3 52/83/3 51/72/3
f 31/82/3 27/80/3 49/81/3 52/83/3
f 38/84/4 39/85/4 42/86/4 43/87/4
f 37/53/1 44/52/1 41/88/1 40/89/1
f 45/90/10 46/91/10 51/92/10 52/93/10
f 46/91/4 47/94/4 50/89/4 51/92/4
f 48/95/9 49/96/9 50/97/9 47/94/9
f 48/95/1 45/90/1 52/98/1 49/96/1
f 33/68/2 47/79/2 46/76/2 36/75/2 41/99/2 44/69/2
f 57/100/10 42/86/10 39/85/10 40/97/10 41/101/10 58/102/10
f 26/49/2 54/103/2 60/104/2 43/66/2
f 54/105/10 53/106/10 61/107/10 62/108/10
f 36/75/2 56/109/2 58/110/2 41/99/2
f 55/111/1 57/112/1 65/105/1 63/113/1
f 35/71/9 36/75/9 29/45/9 31/82/9
f 35/71/3 40/74/3 39/62/3 32/61/3
f 33/68/10 53/67/10 54/103/10 26/49/10 28/114/10 34/115/10
f 53/116/4 59/117/4 67/118/4 61/119/4
f 59/117/9 60/113/9 68/120/9 67/118/9
f 57/112/10 58/121/10 66/106/10 65/105/10
f 58/122/4 56/123/4 64/117/4 66/116/4
f 60/113/1 54/105/1 62/108/1 68/120/1
f 56/123/9 55/111/9 63/113/9 64/117/9
f 25/46/10 33/68/10 34/115/10 27/124/10
f 32/61/9 30/50/9 55/63/9 56/109/9 36/75/9 35/71/9
f 71/125/4 75/126/4 73/127/4 69/128/4
f 76/129/1 72/130/1 70/131/1 74/132/1
f 103/133/9 88/134/9 81/135/9 82/84/9 87/136/9 104/137/9
f 72/114/3 82/138/3 81/139/3 78/115/3
f 72/114/3 76/140/3 83/141/3 82/138/3
f 99/142/2 74/132/2 86/143/2 101/144/2
f 74/132/2 70/131/2 87/145/2 86/143/2
f 97/146/2 77/147/2 88/148/2 103/149/2
f 79/150/3 95/151/3 94/152/3 78/115/3 81/139/3 84/153/3
f 73/127/2 80/154/2 90/155/2 89/156/2
f 77/147/2 69/128/2 92/157/2 91/158/2
f 69/128/2 73/127/2 89/156/2 92/157/2
f 71/124/3 78/115/3 94/152/3 93/159/3
f 79/150/3 75/160/3 96/161/3 95/151/3
f 75/160/3 71/124/3 93/159/3 96/161/3
f 82/88/4 83/162/4 86/92/4 87/89/4
f 81/135/1 88/134/1 85/94/1 84/97/1
f 89/94/10 90/163/10 95/164/10 96/89/10
f 90/163/4 91/136/4 94/54/4 95/164/4
f 92/96/9 93/165/9 94/101/9 91/97/9
f 92/96/1 89/98/1 96/166/1 93/165/1
f 77/147/2 91/158/2 90/155/2 80/154/2 85/167/2 88/148/2
f 101/168/10 86/92/10 83/162/10 84/169/10 85/93/10 102/170/10
f 70/131/2 98/171/2 104/172/2 87/145/2
f 98/173/10 97/174/10 105/121/10 106/112/10
f 80/154/2 100/175/2 102/176/2 85/167/2
f 99/177/1 101/178/1 109/173/1 107/179/1
f 79/150/9 80/154/9 73/127/9 75/160/9
f 79/150/3 84/153/3 83/141/3 76/140/3
f 77/147/10 97/146/10 98/171/10 70/131/10 72/180/10 78/181/10
f 97/182/4 103/183/4 111/123/4 105/122/4
f 103/183/9 104/179/9 112/111/9 111/123/9
f 101/178/10 102/184/10 110/174/10 109/173/10
f 102/185/4 100/186/4 108/183/4 110/182/4
f 104/179/1 98/173/1 106/112/1 112/111/1
f 100/186/9 99/177/9 107/179/9 108/183/9
f 69/128/10 77/147/10 78/181/10 71/187/10
f 76/140/9 74/132/9 99/142/9 100/175/9 80/154/9 79/150/9

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://cvdabvdy6ewe4"
path="res://.godot/imported/railing.obj-ff2c375903cb5385252aadc1ccdedc26.mesh"
[deps]
files=["res://.godot/imported/railing.obj-ff2c375903cb5385252aadc1ccdedc26.mesh"]
source_file="res://assets/props/railing/railing.obj"
dest_files=["res://.godot/imported/railing.obj-ff2c375903cb5385252aadc1ccdedc26.mesh", "res://.godot/imported/railing.obj-ff2c375903cb5385252aadc1ccdedc26.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false

BIN
assets/props/railing/railing_C.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dc3k6nnaddy0c"
path="res://.godot/imported/railing_C.png-7c2ccaa01520a34ff89fdbd23fe010c8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/railing/railing_C.png"
dest_files=["res://.godot/imported/railing_C.png-7c2ccaa01520a34ff89fdbd23fe010c8.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=0

BIN
assets/props/railing/railing_M.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dgyk61lmv3q66"
path="res://.godot/imported/railing_M.png-b4231d1abb1c8b9d87cd81f2fb6634ee.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/railing/railing_M.png"
dest_files=["res://.godot/imported/railing_M.png-b4231d1abb1c8b9d87cd81f2fb6634ee.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=0

BIN
assets/props/railing/railing_N.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cd142v5tbh10j"
path="res://.godot/imported/railing_N.png-07d31fa0ffc95dea27b2bee48fdce32e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/railing/railing_N.png"
dest_files=["res://.godot/imported/railing_N.png-07d31fa0ffc95dea27b2bee48fdce32e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/props/railing/railing_N.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

BIN
assets/props/railing/railing_R.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://tpweuhaqj3uy"
path="res://.godot/imported/railing_R.png-d099804c53fbf64878f9f5044917ae05.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/railing/railing_R.png"
dest_files=["res://.godot/imported/railing_R.png-d099804c53fbf64878f9f5044917ae05.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=0

File diff suppressed because one or more lines are too long

View File

@ -7,6 +7,7 @@
[node name="LaserCast" type="RayCast3D"] [node name="LaserCast" type="RayCast3D"]
target_position = Vector3(0, 0, -2) target_position = Vector3(0, 0, -2)
collision_mask = 4 collision_mask = 4
hit_from_inside = true
script = ExtResource("1_xntcr") script = ExtResource("1_xntcr")
[node name="LaserDust" parent="." instance=ExtResource("2_m5xmf")] [node name="LaserDust" parent="." instance=ExtResource("2_m5xmf")]

View File

@ -107,6 +107,7 @@ unique_name_in_owner = true
[node name="HUDTool" type="Node3D" parent="."] [node name="HUDTool" type="Node3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
top_level = true
[node name="Rumbler" type="Node3D" parent="HUDTool"] [node name="Rumbler" type="Node3D" parent="HUDTool"]
unique_name_in_owner = true unique_name_in_owner = true

View File

@ -1,12 +1,12 @@
class_name Tool extends Node3D class_name Tool extends Node3D
## Abstract base class for spraygun types ## Abstract base class for spraygun types
const HUD_ACCEL := 36.0
var firing := false var firing := false
@onready var hud_tool: Node3D = %HUDTool @onready var hud_tool: Node3D = %HUDTool
@onready var _lagged_transform := global_transform
func _fire() -> void: func _fire() -> void:
pass pass
@ -34,7 +34,8 @@ func idle() -> void:
_idle() _idle()
func _process(_delta: float) -> void: func _physics_process(delta: float) -> void:
if hud_tool: if hud_tool:
hud_tool.global_transform = _lagged_transform var weight := clampf(HUD_ACCEL * delta, 0.0, 1.0)
_lagged_transform = global_transform hud_tool.global_basis = global_basis
hud_tool.global_position = hud_tool.global_position.lerp(global_position, weight)

View File

@ -12,6 +12,8 @@ const BRUSH_SCALE := 0.2
@onready var texture_used: TextureRect = %TextureUsed @onready var texture_used: TextureRect = %TextureUsed
@onready var brush_animation: AnimationPlayer = %BrushAnimation @onready var brush_animation: AnimationPlayer = %BrushAnimation
@onready var resting_position: Marker3D = %RestingPosition
func _fire() -> void: func _fire() -> void:
if raycast.is_colliding() and not Game.manager.is_tank_full(): if raycast.is_colliding() and not Game.manager.is_tank_full():
@ -36,3 +38,13 @@ func _fire() -> void:
func _idle() -> void: func _idle() -> void:
texture_idle.visible = true texture_idle.visible = true
texture_used.visible = false texture_used.visible = false
func _physics_process(delta: float) -> void:
hud_tool.global_basis = global_basis
var weight := clampf(HUD_ACCEL * delta, 0.0, 1.0)
var target_position := resting_position.global_position
if raycast.is_colliding():
target_position = raycast.get_collision_point()
hud_tool.global_position = hud_tool.global_position.lerp(target_position, weight)

View File

@ -10,7 +10,7 @@ length = 0.001
tracks/0/type = "bezier" tracks/0/type = "bezier"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/path = NodePath("HUDTool/NozzleMarker/HUDElement/Pivot/TextureUsed:position:x") tracks/0/path = NodePath("RestingPosition/HUDTool/CanvasProjector/HUDElement/Pivot/TextureUsed:position:x")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
@ -21,7 +21,7 @@ tracks/0/keys = {
tracks/1/type = "bezier" tracks/1/type = "bezier"
tracks/1/imported = false tracks/1/imported = false
tracks/1/enabled = true tracks/1/enabled = true
tracks/1/path = NodePath("HUDTool/NozzleMarker/HUDElement/Pivot/TextureUsed:position:y") tracks/1/path = NodePath("RestingPosition/HUDTool/CanvasProjector/HUDElement/Pivot/TextureUsed:position:y")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
@ -37,7 +37,7 @@ loop_mode = 1
tracks/0/type = "bezier" tracks/0/type = "bezier"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/path = NodePath("HUDTool/NozzleMarker/HUDElement/Pivot/TextureUsed:position:x") tracks/0/path = NodePath("RestingPosition/HUDTool/CanvasProjector/HUDElement/Pivot/TextureUsed:position:x")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
@ -48,7 +48,7 @@ tracks/0/keys = {
tracks/1/type = "bezier" tracks/1/type = "bezier"
tracks/1/imported = false tracks/1/imported = false
tracks/1/enabled = true tracks/1/enabled = true
tracks/1/path = NodePath("HUDTool/NozzleMarker/HUDElement/Pivot/TextureUsed:position:y") tracks/1/path = NodePath("RestingPosition/HUDTool/CanvasProjector/HUDElement/Pivot/TextureUsed:position:y")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/keys = { tracks/1/keys = {
@ -72,15 +72,21 @@ unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.997564, -0.0697565, 0, 0.0697565, 0.997564, 0, 0, -0.15) transform = Transform3D(1, 0, 0, 0, 0.997564, -0.0697565, 0, 0.0697565, 0.997564, 0, 0, -0.15)
target_position = Vector3(0, 0, -1) target_position = Vector3(0, 0, -1)
collision_mask = 4 collision_mask = 4
hit_from_inside = true
[node name="HUDTool" type="Node3D" parent="."] [node name="RestingPosition" type="Marker3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
[node name="NozzleMarker" type="Marker3D" parent="HUDTool"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2)
[node name="HUDTool" type="Node3D" parent="RestingPosition"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2)
top_level = true
[node name="CanvasProjector" type="Marker3D" parent="RestingPosition/HUDTool"]
script = ExtResource("2_awr0g") script = ExtResource("2_awr0g")
[node name="HUDElement" type="Control" parent="HUDTool/NozzleMarker"] [node name="HUDElement" type="Control" parent="RestingPosition/HUDTool/CanvasProjector"]
layout_mode = 3 layout_mode = 3
anchors_preset = 8 anchors_preset = 8
anchor_left = 0.5 anchor_left = 0.5
@ -90,14 +96,14 @@ anchor_bottom = 0.5
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="Pivot" type="Control" parent="HUDTool/NozzleMarker/HUDElement"] [node name="Pivot" type="Control" parent="RestingPosition/HUDTool/CanvasProjector/HUDElement"]
anchors_preset = 0 anchors_preset = 0
offset_left = -200.0 offset_left = -64.0
offset_top = -256.0 offset_top = -128.0
offset_right = -200.0 offset_right = -64.0
offset_bottom = -256.0 offset_bottom = -128.0
[node name="TextureIdle" type="TextureRect" parent="HUDTool/NozzleMarker/HUDElement/Pivot"] [node name="TextureIdle" type="TextureRect" parent="RestingPosition/HUDTool/CanvasProjector/HUDElement/Pivot"]
unique_name_in_owner = true unique_name_in_owner = true
texture_filter = 1 texture_filter = 1
layout_mode = 0 layout_mode = 0
@ -106,7 +112,7 @@ offset_bottom = 128.0
scale = Vector2(5, 5) scale = Vector2(5, 5)
texture = ExtResource("3_sxute") texture = ExtResource("3_sxute")
[node name="TextureUsed" type="TextureRect" parent="HUDTool/NozzleMarker/HUDElement/Pivot"] [node name="TextureUsed" type="TextureRect" parent="RestingPosition/HUDTool/CanvasProjector/HUDElement/Pivot"]
unique_name_in_owner = true unique_name_in_owner = true
visible = false visible = false
texture_filter = 1 texture_filter = 1

View File

@ -268,6 +268,7 @@ unique_name_in_owner = true
[node name="HUDTool" type="Node3D" parent="."] [node name="HUDTool" type="Node3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
top_level = true
[node name="Rumbler" type="Node3D" parent="HUDTool"] [node name="Rumbler" type="Node3D" parent="HUDTool"]
unique_name_in_owner = true unique_name_in_owner = true

View File

@ -120,7 +120,7 @@
- [ ] [[mess hall]] props: - [ ] [[mess hall]] props:
- [x] trash bin (1m tall, radius 0.4m) - [x] trash bin (1m tall, radius 0.4m)
- [ ] cafeteria table (3.0x0.8x6.0) - [ ] cafeteria table (3.0x0.8x6.0)
- [ ] vending machine (1.4x3.0x2.2) - [x] vending machine (1.4x3.0x2.2)
- [ ] freezer (1.4x2.6x2.2) - [ ] freezer (1.4x2.6x2.2)
- [ ] kitchen counter (1.0x1.0x6.0) - [ ] kitchen counter (1.0x1.0x6.0)
- [ ] cupboards (1.0x1.0x4.0) - [ ] cupboards (1.0x1.0x4.0)
@ -135,7 +135,7 @@
- [ ] OR monitor cart (0.7x1.7x1.0) - [ ] OR monitor cart (0.7x1.7x1.0)
- [ ] OR overhead light (0.6m tall, radius 2.5m) - [ ] OR overhead light (0.6m tall, radius 2.5m)
- [ ] [[ops center]] props - [ ] [[ops center]] props
- [ ] railing (0.1x1.0x3.0) - [x] railing (0.1x1.0x3.0)
- [ ] monitor desk (0.7x1.7x4.0) - [ ] monitor desk (0.7x1.7x4.0)
- [ ] regular desk (0.7x1.2x4.0) - [ ] regular desk (0.7x1.2x4.0)
- [ ] wraparound desk - [ ] wraparound desk