From d437b4809fac9b30cea52f9cf8a542cae7eba083 Mon Sep 17 00:00:00 2001 From: Luca Junge Date: Sun, 13 Oct 2024 12:09:31 +0200 Subject: [PATCH] added license information screeen and resources --- assets/fonts/Kenney Future Narrow.ttf | Bin 34180 -> 0 bytes assets/fonts/Kenney Future Narrow.ttf.import | 34 ---- assets/fonts/Kenney Future.ttf | Bin 34160 -> 0 bytes assets/fonts/days_one/DaysOne-Regular.ttf | Bin 0 -> 63380 bytes .../DaysOne-Regular.ttf.import} | 8 +- assets/fonts/days_one/OFL.txt | 94 +++++++++++ entities/player/player.gd | 1 + resources/asset_info.gd | 27 ++++ resources/asset_info/DaysOne.tres | 11 ++ resources/asset_info/kenney_ui_pack.tres | 11 ++ resources/asset_info/unexplored_fields.tres | 11 ++ theme/basic_theme.tres | 152 +++++------------- theme/button_normal/button_normal.tres | 10 ++ .../button_normal/button_normal_disabled.tres | 10 ++ theme/button_normal/button_normal_hover.tres | 11 ++ .../button_normal/button_normal_pressed.tres | 11 ++ theme/button_red/button_red.tres | 10 ++ theme/button_red/button_red_hover.tres | 11 ++ theme/button_red/button_red_pressed.tres | 10 ++ ui/license_list/license_entry.gd | 99 ++++++++++++ ui/license_list/license_entry.tscn | 83 ++++++++++ ui/main_menu/main_menu.gd | 24 ++- ui/main_menu/main_menu.tscn | 56 ++++++- 23 files changed, 525 insertions(+), 159 deletions(-) delete mode 100644 assets/fonts/Kenney Future Narrow.ttf delete mode 100644 assets/fonts/Kenney Future Narrow.ttf.import delete mode 100644 assets/fonts/Kenney Future.ttf create mode 100644 assets/fonts/days_one/DaysOne-Regular.ttf rename assets/fonts/{Kenney Future.ttf.import => days_one/DaysOne-Regular.ttf.import} (62%) create mode 100644 assets/fonts/days_one/OFL.txt create mode 100644 resources/asset_info.gd create mode 100644 resources/asset_info/DaysOne.tres create mode 100644 resources/asset_info/kenney_ui_pack.tres create mode 100644 resources/asset_info/unexplored_fields.tres create mode 100644 theme/button_normal/button_normal.tres create mode 100644 theme/button_normal/button_normal_disabled.tres create mode 100644 theme/button_normal/button_normal_hover.tres create mode 100644 theme/button_normal/button_normal_pressed.tres create mode 100644 theme/button_red/button_red.tres create mode 100644 theme/button_red/button_red_hover.tres create mode 100644 theme/button_red/button_red_pressed.tres create mode 100644 ui/license_list/license_entry.gd create mode 100644 ui/license_list/license_entry.tscn diff --git a/assets/fonts/Kenney Future Narrow.ttf b/assets/fonts/Kenney Future Narrow.ttf deleted file mode 100644 index c4cc8a05e115883e7f5312018613874cc5d9afd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34180 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

