From 0d9d9f856cdb863b24597b26b589d183ed404547 Mon Sep 17 00:00:00 2001 From: Martin Felis Date: Sun, 28 Jan 2024 15:50:18 +0100 Subject: [PATCH] Tweaked UI --- assets/fonts/Rubik_Mono_One/OFL.txt | 93 ++++++++++++++++++ .../Rubik_Mono_One/RubikMonoOne-Regular.ttf | Bin 0 -> 117132 bytes .../RubikMonoOne-Regular.ttf.import | 33 +++++++ scenes/Game.tscn | 31 ++++-- scenes/GameUI.gd | 4 +- 5 files changed, 153 insertions(+), 8 deletions(-) create mode 100644 assets/fonts/Rubik_Mono_One/OFL.txt create mode 100644 assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf create mode 100644 assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf.import diff --git a/assets/fonts/Rubik_Mono_One/OFL.txt b/assets/fonts/Rubik_Mono_One/OFL.txt new file mode 100644 index 0000000..cb5ac7d --- /dev/null +++ b/assets/fonts/Rubik_Mono_One/OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2013, 2014, Hubert and Fischer, Philipp Hubert (philipp@hubertfischer.com), Sebastian Fischer (sebastian@hubertfischer.com) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf b/assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a91fa566075f8b14f73b0235e2f5ae9364520af3 GIT binary patch literal 117132 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 I#6@HO7lw8?bN~PV literal 0 HcmV?d00001 diff --git a/assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf.import b/assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf.import new file mode 100644 index 0000000..ed7da24 --- /dev/null +++ b/assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dv01hh045k5n2" +path="res://.godot/imported/RubikMonoOne-Regular.ttf-e0dfb02f9f37dfb799d755a9158977e9.fontdata" + +[deps] + +source_file="res://assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf" +dest_files=["res://.godot/imported/RubikMonoOne-Regular.ttf-e0dfb02f9f37dfb799d755a9158977e9.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +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/scenes/Game.tscn b/scenes/Game.tscn index 7998a0e..970c703 100644 --- a/scenes/Game.tscn +++ b/scenes/Game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://rd48gl8k5x34"] +[gd_scene load_steps=13 format=3 uid="uid://rd48gl8k5x34"] [ext_resource type="Theme" uid="uid://bb8mjy6l7umui" path="res://themes/GameUI.tres" id="2_eun58"] [ext_resource type="PackedScene" uid="uid://b1nm5h3yccr16" path="res://scenes/World.tscn" id="2_voimb"] @@ -6,6 +6,7 @@ [ext_resource type="Texture2D" uid="uid://b5ah0ej10awd5" path="res://levels/Platforms.png" id="4_0en0p"] [ext_resource type="Script" path="res://scenes/GameUI.gd" id="4_2tdl1"] [ext_resource type="Texture2D" uid="uid://dam8r48qo0qqh" path="res://levels/BasicLevel.png" id="4_l63m5"] +[ext_resource type="FontFile" uid="uid://dv01hh045k5n2" path="res://assets/fonts/Rubik_Mono_One/RubikMonoOne-Regular.ttf" id="4_pbhfl"] [ext_resource type="Texture2D" uid="uid://b3bftdoqgqopj" path="res://levels/LotsaHoles.png" id="7_8su71"] [sub_resource type="World3D" id="World3D_5g233"] @@ -165,8 +166,19 @@ theme_override_constants/outline_size = 40 theme_override_font_sizes/font_size = 160 text = "CLASH" +[node name="Label2" type="Label" parent="GameUI/GameStartupWidgets"] +layout_mode = 1 +anchors_preset = 2 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_left = 17.0 +offset_top = -50.0 +offset_right = 705.0 +offset_bottom = -17.0 +grow_vertical = 0 +text = "Music: Run Amok by Kevin MacLeod | https://incompetech.com/" + [node name="GameFinishedWidgets" type="Panel" parent="GameUI"] -visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -245,8 +257,10 @@ grow_horizontal = 2 [node name="Player1Widgets" type="VBoxContainer" parent="GameUI/GameRunningWidgets"] layout_mode = 1 -offset_right = 49.0 -offset_bottom = 77.0 +offset_left = 14.0 +offset_top = 13.0 +offset_right = 414.0 +offset_bottom = 124.0 alignment = 1 [node name="NameLabel" type="Label" parent="GameUI/GameRunningWidgets/Player1Widgets"] @@ -269,8 +283,10 @@ value = 33.0 [node name="Player2Widgets" type="VBoxContainer" parent="GameUI/GameRunningWidgets"] layout_direction = 3 layout_mode = 1 -offset_right = 49.0 -offset_bottom = 77.0 +offset_left = 21.0 +offset_top = 14.0 +offset_right = 421.0 +offset_bottom = 125.0 size_flags_horizontal = 8 alignment = 1 @@ -308,10 +324,13 @@ horizontal_alignment = 1 [node name="TimeLeftLabel" type="Label" parent="GameUI/GameRunningWidgets/TimeWidgets"] layout_mode = 2 +theme_override_fonts/font = ExtResource("4_pbhfl") +theme_override_font_sizes/font_size = 40 text = "00:30:00" horizontal_alignment = 1 [node name="GameLevelSelectWidgets" type="Panel" parent="GameUI"] +visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 diff --git a/scenes/GameUI.gd b/scenes/GameUI.gd index 4b97e40..5554eef 100644 --- a/scenes/GameUI.gd +++ b/scenes/GameUI.gd @@ -53,9 +53,9 @@ func _process(_delta): var minutes = floor(world.time_left / 60.) var seconds = fmod(floor(world.time_left), 60) - var milliseconds = floor((world.time_left - floor(world.time_left)) * 10) + var milliseconds = floor((world.time_left - floor(world.time_left)) * 100) - time_left_label.text = str(minutes) + ":" + str(seconds) + ":" + str(milliseconds) + time_left_label.text = "%02d:%02d:%02d" % [minutes, seconds, milliseconds] player1_score_label.add_theme_color_override("font-color", world.players[0].color) if player2_widgets.visible: