HUD and prototype textures

This commit is contained in:
Rendo 2025-11-29 18:48:32 +05:00
commit 03bc73e9ff
45 changed files with 742 additions and 26 deletions

View file

@ -16,6 +16,7 @@ Current plans:
^ Explosion after time
^ Bomb site
^ Weapon system's drop
Gameplay HUD
Molikman's abilities:
Molik
Flashbang

View file

@ -1,12 +1,16 @@
[gd_scene load_steps=17 format=3 uid="uid://cqrh2cc7m2i7f"]
[gd_scene load_steps=21 format=3 uid="uid://cqrh2cc7m2i7f"]
[ext_resource type="Environment" uid="uid://d0cfgtx2yxw13" path="res://environments/prototype_environment.tres" id="1_i6jab"]
[ext_resource type="Script" uid="uid://ypgm3aplt78m" path="res://scripts/multiplayer/team_spawner.gd" id="4_pi0y7"]
[ext_resource type="Material" uid="uid://bx3f5vx71ynh5" path="res://materials/OrangeMat.tres" id="4_y6i55"]
[ext_resource type="Material" uid="uid://mlha6r17v2en" path="res://materials/Bluemat.tres" id="5_bno23"]
[ext_resource type="Material" uid="uid://bx3f5vx71ynh5" path="res://materials/Graymat.tres" id="4_y6i55"]
[ext_resource type="Material" uid="uid://dynpcduei1wfn" path="res://materials/Bluemat.tres" id="4_yx0ab"]
[ext_resource type="Material" uid="uid://mlha6r17v2en" path="res://materials/DarkBluemat.tres" id="5_bno23"]
[ext_resource type="Material" uid="uid://duvlktlyurohd" path="res://materials/Yellowmat.tres" id="5_foctg"]
[ext_resource type="Script" uid="uid://dncldab5y4yod" path="res://scripts/item_spawner.gd" id="6_61ure"]
[ext_resource type="PackedScene" uid="uid://cxdgk74ln5xpn" path="res://scenes/weapons/droppable_bomb.tscn" id="6_bno23"]
[ext_resource type="Material" uid="uid://cyej4ph6hcnou" path="res://materials/Orangemat.tres" id="6_foctg"]
[ext_resource type="Script" uid="uid://bqjv6l7hh0lix" path="res://scripts/multiplayer/spawn_system/dyn_objects_spawner.gd" id="6_oujx2"]
[ext_resource type="Material" uid="uid://cdeggf10dmama" path="res://materials/Purplemat.tres" id="7_8bje3"]
[ext_resource type="Script" uid="uid://dk1gjbuydemmb" path="res://scripts/multiplayer/plant_site/plant_site.gd" id="8_oujx2"]
[ext_resource type="Script" uid="uid://b4cpux52fmx5o" path="res://scripts/multiplayer/plant_site/plant_deadzone.gd" id="9_1wlgq"]
[ext_resource type="Material" uid="uid://c6xa4phihtya2" path="res://materials/Redmat.tres" id="9_ysk2e"]
@ -86,9 +90,14 @@ size = Vector3(3.9233856, 7.2024536, 17.76538)
material = ExtResource("5_bno23")
[node name="CSGBox3D25" type="CSGBox3D" parent="CSGCombiner3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.14979744, 2.707026, -6.3106613)
size = Vector3(1.047142, 4.5787354, 14.125183)
material = ExtResource("5_bno23")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4624505, 2.707026, -10.422279)
size = Vector3(1.047142, 4.5787354, 5.901947)
material = ExtResource("4_yx0ab")
[node name="CSGBox3D29" type="CSGBox3D" parent="CSGCombiner3D"]
transform = Transform3D(0.92477864, 0, 0.38050553, 0, 1, 0, -0.38050553, 0, 0.92477864, 2.3401544, 1.2806039, -9.494778)
size = Vector3(1.5958366, 1.7258911, 1.7827377)
material = ExtResource("5_foctg")
[node name="CSGBox3D6" type="CSGBox3D" parent="CSGCombiner3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.189109, 2.707026, 24.290133)
@ -127,6 +136,7 @@ material = ExtResource("5_bno23")
[node name="CSGBox3D12" type="CSGBox3D" parent="CSGCombiner3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 2.2212105, 11.069246, -43.06659)
material_override = ExtResource("9_ysk2e")
size = Vector3(101.37683, 21.303177, 5.6578064)
material = ExtResource("5_bno23")
@ -184,17 +194,17 @@ material = ExtResource("5_bno23")
[node name="CSGBox3D4" type="CSGBox3D" parent="CSGCombiner3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.0154533, 9.821699, -20.33673)
size = Vector3(5.681938, 18.808083, 7.111515)
material = ExtResource("5_bno23")
material = ExtResource("6_foctg")
[node name="CSGBox3D21" type="CSGBox3D" parent="CSGCombiner3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.4263325, 3.1404138, -35.9143)
transform = Transform3D(0.99998313, 0, -0.005811914, 0, 1, 0, 0.005811914, 0, 0.99998313, 5.4263325, 3.1404138, -35.9143)
size = Vector3(17.193996, 5.445511, 2.406681)
material = ExtResource("5_bno23")
material = ExtResource("4_yx0ab")
[node name="CSGBox3D24" type="CSGBox3D" parent="CSGCombiner3D"]
transform = Transform3D(1, 0, 0, 0, 0.93200153, -0.3624543, 0, 0.3624543, 0.93200153, 2.6995444, 6.9419756, -39.9535)
size = Vector3(33.342323, 1.3384781, 10.485079)
material = ExtResource("5_bno23")
material = ExtResource("7_8bje3")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {

View file

@ -1,4 +1,8 @@
[gd_resource type="ORMMaterial3D" format=3 uid="uid://mlha6r17v2en"]
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://dynpcduei1wfn"]
[ext_resource type="Texture2D" uid="uid://ccgwt03xv63a2" path="res://textures/prototype_blue_256x256.png" id="1_f7b7x"]
[resource]
albedo_color = Color(0.24278381, 0.50552464, 0.98835534, 1)
albedo_texture = ExtResource("1_f7b7x")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

View file

@ -0,0 +1,8 @@
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://mlha6r17v2en"]
[ext_resource type="Texture2D" uid="uid://del2a862e7etr" path="res://textures/prototype_256x256.png" id="1_wffu2"]
[resource]
albedo_texture = ExtResource("1_wffu2")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

8
materials/Graymat.tres Normal file
View file

@ -0,0 +1,8 @@
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://bx3f5vx71ynh5"]
[ext_resource type="Texture2D" uid="uid://87pitdljtw1e" path="res://textures/prototype_gray_256x256.png" id="1_d67pj"]
[resource]
albedo_texture = ExtResource("1_d67pj")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

8
materials/Greenmat.tres Normal file
View file

@ -0,0 +1,8 @@
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://jdfticwelku4"]
[ext_resource type="Texture2D" uid="uid://8ik50gqyn6u" path="res://textures/prototype_green_256x256.png" id="1_rcjgt"]
[resource]
albedo_texture = ExtResource("1_rcjgt")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

View file

@ -1,4 +0,0 @@
[gd_resource type="ORMMaterial3D" format=3 uid="uid://bx3f5vx71ynh5"]
[resource]
albedo_color = Color(0.64, 0.64, 0.64, 1)

8
materials/Orangemat.tres Normal file
View file

@ -0,0 +1,8 @@
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://cyej4ph6hcnou"]
[ext_resource type="Texture2D" uid="uid://b8aqstr5es5x4" path="res://textures/prototype_orange_256x256.png" id="1_ntui7"]
[resource]
albedo_texture = ExtResource("1_ntui7")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

8
materials/Pinkmat.tres Normal file
View file

@ -0,0 +1,8 @@
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://cgb6bsmykod1w"]
[ext_resource type="Texture2D" uid="uid://bxjoam6tke5ws" path="res://textures/prototype_pink_256x256.png" id="1_iclcw"]
[resource]
albedo_texture = ExtResource("1_iclcw")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

View file

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

8
materials/Purplemat.tres Normal file
View file

@ -0,0 +1,8 @@
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://cdeggf10dmama"]
[ext_resource type="Texture2D" uid="uid://c7mpr2p4gqqwm" path="res://textures/prototype_purple_256x256.png" id="1_310wc"]
[resource]
albedo_texture = ExtResource("1_310wc")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

View file

@ -1,4 +1,8 @@
[gd_resource type="ORMMaterial3D" format=3 uid="uid://c6xa4phihtya2"]
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://c6xa4phihtya2"]
[ext_resource type="Texture2D" uid="uid://brpyk2n4lb72o" path="res://textures/prototype_red_256x256.png" id="1_kadb0"]
[resource]
albedo_color = Color(0.9671871, 0, 0.44024095, 1)
albedo_texture = ExtResource("1_kadb0")
uv1_offset = Vector3(0.5, 0.5, 0.5)
uv1_triplanar = true

7
materials/Yellowmat.tres Normal file
View file

@ -0,0 +1,7 @@
[gd_resource type="ORMMaterial3D" load_steps=2 format=3 uid="uid://duvlktlyurohd"]
[ext_resource type="Texture2D" uid="uid://bmnqvop2dy5pm" path="res://textures/prototype_yellow_256x256.png" id="1_anv2g"]
[resource]
albedo_texture = ExtResource("1_anv2g")
uv1_offset = Vector3(0.5, 0.5, 0.5)

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=26 format=3 uid="uid://dpsr6ug3pkb40"]
[gd_scene load_steps=29 format=3 uid="uid://dpsr6ug3pkb40"]
[ext_resource type="Script" uid="uid://3dphlay25fih" path="res://scripts/player/player.gd" id="1_g2els"]
[ext_resource type="Script" uid="uid://dalwlndejfdhm" path="res://scripts/player/crosshair.gd" id="3_dqkch"]
@ -14,8 +14,10 @@
[ext_resource type="Script" uid="uid://bv8sgx78s8hwn" path="res://scripts/player/states/crouching.gd" id="9_oprun"]
[ext_resource type="Script" uid="uid://dmy6ahci16los" path="res://scripts/debug/inventory_preview.gd" id="9_ownlk"]
[ext_resource type="Script" uid="uid://u0e2b2mvij1k" path="res://scripts/player/states/standing.gd" id="10_a8ls1"]
[ext_resource type="Script" uid="uid://vmhlmhd6gjx6" path="res://scripts/gui/hud/player_healthbar.gd" id="11_42l2h"]
[ext_resource type="Script" uid="uid://cwasvwhm5yg0o" path="res://scripts/player/states/walk.gd" id="11_qfm1y"]
[ext_resource type="Script" uid="uid://cq4i0afwesdm3" path="res://scripts/player/states/falling.gd" id="12_fulsm"]
[ext_resource type="Script" uid="uid://gan0amqbhi4i" path="res://scripts/gui/hud/player_ammo_display.gd" id="12_iortg"]
[ext_resource type="Script" uid="uid://xsgfbuyje35p" path="res://scripts/player/player_pickup.gd" id="17_fjvrb"]
[ext_resource type="Script" uid="uid://doevvmbvhlig8" path="res://scripts/weapon_system/starting_weapon_spawner.gd" id="17_ownlk"]
@ -25,6 +27,9 @@ resource_local_to_scene = true
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_g2els"]
height = 1.2958984
[sub_resource type="LabelSettings" id="LabelSettings_x73hv"]
font_size = 32
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_qhqgy"]
properties/0/path = NodePath(".:position")
properties/0/spawn = true
@ -260,6 +265,34 @@ crosses_offset = 3.0
[node name="VisibleDisabler" type="Node" parent="HUD"]
script = ExtResource("4_smehm")
[node name="Healthbar" type="ProgressBar" parent="HUD"]
layout_mode = 1
anchors_preset = -1
anchor_top = 0.874
anchor_right = 0.069000006
anchor_bottom = 1.0
offset_top = -0.2800293
offset_right = -0.32000732
grow_vertical = 0
step = 1.0
value = 100.0
fill_mode = 3
script = ExtResource("11_42l2h")
[node name="AmmoDisplay" type="Label" parent="HUD"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.96900004
anchor_top = 0.96800005
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -0.32006836
offset_top = 0.039978027
grow_horizontal = 0
grow_vertical = 0
label_settings = SubResource("LabelSettings_x73hv")
script = ExtResource("12_iortg")
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
replication_config = SubResource("SceneReplicationConfig_qhqgy")
@ -335,7 +368,9 @@ weapon_system = NodePath("../WeaponSystem")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8543701, 0)
shape = SubResource("CapsuleShape3D_3xmak")
[connection signal="health_changed" from="." to="HUD/Healthbar" method="on_hp_changed"]
[connection signal="spawned" from="." to="Camera3D/RayCast3D/TeamUpdater" method="on_spawned"]
[connection signal="spawned" from="." to="TeamUpdater" method="on_spawned"]
[connection signal="ammo_updated" from="WeaponSystem" to="HUD/AmmoDisplay" method="on_ammo_updated"]
[editable path="Camera3D/molikman_hands"]

View file

@ -14,6 +14,12 @@ properties/0/replication_mode = 1
properties/1/path = NodePath(".:rotation")
properties/1/spawn = true
properties/1/replication_mode = 1
properties/2/path = NodePath("StartingPistol:ammo")
properties/2/spawn = true
properties/2/replication_mode = 1
properties/3/path = NodePath("StartingPistol:remaining_ammo")
properties/3/spawn = true
properties/3/replication_mode = 1
[node name="DroppableStartingPistol" type="RigidBody3D" node_paths=PackedStringArray("weapon")]
collision_layer = 8

View file

@ -0,0 +1,5 @@
extends Label
func on_ammo_updated(ammo: int, remaining_ammo: int):
text = str(ammo)+"/"+str(remaining_ammo)

View file

@ -0,0 +1 @@
uid://gan0amqbhi4i

View file

@ -0,0 +1,5 @@
extends ProgressBar
func on_hp_changed(to: int):
value = to

View file

@ -0,0 +1 @@
uid://vmhlmhd6gjx6

View file

@ -9,6 +9,7 @@ func request_spawn(data: Variant) -> Node:
return Node.new()
var node = load(data.scene).instantiate()
if data.has("impulse"):
print()
if data.has_all(["ammo","remaining_ammo","slot"]):
node.weapon.ammo = data.ammo
node.weapon.remaining_ammo = data.remaining_ammo

View file

@ -6,6 +6,7 @@ class_name Player
@export var weapon_models: Dictionary[StringName,Node3D]
signal spawned
signal health_changed(to: int)
const MAX_HP = 100
@ -15,6 +16,7 @@ const MAX_HP = 100
hp = 0
else:
hp = value
health_changed.emit(hp)
if hp == 0:
die()

View file

@ -11,4 +11,3 @@ func on_timeout():
return
Session.kill_site(plant)
print("boom")

View file

@ -7,18 +7,19 @@ class_name WeaponSubStateMachine
@export var visibility_target: StringName
@export var max_ammo: int
@onready var ammo: int = max_ammo:
@export var ammo: int:
set(value):
if value < 0:
ammo = 0
else:
ammo = value
ammo_updated.emit()
if ammo <= 0 and remaining_ammo <= 0:
ammo_depleted.emit()
get:
return ammo
@export var ammo_mags: int = 3
@onready var remaining_ammo: int = max_ammo * ammo_mags:
@export var remaining_ammo: int:
set(value):
if value < 0:
remaining_ammo = 0
@ -32,6 +33,7 @@ class_name WeaponSubStateMachine
@export var slot: StringName
signal request_return
signal ammo_updated
signal ammo_depleted
var system: WeaponSystem
@ -40,6 +42,8 @@ var player_camera: PlayerCamera
var player: Player
func _ready() -> void:
remaining_ammo = max_ammo * ammo_mags
ammo = max_ammo
for child in get_children():
if child is WeaponState:
states[child.name] = child

View file

@ -21,6 +21,8 @@ var slots: Dictionary[StringName,WeaponSubStateMachine] = {
}
signal switched_to(state: WeaponSubStateMachine)
signal slots_updated(slots: Dictionary[StringName,WeaponSubStateMachine])
signal ammo_updated(ammo: int, remaining_ammo: int)
func _ready() -> void:
$WeaponSpawner.spawn_function = pick_up_weapon
@ -53,9 +55,12 @@ func add(state: WeaponSubStateMachine, slot: StringName,ignore_parent: bool = fa
state.player = player
state.request_return.connect(return_to_previous)
state.ammo_depleted.connect(check_for_empty)
state.ammo_updated.connect(on_ammo_updated)
slots_updated.emit(slots)
if current_state == null:
current_state = state
ammo_updated.emit(current_state.ammo,current_state.remaining_ammo)
state.enter.call_deferred()
func switch(to: StringName, exit: bool = true):
@ -70,6 +75,7 @@ func switch(to: StringName, exit: bool = true):
current_state = slots[to]
current_state.enter()
ammo_updated.emit(current_state.ammo,current_state.remaining_ammo)
switched_to.emit(current_state)
update_remotes.rpc(to,exit)
@ -105,6 +111,7 @@ func drop():
$"../PickupRange".start_temp_ignore()
slots[slots.find_key(current_state)] = null
slots_updated.emit(slots)
current_state.queue_free()
return_to_previous(false)
@ -141,6 +148,9 @@ func check_for_empty() -> void:
if child is WeaponSubStateMachine and child.ammo == 0 and child.remaining_ammo == 0 and child.destroy_when_empty:
child.queue_free()
func on_ammo_updated() -> void:
ammo_updated.emit(current_state.ammo,current_state.remaining_ammo)
func _process(delta: float) -> void:
if current_state == null:
return

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://del2a862e7etr"
path.s3tc="res://.godot/imported/prototype_256x256.png-cc043fec7aa6c7210b91a11aa3e5d757.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_256x256.png"
dest_files=["res://.godot/imported/prototype_256x256.png-cc043fec7aa6c7210b91a11aa3e5d757.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View file

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="67.73333mm"
height="67.73333mm"
viewBox="0 0 67.73333 67.73333"
version="1.1"
id="svg1"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
sodipodi:docname="prototype_256x256.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="2"
inkscape:cx="185.25"
inkscape:cy="135.25"
inkscape:window-width="1890"
inkscape:window-height="1012"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g19">
<inkscape:page
x="0"
y="0"
width="67.73333"
height="67.73333"
id="page1"
margin="0"
bleed="0" />
</sodipodi:namedview>
<defs
id="defs1">
<rect
x="8.4852814"
y="8.4852814"
width="50.911688"
height="26.162951"
id="rect31" />
<pattern
inkscape:collect="always"
xlink:href="#pattern29"
preserveAspectRatio="xMidYMid"
id="pattern31"
patternTransform="scale(0.5)"
x="0"
y="0" />
<pattern
patternUnits="userSpaceOnUse"
width="255.99999"
height="255.99999"
patternTransform="scale(1)"
preserveAspectRatio="xMidYMid"
id="pattern4"
style="fill:#ececec"
inkscape:label="pattern4">
<g
id="g4"
transform="scale(3.7795276)">
<path
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:4, 2;stroke-dashoffset:1.1;stroke-opacity:1;paint-order:normal"
d="M 33.866664,0 V 67.73333"
id="path3" />
<path
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:4, 2;stroke-dashoffset:1.1;stroke-opacity:1;paint-order:normal"
d="M 0,33.866664 H 67.73333"
id="path4" />
</g>
</pattern>
<pattern
patternUnits="userSpaceOnUse"
width="255.99999"
height="255.99999"
patternTransform="scale(1)"
preserveAspectRatio="xMidYMid"
id="pattern19"
inkscape:label="pattern19">
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:7.55906;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:15.1181, 7.55906;stroke-dashoffset:4.15748;stroke-opacity:1;paint-order:normal"
d="M 127.99999,0 V 255.99999"
id="path7" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:7.55906;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:15.1181, 7.55906;stroke-dashoffset:4.15748;stroke-opacity:1;paint-order:normal"
d="m 0,127.99999 c 7.0710678,0 255.99999,0 255.99999,0"
id="path8" />
</pattern>
<pattern
patternUnits="userSpaceOnUse"
width="255.99656"
height="255.99656"
patternTransform="scale(1)"
preserveAspectRatio="xMidYMid"
id="pattern29"
style="fill:#ffffff"
inkscape:label="pattern29">
<path
style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill-opacity:1;stroke-width:3.77953;stroke-dasharray:15.1181, 7.55906;stroke-dashoffset:4.15748;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
d="m 124.22244,0 v 10.962106 h 7.55905 V 0 Z m 0,18.521161 v 15.118111 h 7.55905 V 18.521161 Z m 0,22.677167 v 15.11811 h 7.55905 v -15.11811 z m 0,22.677166 v 15.11811 h 7.55905 v -15.11811 z m 0,22.677165 v 15.118111 h 7.55905 V 86.552659 Z m 0,22.677161 v 15.11811 h 7.55905 v -15.11811 z m 0,22.67717 v 15.11811 h 7.55905 v -15.11811 z m 0,22.67716 v 15.11812 h 7.55905 v -15.11812 z m 0,22.67717 v 15.11811 h 7.55905 v -15.11811 z m 0,22.67717 v 15.11811 h 7.55905 v -15.11811 z m 0,22.67716 v 15.11811 h 7.55905 v -15.11811 z m 0,22.67717 v 10.70374 h 7.55905 v -10.70374 z"
id="path27" />
<path
style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill-opacity:1;stroke-width:3.77953;stroke-dasharray:15.1181, 7.55906;stroke-dashoffset:4.15748;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
d="m 0,124.22244 v 7.55905 h 10.711122 v -7.55905 z m 18.270177,0 v 7.55905 h 15.11811 v -7.55905 z m 22.677164,0 v 7.55905 h 15.11811 v -7.55905 z m 22.677165,0 v 7.55905 h 15.118111 v -7.55905 z m 22.677166,0 v 7.55905 h 15.118108 v -7.55905 z m 22.677168,0 v 7.55905 h 15.11811 v -7.55905 z m 22.67716,0 v 7.55905 h 15.11811 v -7.55905 z m 22.67717,0 v 7.55905 h 15.11811 v -7.55905 z m 22.67716,0 v 7.55905 h 15.11811 v -7.55905 z m 22.67717,0 v 7.55905 h 15.11811 v -7.55905 z m 22.67716,0 v 7.55905 h 15.11811 v -7.55905 z m 22.67717,0 v 7.55905 h 10.95473 v -7.55905 z"
id="path28" />
</pattern>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#2f32e6;stroke-width:4.2;stroke:#ffffff;stroke-opacity:1;stroke-dasharray:none;paint-order:normal;stroke-linecap:butt;stroke-linejoin:miter;fill-opacity:1"
id="rect2"
width="67.73333"
height="67.73333"
x="0"
y="0" />
<g
id="g19">
<rect
style="stroke:none;fill:url(#pattern31);fill-opacity:1;opacity:0.44762191"
transform="scale(0.26458333)"
width="255.99656"
height="255.99656"
x="0"
y="0"
id="rect29" />
<text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,0.280633,-0.1403165)"
id="text31"
style="text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect31);opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:7.55906;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:15.1181, 7.55906;stroke-dashoffset:4.15748;stroke-opacity:1;paint-order:normal"><tspan
x="8.484375"
y="19.402877"
id="tspan2"><tspan
style="fill:#ffffff;stroke:none"
id="tspan1">256x256</tspan></tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

View file

@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cb3c3pyec44ri"
path="res://.godot/imported/prototype_256x256.svg-4c863ffaf10ca9b134967aa9fd23e2ac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://textures/prototype_256x256.svg"
dest_files=["res://.godot/imported/prototype_256x256.svg-4c863ffaf10ca9b134967aa9fd23e2ac.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccgwt03xv63a2"
path.s3tc="res://.godot/imported/prototype_blue_256x256.png-6fe44acf60ac0dc6ffaac2dee8d35632.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_blue_256x256.png"
dest_files=["res://.godot/imported/prototype_blue_256x256.png-6fe44acf60ac0dc6ffaac2dee8d35632.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://87pitdljtw1e"
path.s3tc="res://.godot/imported/prototype_gray_256x256.png-c46d3281b0a68c407e0a12760268e64f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_gray_256x256.png"
dest_files=["res://.godot/imported/prototype_gray_256x256.png-c46d3281b0a68c407e0a12760268e64f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://8ik50gqyn6u"
path.s3tc="res://.godot/imported/prototype_green_256x256.png-3a43d441fd67eef207f2b59271729940.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_green_256x256.png"
dest_files=["res://.godot/imported/prototype_green_256x256.png-3a43d441fd67eef207f2b59271729940.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8aqstr5es5x4"
path.s3tc="res://.godot/imported/prototype_orange_256x256.png-7d351cc1740003ffb1414539ddb390d8.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_orange_256x256.png"
dest_files=["res://.godot/imported/prototype_orange_256x256.png-7d351cc1740003ffb1414539ddb390d8.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxjoam6tke5ws"
path.s3tc="res://.godot/imported/prototype_pink_256x256.png-02efb0a496806c1519424e4e534bd063.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_pink_256x256.png"
dest_files=["res://.godot/imported/prototype_pink_256x256.png-02efb0a496806c1519424e4e534bd063.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c7mpr2p4gqqwm"
path.s3tc="res://.godot/imported/prototype_purple_256x256.png-79477f3d2a2d94b170c3908c78290a72.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_purple_256x256.png"
dest_files=["res://.godot/imported/prototype_purple_256x256.png-79477f3d2a2d94b170c3908c78290a72.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://brpyk2n4lb72o"
path.s3tc="res://.godot/imported/prototype_red_256x256.png-709c13797d87a1eaf369e2878f763aee.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_red_256x256.png"
dest_files=["res://.godot/imported/prototype_red_256x256.png-709c13797d87a1eaf369e2878f763aee.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

View file

@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmnqvop2dy5pm"
path.s3tc="res://.godot/imported/prototype_yellow_256x256.png-c5e07039766aaf30f8ea366b5911ebaf.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://textures/prototype_yellow_256x256.png"
dest_files=["res://.godot/imported/prototype_yellow_256x256.png-c5e07039766aaf30f8ea366b5911ebaf.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

16
themes/main_theme.tres Normal file
View file

@ -0,0 +1,16 @@
[gd_resource type="Theme" load_steps=2 format=3 uid="uid://dxnkvosdhpvwi"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vxwtt"]
bg_color = Color(0.009789981, 0.06134919, 0.10858328, 1)
border_width_left = 4
border_width_top = 14
border_width_right = 4
border_width_bottom = 4
border_color = Color(0.15491787, 0.2660408, 0.41645113, 1)
[resource]
MarginContainer/constants/margin_bottom = 4
MarginContainer/constants/margin_left = 4
MarginContainer/constants/margin_right = 4
MarginContainer/constants/margin_top = 14
Panel/styles/panel = SubResource("StyleBoxFlat_vxwtt")