KsMjcYU}}SI{7eh1k;B z|&&jYL@&_>Tq+_BFD* z^|!8mt?X@m%hk8aD~7gN9fTW)UW+|qYZy6D-Zbbo}HOp&d$v&Pbd5ice*oE^PQ#aRHr++G_$x2h!13kW*6o=6bz=vJCn-` zOPPV)TjXDlBmo9)-LdZU!nv{g_Z>WV@V>D#YUw?v)w+A;)u4@B7M2{71NR@;?|B?r z>P#%pyr+{LT9})InCzkD<)xXEXQ@H<*!09wCwpji=1hm&VXR3<4oi`G@50j5*zC+? zXTIC%j-9-)r#mrrVDG-MBjk8;W-5F4*@?+BGxJl~dpnEM7nZu&yB1)*xeGAm`Rrup z)S+`{9-cgYPZxi(VFCZs=LK1k8JUu4S(Z%RA{|V+dAwi1)qdG0_u%IE>g?uH&k;Eb z`m-3@S*0hFx8naXUBYWY&LJgqAm^;iYFklK%C9(TP`a$d|2U*ANf){;K%WeH?1eTd zw>^?d-BZANL`N;lW6*L5m?zabGvJp2eWtAwatbo$RGTwsTaeRuuN%1+;}<|l8!yA= zU3oyp@H*|Jbd{e;@w5rjRjpsJR(1;zoC6}_JPF)0ur~dA4z*>-ug7<_9EK*e)s*^v z33Sx03*3y3MT|8&K7gJ>;7OZyP&b_oD=khtEnp1g#0c5j5J79POTE<$T^Ba(LQ6*5 z7`_s}PY&wqK3tsvIv?44VEKq{587jtzIZIuzlh`jupGc_D&sf=$_`}Hy6;hYa!$_S zMf=i+5223{IHTV5UdRxa(~6lscnJQOQT;r2i!S;u>Pf((nlIn5`G%=2hJ d3A$5=qjMPhFgP5??CiSFMzKPl=JUAf@xQoKN#y_l diff --git a/assets/fonts/Kenney Future Narrow.ttf.import b/assets/fonts/Kenney Future Narrow.ttf.import deleted file mode 100644 index af2f0ba..0000000 --- a/assets/fonts/Kenney Future Narrow.ttf.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="font_data_dynamic" -type="FontFile" -uid="uid://cpxocc1i62357" -path="res://.godot/imported/Kenney Future Narrow.ttf-ef7e34836d9e5dc059ca737da9380cb7.fontdata" - -[deps] - -source_file="res://assets/fonts/Kenney Future Narrow.ttf" -dest_files=["res://.godot/imported/Kenney Future Narrow.ttf-ef7e34836d9e5dc059ca737da9380cb7.fontdata"] - -[params] - -Rendering=null -antialiasing=1 -generate_mipmaps=false -disable_embedded_bitmaps=true -multichannel_signed_distance_field=false -msdf_pixel_range=8 -msdf_size=48 -allow_system_fallback=true -force_autohinter=false -hinting=1 -subpixel_positioning=1 -oversampling=0.0 -Fallbacks=null -fallbacks=[] -Compress=null -compress=true -preload=[] -language_support={} -script_support={} -opentype_features={} diff --git a/assets/fonts/Kenney Future.ttf b/assets/fonts/Kenney Future.ttf deleted file mode 100644 index 17e2b6cf996828e9c44dc27053ceb92fe1192ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34160 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 diff --git a/assets/fonts/days_one/DaysOne-Regular.ttf b/assets/fonts/days_one/DaysOne-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ef77473c672a650ba94af75391209471ba64753f GIT binary patch literal 63380 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 void: Utils.set_player(self) # Connect the event from the joysticks click + # HACK: This should rather be connected from a global SignalManager or SignalBus get_viewport().get_tree().get_root().find_child("JoystickPanel", true, false).connect("on_interact", interact) diff --git a/resources/asset_info.gd b/resources/asset_info.gd new file mode 100644 index 0000000..7bcbfc0 --- /dev/null +++ b/resources/asset_info.gd @@ -0,0 +1,27 @@ +extends Resource +class_name AssetInfo + +enum AssetType { + MUSIC, + SFX, + THREEDIMENSIONAL, + TEXTURES, + FONTS +} + +enum LicenseType { + CC0, + CCBY, + CCBYSA, + MIT, + GPL2, + GPL3, + OFL, + NONE +} + +@export var asset_type: AssetType = AssetType.MUSIC +@export var license_type: LicenseType = LicenseType.MIT +@export var asset_name: String = "" +@export var author_name: String = "" +@export var link: String = "https://example.com" diff --git a/resources/asset_info/DaysOne.tres b/resources/asset_info/DaysOne.tres new file mode 100644 index 0000000..c059d9e --- /dev/null +++ b/resources/asset_info/DaysOne.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" script_class="AssetInfo" load_steps=2 format=3 uid="uid://ckcssxj1nvkbo"] + +[ext_resource type="Script" path="res://resources/asset_info.gd" id="1_6piw6"] + +[resource] +script = ExtResource("1_6piw6") +asset_type = 4 +license_type = 6 +asset_name = "Days One" +author_name = "Jovanny Lemonad" +link = "https://fonts.google.com/specimen/Days+One" diff --git a/resources/asset_info/kenney_ui_pack.tres b/resources/asset_info/kenney_ui_pack.tres new file mode 100644 index 0000000..035fac2 --- /dev/null +++ b/resources/asset_info/kenney_ui_pack.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" script_class="AssetInfo" load_steps=2 format=3 uid="uid://dqe782fxpsnww"] + +[ext_resource type="Script" path="res://resources/asset_info.gd" id="1_up8c2"] + +[resource] +script = ExtResource("1_up8c2") +asset_type = 3 +license_type = 3 +asset_name = "UI Pack 2.0" +author_name = "Kenney" +link = "https://kenney.nl/assets/ui-pack" diff --git a/resources/asset_info/unexplored_fields.tres b/resources/asset_info/unexplored_fields.tres new file mode 100644 index 0000000..f0d412e --- /dev/null +++ b/resources/asset_info/unexplored_fields.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" script_class="AssetInfo" load_steps=2 format=3 uid="uid://bxaxwsg2vubd8"] + +[ext_resource type="Script" path="res://resources/asset_info.gd" id="1_me3ee"] + +[resource] +script = ExtResource("1_me3ee") +asset_type = 0 +license_type = 1 +asset_name = "Unexplored Fields" +author_name = "Hello World" +link = "https://example.com" diff --git a/theme/basic_theme.tres b/theme/basic_theme.tres index 9d8de33..d5df67a 100644 --- a/theme/basic_theme.tres +++ b/theme/basic_theme.tres @@ -1,92 +1,20 @@ -[gd_resource type="Theme" load_steps=29 format=3 uid="uid://xfq6d5yqsdh5"] +[gd_resource type="Theme" load_steps=21 format=3 uid="uid://xfq6d5yqsdh5"] -[ext_resource type="FontFile" uid="uid://diuo1i0qhrx72" path="res://assets/fonts/Kenney Future.ttf" id="1_7olm8"] -[ext_resource type="Texture2D" uid="uid://dqvcyivxd6quf" path="res://assets/textures/kenney_ui-pack/PNG/Grey/Double/button_rectangle_flat.png" id="1_cagdw"] +[ext_resource type="StyleBox" uid="uid://citsx8sjgxe0m" path="res://theme/button_normal/button_normal_disabled.tres" id="2_nk20g"] +[ext_resource type="StyleBox" uid="uid://hrjfuopqykvn" path="res://theme/button_normal/button_normal_hover.tres" id="3_dq03w"] [ext_resource type="Texture2D" uid="uid://c7hsf6aa7n8ye" path="res://assets/textures/kenney_ui-pack/PNG/Blue/Double/check_square_grey_checkmark.png" id="3_fwj8m"] +[ext_resource type="StyleBox" uid="uid://cqh18qe8cbawu" path="res://theme/button_normal/button_normal.tres" id="3_h1eup"] +[ext_resource type="StyleBox" uid="uid://djx8hae2knqjy" path="res://theme/button_normal/button_normal_pressed.tres" id="4_d33iv"] [ext_resource type="Texture2D" uid="uid://0mrw1tw5533y" path="res://assets/textures/kenney_ui-pack/PNG/Blue/Double/check_square_grey.png" id="4_ejwd8"] [ext_resource type="Texture2D" uid="uid://fuvect3s8xob" path="res://assets/textures/kenney_ui-pack/PNG/Extra/Double/input_outline_rectangle.png" id="5_0ives"] [ext_resource type="Texture2D" uid="uid://bssj4xg6tgdon" path="res://assets/textures/kenney_ui-pack/PNG/Grey/Double/button_rectangle_depth_flat.png" id="6_afi76"] -[ext_resource type="Texture2D" uid="uid://bgc1chloftw3i" path="res://assets/textures/kenney_ui-pack/PNG/Red/Double/button_rectangle_flat.png" id="7_2hwk4"] +[ext_resource type="FontFile" uid="uid://c80eqcvqyrda0" path="res://assets/fonts/days_one/DaysOne-Regular.ttf" id="7_6o8vx"] [ext_resource type="Texture2D" uid="uid://2aourrhwc2vr" path="res://assets/textures/kenney_ui-pack/PNG/Blue/Double/slide_hangle_rotated.png" id="7_d7yi5"] [ext_resource type="Texture2D" uid="uid://sy5kn23lahn0" path="res://assets/textures/kenney_ui-pack/PNG/Grey/Double/slide_hangle_rotated.png" id="8_vvus7"] [ext_resource type="Texture2D" uid="uid://yivq8q3se8t" path="res://assets/textures/kenney_ui-pack/PNG/Blue/Double/slide_vertical_grey.png" id="9_epdci"] - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_p6kuw"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_lrxv2"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nsgpx"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mskne"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_4fyti"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_f2xhk"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_dcs77"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_m75dt"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mrqy7"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_38a2s"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nvcsd"] -texture = ExtResource("1_cagdw") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 +[ext_resource type="StyleBox" uid="uid://buk1mtm8ljn3m" path="res://theme/button_red/button_red_hover.tres" id="10_bf65p"] +[ext_resource type="StyleBox" uid="uid://caqi6ke07ndk2" path="res://theme/button_red/button_red.tres" id="11_21drs"] +[ext_resource type="StyleBox" uid="uid://bija2yr7dfu8h" path="res://theme/button_red/button_red_pressed.tres" id="12_7xw0v"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g7r8o"] texture = ExtResource("5_0ives") @@ -117,21 +45,6 @@ expand_margin_top = 4.0 expand_margin_right = 4.0 expand_margin_bottom = 4.0 -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_k5ktt"] -texture = ExtResource("7_2hwk4") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 -modulate_color = Color(0.8, 0.8, 0.8, 1) - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_35fmy"] -texture = ExtResource("7_2hwk4") -texture_margin_left = 20.0 -texture_margin_top = 14.0 -texture_margin_right = 20.0 -texture_margin_bottom = 14.0 - [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_872kh"] texture = ExtResource("9_epdci") region_rect = Rect2(8, 30, 16, 16) @@ -146,22 +59,23 @@ texture_margin_bottom = 4.0 [resource] Button/colors/font_color = Color(0.301961, 0.301961, 0.301961, 1) Button/colors/font_disabled_color = Color(0.7, 0.7, 0.7, 0.784314) -Button/colors/font_hover_color = Color(0.2, 0.2, 0.2, 1) -Button/colors/font_pressed_color = Color(0.4, 0.4, 0.4, 1) +Button/colors/font_focus_color = Color(0.301961, 0.301961, 0.301961, 1) +Button/colors/font_hover_color = Color(0.301961, 0.301961, 0.301961, 1) +Button/colors/font_hover_pressed_color = Color(0.301961, 0.301961, 0.301961, 1) +Button/colors/font_pressed_color = Color(0.301961, 0.301961, 0.301961, 1) Button/colors/icon_normal_color = Color(0.827833, 0.105612, 0.719122, 1) Button/font_sizes/font_size = 24 -Button/fonts/font = ExtResource("1_7olm8") -Button/styles/disabled = SubResource("StyleBoxTexture_p6kuw") -Button/styles/disabled_mirrored = SubResource("StyleBoxTexture_lrxv2") -Button/styles/focus = SubResource("StyleBoxTexture_nsgpx") -Button/styles/hover = SubResource("StyleBoxTexture_mskne") -Button/styles/hover_mirrored = SubResource("StyleBoxTexture_4fyti") -Button/styles/hover_pressed = SubResource("StyleBoxTexture_f2xhk") -Button/styles/hover_pressed_mirrored = SubResource("StyleBoxTexture_dcs77") -Button/styles/normal = SubResource("StyleBoxTexture_m75dt") -Button/styles/normal_mirrored = SubResource("StyleBoxTexture_mrqy7") -Button/styles/pressed = SubResource("StyleBoxTexture_38a2s") -Button/styles/pressed_mirrored = SubResource("StyleBoxTexture_nvcsd") +Button/styles/disabled = ExtResource("2_nk20g") +Button/styles/disabled_mirrored = ExtResource("2_nk20g") +Button/styles/focus = ExtResource("3_dq03w") +Button/styles/hover = ExtResource("3_dq03w") +Button/styles/hover_mirrored = ExtResource("3_dq03w") +Button/styles/hover_pressed = ExtResource("4_d33iv") +Button/styles/hover_pressed_mirrored = ExtResource("4_d33iv") +Button/styles/normal = ExtResource("3_h1eup") +Button/styles/normal_mirrored = ExtResource("3_h1eup") +Button/styles/pressed = ExtResource("4_d33iv") +Button/styles/pressed_mirrored = ExtResource("4_d33iv") CheckBox/constants/h_separation = 12 CheckBox/constants/icon_max_width = 32 CheckBox/icons/checked = ExtResource("3_fwj8m") @@ -169,17 +83,29 @@ CheckBox/icons/unchecked = ExtResource("4_ejwd8") CheckButton/constants/icon_max_width = 36 CheckButton/icons/checked = ExtResource("3_fwj8m") CheckButton/icons/unchecked = ExtResource("4_ejwd8") +Label/colors/font_color = Color(0.3, 0.3, 0.3, 1) Label/font_sizes/font_size = 20 -Label/fonts/font = ExtResource("1_7olm8") +Label/fonts/font = ExtResource("7_6o8vx") LineEdit/colors/font_color = Color(0.301961, 0.301961, 0.301961, 1) LineEdit/styles/normal = SubResource("StyleBoxTexture_g7r8o") +LinkButton/colors/font_color = Color(0.299388, 0.345877, 0.799646, 1) +LinkButton/colors/font_hover_pressed_color = Color(0.298039, 0.345098, 0.8, 1) +LinkButton/colors/font_pressed_color = Color(0.298039, 0.345098, 0.8, 1) +LinkButton/fonts/font = ExtResource("7_6o8vx") Panel/styles/panel = SubResource("StyleBoxTexture_cwwj3") PanelContainer/styles/panel = SubResource("StyleBoxTexture_nkhdn") RedButton/base_type = &"Button" RedButton/colors/font_color = Color(1, 1, 1, 1) RedButton/colors/font_hover_color = Color(0.7, 0.7, 0.7, 1) -RedButton/styles/hover = SubResource("StyleBoxTexture_k5ktt") -RedButton/styles/normal = SubResource("StyleBoxTexture_35fmy") +RedButton/styles/focus = ExtResource("10_bf65p") +RedButton/styles/hover = ExtResource("10_bf65p") +RedButton/styles/hover_mirrored = ExtResource("10_bf65p") +RedButton/styles/hover_pressed = ExtResource("12_7xw0v") +RedButton/styles/hover_pressed_mirrored = ExtResource("12_7xw0v") +RedButton/styles/normal = ExtResource("11_21drs") +RedButton/styles/normal_mirrored = ExtResource("11_21drs") +RedButton/styles/pressed = ExtResource("12_7xw0v") +RedButton/styles/pressed_mirrored = ExtResource("12_7xw0v") VSlider/icons/grabber = ExtResource("7_d7yi5") VSlider/icons/grabber_disabled = ExtResource("8_vvus7") VSlider/icons/grabber_highlight = ExtResource("7_d7yi5") diff --git a/theme/button_normal/button_normal.tres b/theme/button_normal/button_normal.tres new file mode 100644 index 0000000..253690b --- /dev/null +++ b/theme/button_normal/button_normal.tres @@ -0,0 +1,10 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://cqh18qe8cbawu"] + +[ext_resource type="Texture2D" uid="uid://dqvcyivxd6quf" path="res://assets/textures/kenney_ui-pack/PNG/Grey/Double/button_rectangle_flat.png" id="1_2ekqu"] + +[resource] +texture = ExtResource("1_2ekqu") +texture_margin_left = 20.0 +texture_margin_top = 14.0 +texture_margin_right = 20.0 +texture_margin_bottom = 14.0 diff --git a/theme/button_normal/button_normal_disabled.tres b/theme/button_normal/button_normal_disabled.tres new file mode 100644 index 0000000..bde42d2 --- /dev/null +++ b/theme/button_normal/button_normal_disabled.tres @@ -0,0 +1,10 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://citsx8sjgxe0m"] + +[ext_resource type="Texture2D" uid="uid://dqvcyivxd6quf" path="res://assets/textures/kenney_ui-pack/PNG/Grey/Double/button_rectangle_flat.png" id="1_tc4e8"] + +[resource] +texture = ExtResource("1_tc4e8") +texture_margin_left = 20.0 +texture_margin_top = 14.0 +texture_margin_right = 20.0 +texture_margin_bottom = 14.0 diff --git a/theme/button_normal/button_normal_hover.tres b/theme/button_normal/button_normal_hover.tres new file mode 100644 index 0000000..bbd99a5 --- /dev/null +++ b/theme/button_normal/button_normal_hover.tres @@ -0,0 +1,11 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://hrjfuopqykvn"] + +[ext_resource type="Texture2D" uid="uid://dqvcyivxd6quf" path="res://assets/textures/kenney_ui-pack/PNG/Grey/Double/button_rectangle_flat.png" id="1_of0i1"] + +[resource] +texture = ExtResource("1_of0i1") +texture_margin_left = 20.0 +texture_margin_top = 14.0 +texture_margin_right = 20.0 +texture_margin_bottom = 14.0 +modulate_color = Color(0.7, 0.7, 0.7, 1) diff --git a/theme/button_normal/button_normal_pressed.tres b/theme/button_normal/button_normal_pressed.tres new file mode 100644 index 0000000..6e2066e --- /dev/null +++ b/theme/button_normal/button_normal_pressed.tres @@ -0,0 +1,11 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://djx8hae2knqjy"] + +[ext_resource type="Texture2D" uid="uid://dqvcyivxd6quf" path="res://assets/textures/kenney_ui-pack/PNG/Grey/Double/button_rectangle_flat.png" id="1_5gr5k"] + +[resource] +texture = ExtResource("1_5gr5k") +texture_margin_left = 20.0 +texture_margin_top = 14.0 +texture_margin_right = 20.0 +texture_margin_bottom = 14.0 +modulate_color = Color(0.5, 0.5, 0.5, 1) diff --git a/theme/button_red/button_red.tres b/theme/button_red/button_red.tres new file mode 100644 index 0000000..dc8f7e3 --- /dev/null +++ b/theme/button_red/button_red.tres @@ -0,0 +1,10 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://caqi6ke07ndk2"] + +[ext_resource type="Texture2D" uid="uid://bgc1chloftw3i" path="res://assets/textures/kenney_ui-pack/PNG/Red/Double/button_rectangle_flat.png" id="1_awex1"] + +[resource] +texture = ExtResource("1_awex1") +texture_margin_left = 12.0 +texture_margin_top = 12.0 +texture_margin_right = 12.0 +texture_margin_bottom = 12.0 diff --git a/theme/button_red/button_red_hover.tres b/theme/button_red/button_red_hover.tres new file mode 100644 index 0000000..47e62d8 --- /dev/null +++ b/theme/button_red/button_red_hover.tres @@ -0,0 +1,11 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://buk1mtm8ljn3m"] + +[ext_resource type="Texture2D" uid="uid://bgc1chloftw3i" path="res://assets/textures/kenney_ui-pack/PNG/Red/Double/button_rectangle_flat.png" id="1_00ahu"] + +[resource] +texture = ExtResource("1_00ahu") +texture_margin_left = 20.0 +texture_margin_top = 14.0 +texture_margin_right = 20.0 +texture_margin_bottom = 14.0 +modulate_color = Color(0.8, 0.8, 0.8, 1) diff --git a/theme/button_red/button_red_pressed.tres b/theme/button_red/button_red_pressed.tres new file mode 100644 index 0000000..c138d74 --- /dev/null +++ b/theme/button_red/button_red_pressed.tres @@ -0,0 +1,10 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://bija2yr7dfu8h"] + +[ext_resource type="Texture2D" uid="uid://bgc1chloftw3i" path="res://assets/textures/kenney_ui-pack/PNG/Red/Double/button_rectangle_flat.png" id="1_es7nv"] + +[resource] +texture = ExtResource("1_es7nv") +texture_margin_left = 12.0 +texture_margin_top = 12.0 +texture_margin_right = 12.0 +texture_margin_bottom = 12.0 diff --git a/ui/license_list/license_entry.gd b/ui/license_list/license_entry.gd new file mode 100644 index 0000000..fbc9bf6 --- /dev/null +++ b/ui/license_list/license_entry.gd @@ -0,0 +1,99 @@ +extends VBoxContainer + +@onready var asset_type: Label = %AssetType +@onready var license_type: Label = %LicenseType +@onready var asset_name: Label = %AssetName +@onready var author_name: Label = %AuthorName +@onready var link_button: LinkButton = %LinkButton + +@export var asset_type_colors: Dictionary = { + "MUSIC": Color("c9ca00"), + "SFX": Color("3aae65"), + "THREEDIMENSIONAL": Color("c8954c"), + "TEXTURES": Color("aa77cc"), + "FONTS": Color("5185b2"), + "NOT_SPECIFIED": Color("aaaaaa") +} + +@export var license_type_colors: Dictionary = { + "CC0": Color("bc852e"), + "CCBY": Color("3478f6"), + "CCBYSA": Color("f69625"), + "MIT": Color("2d8b57"), + "GPL2": Color("d32f2f"), + "GPL3": Color("c0392b"), + "OFL": Color("8e44ad"), + "NONE": Color("aaaaaa") +} + + +func populate(p_asset_info: AssetInfo) -> void: + change_asset_type(p_asset_info.asset_type) + change_asset_license(p_asset_info.license_type) + asset_name.text = p_asset_info.asset_name + author_name.text = "by " + p_asset_info.author_name + link_button.text = p_asset_info.link + link_button.uri = p_asset_info.link + +func change_asset_type(p_asset_type: AssetInfo.AssetType) -> void: + + var style_box: StyleBoxFlat = asset_type.get_parent().get("theme_override_styles/panel").duplicate() + + match p_asset_type: + AssetInfo.AssetType.MUSIC: + asset_type.text = "MUSIC" + style_box.set("bg_color", asset_type_colors["MUSIC"]) + AssetInfo.AssetType.SFX: + asset_type.text = "SFX" + style_box.set("bg_color", asset_type_colors["SFX"]) + AssetInfo.AssetType.THREEDIMENSIONAL: + asset_type.text = "3D" + style_box.set("bg_color", asset_type_colors["THREEDIMENSIONAL"]) + AssetInfo.AssetType.TEXTURES: + asset_type.text = "TEXTURES" + style_box.set("bg_color", asset_type_colors["TEXTURES"]) + AssetInfo.AssetType.FONTS: + asset_type.text = "FONTS" + style_box.set("bg_color", asset_type_colors["FONTS"]) + _: + asset_type.text = "Not specified" + style_box.set("bg_color", asset_type_colors["NOT_SPECIFIED"]) + + # Finally set the background color + asset_type.get_parent().add_theme_stylebox_override("panel", style_box) + +func change_asset_license(p_license_type: AssetInfo.LicenseType) -> void: + + var style_box: StyleBoxFlat = license_type.get_parent().get("theme_override_styles/panel").duplicate() + + match p_license_type: + AssetInfo.LicenseType.CC0: + license_type.text = "CC0" + style_box.set("bg_color", license_type_colors["CC0"]) + AssetInfo.LicenseType.CCBY: + license_type.text = "CC BY" + style_box.set("bg_color", license_type_colors["CCBY"]) + AssetInfo.LicenseType.CCBYSA: + license_type.text = "CC BY-SA" + style_box.set("bg_color", license_type_colors["CCBYSA"]) + AssetInfo.LicenseType.MIT: + license_type.text = "MIT" + style_box.set("bg_color", license_type_colors["MIT"]) + AssetInfo.LicenseType.GPL2: + license_type.text = "GPL 2.0" + style_box.set("bg_color", license_type_colors["GPL2"]) + AssetInfo.LicenseType.GPL3: + license_type.text = "GPL 3.0" + style_box.set("bg_color", license_type_colors["GPL3"]) + AssetInfo.LicenseType.OFL: + license_type.text = "OFL" + style_box.set("bg_color", license_type_colors["OFL"]) + AssetInfo.LicenseType.NONE: + license_type.text = "Not specified" + style_box.set("bg_color", license_type_colors["NONE"]) + _: + license_type.text = "Unknown" + style_box.set("bg_color", license_type_colors["NONE"]) + + # Finally set the background color + license_type.get_parent().add_theme_stylebox_override("panel", style_box) diff --git a/ui/license_list/license_entry.tscn b/ui/license_list/license_entry.tscn new file mode 100644 index 0000000..d80412d --- /dev/null +++ b/ui/license_list/license_entry.tscn @@ -0,0 +1,83 @@ +[gd_scene load_steps=6 format=3 uid="uid://b7raoxonsf116"] + +[ext_resource type="Script" path="res://ui/license_list/license_entry.gd" id="1_fuqxo"] +[ext_resource type="FontFile" uid="uid://c80eqcvqyrda0" path="res://assets/fonts/days_one/DaysOne-Regular.ttf" id="2_48yrm"] + +[sub_resource type="FontVariation" id="FontVariation_yq0xd"] +base_font = ExtResource("2_48yrm") +variation_embolden = 0.5 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dvghx"] +content_margin_left = 6.0 +content_margin_top = 0.0 +content_margin_right = 6.0 +content_margin_bottom = 0.0 +bg_color = Color(0.1681, 0.228575, 0.41, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ug4om"] +content_margin_left = 8.0 +content_margin_right = 8.0 +draw_center = false +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.752941, 0.619608, 0.337255, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 + +[node name="LicenseEntry" type="VBoxContainer"] +script = ExtResource("1_fuqxo") + +[node name="TypeAndName" type="HBoxContainer" parent="."] +layout_mode = 2 + +[node name="AssetName" type="Label" parent="TypeAndName"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +theme_override_fonts/font = SubResource("FontVariation_yq0xd") +text = "Name of the asset" +max_lines_visible = 1 + +[node name="PanelContainer" type="PanelContainer" parent="TypeAndName"] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_dvghx") + +[node name="AssetType" type="Label" parent="TypeAndName/PanelContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_colors/font_color = Color(1, 1, 1, 1) +text = "MUSIC" + +[node name="LicenseContainer" type="PanelContainer" parent="TypeAndName"] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_ug4om") + +[node name="LicenseType" type="Label" parent="TypeAndName/LicenseContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_colors/font_color = Color(0.753848, 0.617939, 0.336047, 1) +theme_override_font_sizes/font_size = 16 +text = "CC0" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="AuthorName" type="Label" parent="."] +unique_name_in_owner = true +layout_mode = 2 +text = "by Author Of XYZ" + +[node name="LinkButton" type="LinkButton" parent="."] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 0 +text = "https://example.com" +uri = "https://example.com" diff --git a/ui/main_menu/main_menu.gd b/ui/main_menu/main_menu.gd index 51dc5ad..c916683 100644 --- a/ui/main_menu/main_menu.gd +++ b/ui/main_menu/main_menu.gd @@ -5,10 +5,16 @@ signal on_game_continued @onready var continue_game_button: Button = %ContinueGameButton @onready var new_game_button: Button = %NewGameButton +@onready var license_container: VBoxContainer = %LicenseContainer + +const LICENSE_FOLDER: String = "res://resources/asset_info/" +@onready var license_entry: PackedScene = preload("res://ui/license_list/license_entry.tscn") + # On ready, check which buttons to show func _ready() -> void: SoundManager.play_background_music("Unexplored Fields") + list_licenses() if SaveManager.save_exists(): continue_game_button.visible = true @@ -35,7 +41,23 @@ func _on_options_button_pressed() -> void: print("TODO") func _on_licenses_button_pressed() -> void: - print("TODO") + %LicensesScreen.visible = true func _on_exit_button_pressed() -> void: get_tree().quit() + +func list_licenses() -> void: + var dir: DirAccess = DirAccess.open(LICENSE_FOLDER) + for file: String in dir.get_files(): + add_license(file) + +func add_license(license_path: String) -> void: + var asset_info: AssetInfo = load(LICENSE_FOLDER + license_path) + var new_license_entry: Node = license_entry.instantiate() + license_container.add_child(new_license_entry) + new_license_entry.populate(asset_info) + + +func _on_licenses_close_button_pressed() -> void: + %LicensesScreen.visible = false + pass # Replace with function body. diff --git a/ui/main_menu/main_menu.tscn b/ui/main_menu/main_menu.tscn index 275441e..3b89384 100644 --- a/ui/main_menu/main_menu.tscn +++ b/ui/main_menu/main_menu.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=5 format=3 uid="uid://dt00rjsodtady"] +[gd_scene load_steps=4 format=3 uid="uid://dt00rjsodtady"] [ext_resource type="Texture2D" uid="uid://b6ylra30qxf30" path="res://assets/logo/logo.png" id="1_1fmce"] [ext_resource type="Script" path="res://ui/main_menu/main_menu.gd" id="1_5gs73"] [ext_resource type="Texture2D" uid="uid://da7o6lfuoliid" path="res://assets/textures/Backgrounds/meadow2.jpg" id="2_bb61v"] -[ext_resource type="Theme" uid="uid://xfq6d5yqsdh5" path="res://theme/basic_theme.tres" id="4_y6s8u"] [node name="MainMenu" type="Control"] layout_mode = 3 @@ -76,7 +75,6 @@ size_flags_vertical = 3 [node name="NewGameButton" type="Button" parent="VBoxContainer/MarginContainer/MenuButtons"] unique_name_in_owner = true layout_mode = 2 -theme = ExtResource("4_y6s8u") theme_override_font_sizes/font_size = 32 text = "New Game" @@ -84,21 +82,18 @@ text = "New Game" unique_name_in_owner = true visible = false layout_mode = 2 -theme = ExtResource("4_y6s8u") theme_override_font_sizes/font_size = 32 text = "Continue" [node name="OptionsButton" type="Button" parent="VBoxContainer/MarginContainer/MenuButtons"] unique_name_in_owner = true layout_mode = 2 -theme = ExtResource("4_y6s8u") theme_override_font_sizes/font_size = 32 text = "Options" [node name="LicensesButton" type="Button" parent="VBoxContainer/MarginContainer/MenuButtons"] unique_name_in_owner = true layout_mode = 2 -theme = ExtResource("4_y6s8u") theme_override_font_sizes/font_size = 32 text = "Licenses" @@ -106,12 +101,59 @@ text = "Licenses" unique_name_in_owner = true layout_mode = 2 size_flags_vertical = 10 -theme = ExtResource("4_y6s8u") +theme_type_variation = &"RedButton" theme_override_font_sizes/font_size = 32 text = "Exit" +[node name="LicensesScreen" type="PanelContainer" parent="."] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="MarginContainer" type="MarginContainer" parent="LicensesScreen"] +layout_mode = 2 +theme_override_constants/margin_left = 40 +theme_override_constants/margin_top = 40 +theme_override_constants/margin_right = 40 +theme_override_constants/margin_bottom = 40 + +[node name="VBoxContainer" type="VBoxContainer" parent="LicensesScreen/MarginContainer"] +layout_mode = 2 + +[node name="MarginContainer" type="MarginContainer" parent="LicensesScreen/MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_constants/margin_bottom = 20 + +[node name="LicensesHeadingLabel" type="Label" parent="LicensesScreen/MarginContainer/VBoxContainer/MarginContainer"] +layout_mode = 2 +text = "Licenses used in this game" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ScrollContainer" type="ScrollContainer" parent="LicensesScreen/MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +follow_focus = true + +[node name="LicenseContainer" type="VBoxContainer" parent="LicensesScreen/MarginContainer/VBoxContainer/ScrollContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/separation = 20 + +[node name="LicensesCloseButton" type="Button" parent="LicensesScreen/MarginContainer/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_type_variation = &"RedButton" +text = "Close" + [connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/NewGameButton" to="." method="_on_new_game_button_pressed"] [connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/ContinueGameButton" to="." method="_on_continue_game_button_pressed"] [connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/OptionsButton" to="." method="_on_options_button_pressed"] [connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/LicensesButton" to="." method="_on_licenses_button_pressed"] [connection signal="pressed" from="VBoxContainer/MarginContainer/MenuButtons/ExitButton" to="." method="_on_exit_button_pressed"] +[connection signal="pressed" from="LicensesScreen/MarginContainer/VBoxContainer/LicensesCloseButton" to="." method="_on_licenses_close_button_pressed"]