diff --git a/TODO_LIST b/TODO_LIST index 9d114c5..8b2af58 100644 --- a/TODO_LIST +++ b/TODO_LIST @@ -16,6 +16,7 @@ Current plans: ^ Explosion after time ^ Bomb site ^ Weapon system's drop + Gameplay HUD Molikman's abilities: Molik Flashbang diff --git a/levels/prototype_scene.tscn b/levels/prototype_scene.tscn index 54f663d..a2fcbeb 100644 --- a/levels/prototype_scene.tscn +++ b/levels/prototype_scene.tscn @@ -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 = { diff --git a/materials/Bluemat.tres b/materials/Bluemat.tres index 3beab6d..d1c3754 100644 --- a/materials/Bluemat.tres +++ b/materials/Bluemat.tres @@ -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 diff --git a/materials/DarkBluemat.tres b/materials/DarkBluemat.tres new file mode 100644 index 0000000..d85f040 --- /dev/null +++ b/materials/DarkBluemat.tres @@ -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 diff --git a/materials/Graymat.tres b/materials/Graymat.tres new file mode 100644 index 0000000..7c44b50 --- /dev/null +++ b/materials/Graymat.tres @@ -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 diff --git a/materials/Greenmat.tres b/materials/Greenmat.tres new file mode 100644 index 0000000..2193950 --- /dev/null +++ b/materials/Greenmat.tres @@ -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 diff --git a/materials/OrangeMat.tres b/materials/OrangeMat.tres deleted file mode 100644 index 951ef22..0000000 --- a/materials/OrangeMat.tres +++ /dev/null @@ -1,4 +0,0 @@ -[gd_resource type="ORMMaterial3D" format=3 uid="uid://bx3f5vx71ynh5"] - -[resource] -albedo_color = Color(0.64, 0.64, 0.64, 1) diff --git a/materials/Orangemat.tres b/materials/Orangemat.tres new file mode 100644 index 0000000..6180020 --- /dev/null +++ b/materials/Orangemat.tres @@ -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 diff --git a/materials/Pinkmat.tres b/materials/Pinkmat.tres new file mode 100644 index 0000000..c7b3455 --- /dev/null +++ b/materials/Pinkmat.tres @@ -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 diff --git a/materials/Protomat.tres b/materials/Protomat.tres deleted file mode 100644 index 7b3cdae..0000000 --- a/materials/Protomat.tres +++ /dev/null @@ -1,3 +0,0 @@ -[gd_resource type="ORMMaterial3D" format=3 uid="uid://c1ak0qpnpvf04"] - -[resource] diff --git a/materials/Purplemat.tres b/materials/Purplemat.tres new file mode 100644 index 0000000..244a721 --- /dev/null +++ b/materials/Purplemat.tres @@ -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 diff --git a/materials/Redmat.tres b/materials/Redmat.tres index 9a41cf5..3e5c522 100644 --- a/materials/Redmat.tres +++ b/materials/Redmat.tres @@ -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 diff --git a/materials/Yellowmat.tres b/materials/Yellowmat.tres new file mode 100644 index 0000000..27777a5 --- /dev/null +++ b/materials/Yellowmat.tres @@ -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) diff --git a/scenes/molikman.tscn b/scenes/molikman.tscn index c9ac8fc..01f3c42 100644 --- a/scenes/molikman.tscn +++ b/scenes/molikman.tscn @@ -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"] diff --git a/scenes/weapons/droppable_sp.tscn b/scenes/weapons/droppable_sp.tscn index 5aacc41..a4f1de2 100644 --- a/scenes/weapons/droppable_sp.tscn +++ b/scenes/weapons/droppable_sp.tscn @@ -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 diff --git a/scripts/gui/hud/player_ammo_display.gd b/scripts/gui/hud/player_ammo_display.gd new file mode 100644 index 0000000..20b6b1a --- /dev/null +++ b/scripts/gui/hud/player_ammo_display.gd @@ -0,0 +1,5 @@ +extends Label + + +func on_ammo_updated(ammo: int, remaining_ammo: int): + text = str(ammo)+"/"+str(remaining_ammo) diff --git a/scripts/gui/hud/player_ammo_display.gd.uid b/scripts/gui/hud/player_ammo_display.gd.uid new file mode 100644 index 0000000..18dbebd --- /dev/null +++ b/scripts/gui/hud/player_ammo_display.gd.uid @@ -0,0 +1 @@ +uid://gan0amqbhi4i diff --git a/scripts/gui/hud/player_healthbar.gd b/scripts/gui/hud/player_healthbar.gd new file mode 100644 index 0000000..1fc3de0 --- /dev/null +++ b/scripts/gui/hud/player_healthbar.gd @@ -0,0 +1,5 @@ +extends ProgressBar + + +func on_hp_changed(to: int): + value = to diff --git a/scripts/gui/hud/player_healthbar.gd.uid b/scripts/gui/hud/player_healthbar.gd.uid new file mode 100644 index 0000000..1382303 --- /dev/null +++ b/scripts/gui/hud/player_healthbar.gd.uid @@ -0,0 +1 @@ +uid://vmhlmhd6gjx6 diff --git a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd index c7fd947..fb8398f 100644 --- a/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd +++ b/scripts/multiplayer/spawn_system/dyn_objects_spawner.gd @@ -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 diff --git a/scripts/player/player.gd b/scripts/player/player.gd index 90b2789..28ec14c 100644 --- a/scripts/player/player.gd +++ b/scripts/player/player.gd @@ -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() diff --git a/scripts/weapon_system/bomb/active_bomb.gd b/scripts/weapon_system/bomb/active_bomb.gd index cd030ae..12b8d7e 100644 --- a/scripts/weapon_system/bomb/active_bomb.gd +++ b/scripts/weapon_system/bomb/active_bomb.gd @@ -11,4 +11,3 @@ func on_timeout(): return Session.kill_site(plant) - print("boom") diff --git a/scripts/weapon_system/weapon_substate_machine.gd b/scripts/weapon_system/weapon_substate_machine.gd index 0bcdb6d..464b216 100644 --- a/scripts/weapon_system/weapon_substate_machine.gd +++ b/scripts/weapon_system/weapon_substate_machine.gd @@ -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,14 +33,17 @@ class_name WeaponSubStateMachine @export var slot: StringName signal request_return +signal ammo_updated signal ammo_depleted var system: WeaponSystem var animation_player: AnimationPlayer var player_camera: PlayerCamera -var player: Player +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 diff --git a/scripts/weapon_system/weapon_system.gd b/scripts/weapon_system/weapon_system.gd index 99a5912..ba8774f 100644 --- a/scripts/weapon_system/weapon_system.gd +++ b/scripts/weapon_system/weapon_system.gd @@ -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 diff --git a/textures/prototype_256x256.png b/textures/prototype_256x256.png new file mode 100644 index 0000000..ace5e98 Binary files /dev/null and b/textures/prototype_256x256.png differ diff --git a/textures/prototype_256x256.png.import b/textures/prototype_256x256.png.import new file mode 100644 index 0000000..5ac50d6 --- /dev/null +++ b/textures/prototype_256x256.png.import @@ -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 diff --git a/textures/prototype_256x256.svg b/textures/prototype_256x256.svg new file mode 100644 index 0000000..0e08cf3 --- /dev/null +++ b/textures/prototype_256x256.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256x256 + + + diff --git a/textures/prototype_256x256.svg.import b/textures/prototype_256x256.svg.import new file mode 100644 index 0000000..7aca3d9 --- /dev/null +++ b/textures/prototype_256x256.svg.import @@ -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 diff --git a/textures/prototype_blue_256x256.png b/textures/prototype_blue_256x256.png new file mode 100644 index 0000000..cd39efe Binary files /dev/null and b/textures/prototype_blue_256x256.png differ diff --git a/textures/prototype_blue_256x256.png.import b/textures/prototype_blue_256x256.png.import new file mode 100644 index 0000000..ebed51c --- /dev/null +++ b/textures/prototype_blue_256x256.png.import @@ -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 diff --git a/textures/prototype_gray_256x256.png b/textures/prototype_gray_256x256.png new file mode 100644 index 0000000..5e51b72 Binary files /dev/null and b/textures/prototype_gray_256x256.png differ diff --git a/textures/prototype_gray_256x256.png.import b/textures/prototype_gray_256x256.png.import new file mode 100644 index 0000000..87a20d9 --- /dev/null +++ b/textures/prototype_gray_256x256.png.import @@ -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 diff --git a/textures/prototype_green_256x256.png b/textures/prototype_green_256x256.png new file mode 100644 index 0000000..6601bf0 Binary files /dev/null and b/textures/prototype_green_256x256.png differ diff --git a/textures/prototype_green_256x256.png.import b/textures/prototype_green_256x256.png.import new file mode 100644 index 0000000..38e5953 --- /dev/null +++ b/textures/prototype_green_256x256.png.import @@ -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 diff --git a/textures/prototype_orange_256x256.png b/textures/prototype_orange_256x256.png new file mode 100644 index 0000000..f6aefea Binary files /dev/null and b/textures/prototype_orange_256x256.png differ diff --git a/textures/prototype_orange_256x256.png.import b/textures/prototype_orange_256x256.png.import new file mode 100644 index 0000000..e1fffb1 --- /dev/null +++ b/textures/prototype_orange_256x256.png.import @@ -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 diff --git a/textures/prototype_pink_256x256.png b/textures/prototype_pink_256x256.png new file mode 100644 index 0000000..52445e4 Binary files /dev/null and b/textures/prototype_pink_256x256.png differ diff --git a/textures/prototype_pink_256x256.png.import b/textures/prototype_pink_256x256.png.import new file mode 100644 index 0000000..4d4ddc6 --- /dev/null +++ b/textures/prototype_pink_256x256.png.import @@ -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 diff --git a/textures/prototype_purple_256x256.png b/textures/prototype_purple_256x256.png new file mode 100644 index 0000000..5a3f8af Binary files /dev/null and b/textures/prototype_purple_256x256.png differ diff --git a/textures/prototype_purple_256x256.png.import b/textures/prototype_purple_256x256.png.import new file mode 100644 index 0000000..20ee937 --- /dev/null +++ b/textures/prototype_purple_256x256.png.import @@ -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 diff --git a/textures/prototype_red_256x256.png b/textures/prototype_red_256x256.png new file mode 100644 index 0000000..baacf31 Binary files /dev/null and b/textures/prototype_red_256x256.png differ diff --git a/textures/prototype_red_256x256.png.import b/textures/prototype_red_256x256.png.import new file mode 100644 index 0000000..cb64dc7 --- /dev/null +++ b/textures/prototype_red_256x256.png.import @@ -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 diff --git a/textures/prototype_yellow_256x256.png b/textures/prototype_yellow_256x256.png new file mode 100644 index 0000000..a2457be Binary files /dev/null and b/textures/prototype_yellow_256x256.png differ diff --git a/textures/prototype_yellow_256x256.png.import b/textures/prototype_yellow_256x256.png.import new file mode 100644 index 0000000..000528f --- /dev/null +++ b/textures/prototype_yellow_256x256.png.import @@ -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 diff --git a/themes/main_theme.tres b/themes/main_theme.tres new file mode 100644 index 0000000..72874f3 --- /dev/null +++ b/themes/main_theme.tres @@ -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")