diff --git a/README.md b/README.md index 04df9321..6acbfeed 100644 --- a/README.md +++ b/README.md @@ -22,4 +22,7 @@ Point-and-click adventure game developed using Escoria framework and Godot engin ## Sound attributions: - button_clicking.ogg | Button Clicking 1 by Sheyvan -- https://freesound.org/s/475188/ -- License: Creative Commons 0 -- menu_button.ogg | Videogame Menu BUTTON CLICK by Christopherderp -- https://freesound.org/s/342200/ -- License: Creative Commons 0 \ No newline at end of file +- menu_button.ogg | Videogame Menu BUTTON CLICK by Christopherderp -- https://freesound.org/s/342200/ -- License: Creative Commons 0 + +## Icon attributions: +- Translate button: Noun Project. Public domain diff --git a/addons/escoria-ui-return-monkey-island/GymkhanaAutoload.gd b/addons/escoria-ui-return-monkey-island/GymkhanaAutoload.gd index 342cd6ca..c53dacd8 100644 --- a/addons/escoria-ui-return-monkey-island/GymkhanaAutoload.gd +++ b/addons/escoria-ui-return-monkey-island/GymkhanaAutoload.gd @@ -6,6 +6,8 @@ var tooltip_manager: ESCTootltipManager var cursor_manager: RTMICursorManager = RTMICursorManager.new() +var csv_parser: RTMICsvParser = RTMICsvParser.new() + func get_item(global_id: String) -> ESCItem: var object = escoria.object_manager.get_object(global_id) if !object: diff --git a/addons/escoria-ui-return-monkey-island/game.gd b/addons/escoria-ui-return-monkey-island/game.gd index 89d3b502..2c44ef5d 100644 --- a/addons/escoria-ui-return-monkey-island/game.gd +++ b/addons/escoria-ui-return-monkey-island/game.gd @@ -535,6 +535,9 @@ func play_game_music(): ) var musicEnabled = true +var confiduredVolume = ESCProjectSettingsManager.get_setting( + ESCProjectSettingsManager.MUSIC_VOLUME + ) func _on_MusicButton_pressed(): if musicEnabled: @@ -547,9 +550,11 @@ func _on_MusicButton_pressed(): AudioServer.set_bus_volume_db( AudioServer.get_bus_index(escoria.BUS_MUSIC), linear_to_db( - ESCProjectSettingsManager.get_setting( - ESCProjectSettingsManager.MUSIC_VOLUME - ) + confiduredVolume ) ) musicEnabled = true + + +func _on_translation_button_pressed() -> void: + $CanvasLayer/language_selector.show() diff --git a/addons/escoria-ui-return-monkey-island/game.tscn b/addons/escoria-ui-return-monkey-island/game.tscn index 54ef79c3..4e572902 100644 --- a/addons/escoria-ui-return-monkey-island/game.tscn +++ b/addons/escoria-ui-return-monkey-island/game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=3 uid="uid://cabos3cse6b71"] +[gd_scene load_steps=20 format=3 uid="uid://cabos3cse6b71"] [ext_resource type="PackedScene" uid="uid://bl50queikqfjc" path="res://addons/escoria-ui-return-monkey-island/inventory/inventory_ui.tscn" id="1"] [ext_resource type="Script" uid="uid://dfl7khtlretr7" path="res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd" id="2"] @@ -6,16 +6,19 @@ [ext_resource type="PackedScene" uid="uid://d2kogebvoxy51" path="res://addons/escoria-ui-return-monkey-island/esc_rich_tooltip.tscn" id="4"] [ext_resource type="Script" uid="uid://lkc4isk3g0rj" path="res://addons/escoria-ui-return-monkey-island/game.gd" id="5"] [ext_resource type="Texture2D" uid="uid://ce2rx8nm1s6gh" path="res://addons/escoria-ui-return-monkey-island/icons/music-double-note.svg" id="6"] +[ext_resource type="Texture2D" uid="uid://d0ta8viehhtdj" path="res://addons/escoria-ui-return-monkey-island/icons/translation.svg" id="6_yfacq"] [ext_resource type="PackedScene" uid="uid://d3wdxi18u52c5" path="res://addons/escoria-ui-return-monkey-island/menus/main_menu/main_menu.tscn" id="7"] +[ext_resource type="Texture2D" uid="uid://dmtpxqpjt2hvh" path="res://addons/escoria-ui-return-monkey-island/icons/translation_hover.svg" id="7_we0hb"] [ext_resource type="PackedScene" uid="uid://dl7w8oqk1rmhw" path="res://addons/escoria-ui-return-monkey-island/menus/pause_menu/pause_menu.tscn" id="8"] [ext_resource type="Theme" uid="uid://bf2eet52fueam" path="res://addons/escoria-ui-return-monkey-island/theme/ui.tres" id="9"] -[ext_resource type="Texture2D" uid="uid://doahvd61d05u8" path="res://addons/escoria-ui-return-monkey-island/icons/cog-64-hover.svg" id="10"] -[ext_resource type="Texture2D" uid="uid://cvxd4tjmdwj5l" path="res://addons/escoria-ui-return-monkey-island/icons/cog-64.svg" id="11"] [ext_resource type="PackedScene" uid="uid://ctg3fukoficqk" path="res://addons/escoria-ui-return-monkey-island/video_player/video_player.tscn" id="12"] [ext_resource type="Texture2D" uid="uid://dghklsdy5nmcg" path="res://addons/escoria-ui-return-monkey-island/icons/music-double-note-hover.svg" id="13"] +[ext_resource type="Texture2D" uid="uid://b35fk7ltvp1hc" path="res://addons/escoria-ui-return-monkey-island/icons/menu.svg" id="13_we0hb"] [ext_resource type="Script" uid="uid://chas0xyx88njl" path="res://addons/escoria-ui-return-monkey-island/MusicButton.gd" id="14"] +[ext_resource type="Texture2D" uid="uid://c6hw4fs6aoydo" path="res://addons/escoria-ui-return-monkey-island/icons/menu_hover.svg" id="14_parhr"] [ext_resource type="Texture2D" uid="uid://d2sehci16hioi" path="res://addons/escoria-ui-return-monkey-island/icons/music-double-note-hover-disabled.svg" id="15"] [ext_resource type="Texture2D" uid="uid://e2xk0aimdte" path="res://addons/escoria-ui-return-monkey-island/icons/music-double-note-disabled.svg" id="16"] +[ext_resource type="PackedScene" uid="uid://c0066wpl3qky4" path="res://addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.tscn" id="19_we0hb"] [node name="game" type="Node2D"] script = ExtResource("5") @@ -71,13 +74,19 @@ grow_vertical = 2 [node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/ui/menu_button"] layout_mode = 0 -offset_left = -135.0 -offset_top = 32.0 +offset_left = -179.0 +offset_top = 33.0 offset_right = 21.0 -offset_bottom = 102.0 +offset_bottom = 103.0 alignment = 1 +[node name="TranslationButton" type="TextureButton" parent="CanvasLayer/ui/menu_button/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("6_yfacq") +texture_hover = ExtResource("7_we0hb") + [node name="MusicButton" type="TextureButton" parent="CanvasLayer/ui/menu_button/HBoxContainer"] +custom_minimum_size = Vector2(64, 0) layout_mode = 2 script = ExtResource("14") musicEnabledTexture = ExtResource("6") @@ -87,8 +96,8 @@ musicDisabledHoverTexture = ExtResource("15") [node name="MenuButton" type="TextureButton" parent="CanvasLayer/ui/menu_button/HBoxContainer"] layout_mode = 2 -texture_normal = ExtResource("11") -texture_hover = ExtResource("10") +texture_normal = ExtResource("13_we0hb") +texture_hover = ExtResource("14_parhr") [node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/ui"] layout_mode = 1 @@ -113,23 +122,18 @@ layout_mode = 2 [node name="pause_menu" parent="CanvasLayer" instance=ExtResource("8")] visible = false -layout_mode = 3 -anchors_preset = 15 -grow_horizontal = 2 -grow_vertical = 2 theme = ExtResource("9") [node name="main_menu" parent="CanvasLayer" instance=ExtResource("7")] visible = false -layout_mode = 3 -anchors_preset = 15 -grow_horizontal = 2 -grow_vertical = 2 [node name="video_player" parent="CanvasLayer" instance=ExtResource("12")] visible = false layout_mode = 3 anchors_preset = 0 +[node name="language_selector" parent="CanvasLayer" instance=ExtResource("19_we0hb")] + +[connection signal="pressed" from="CanvasLayer/ui/menu_button/HBoxContainer/TranslationButton" to="." method="_on_translation_button_pressed"] [connection signal="pressed" from="CanvasLayer/ui/menu_button/HBoxContainer/MusicButton" to="." method="_on_MusicButton_pressed"] [connection signal="pressed" from="CanvasLayer/ui/menu_button/HBoxContainer/MenuButton" to="." method="_on_MenuButton_pressed"] diff --git a/addons/escoria-ui-return-monkey-island/icons/cog-64-hover.svg b/addons/escoria-ui-return-monkey-island/icons/cog-64-hover.svg index f1c370ed..01c25905 100644 --- a/addons/escoria-ui-return-monkey-island/icons/cog-64-hover.svg +++ b/addons/escoria-ui-return-monkey-island/icons/cog-64-hover.svg @@ -6,7 +6,7 @@ sodipodi:docname="cog-64-hover.svg" width="64" height="64" - inkscape:version="1.3 (1:1.3+202307231459+0e150ed6c4)" + inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -20,11 +20,11 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="5.1099513" - inkscape:cx="-8.5128012" - inkscape:cy="1.4677243" + inkscape:zoom="14.453125" + inkscape:cx="41.202163" + inkscape:cy="44.730811" inkscape:window-width="1920" - inkscape:window-height="1171" + inkscape:window-height="1001" inkscape:window-x="1920" inkscape:window-y="0" inkscape:window-maximized="1" @@ -33,10 +33,10 @@ id="defs3"> + height="1.0020877" + width="1.0021021" + x="-0.0010510324" + y="-0.0010438413"> + id="stop2" /> + diff --git a/addons/escoria-ui-return-monkey-island/icons/cog-64-press.svg b/addons/escoria-ui-return-monkey-island/icons/cog-64-press.svg index 43377fdb..5a27c1f3 100644 --- a/addons/escoria-ui-return-monkey-island/icons/cog-64-press.svg +++ b/addons/escoria-ui-return-monkey-island/icons/cog-64-press.svg @@ -6,7 +6,7 @@ sodipodi:docname="cog-64-press.svg" width="64" height="64" - inkscape:version="1.3 (1:1.3+202307231459+0e150ed6c4)" + inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -20,12 +20,12 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="5.1099513" - inkscape:cx="-8.5128012" - inkscape:cy="1.4677243" + inkscape:zoom="7.2265624" + inkscape:cx="4.2205406" + inkscape:cy="30.789189" inkscape:window-width="1920" - inkscape:window-height="1171" - inkscape:window-x="1920" + inkscape:window-height="971" + inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="g3" /> @@ -33,10 +33,10 @@ id="defs3"> + height="1.0021802" + width="1.0022776" + x="-0.0011386166" + y="-0.001043902"> + id="stop2" /> + id="stop3" /> + diff --git a/addons/escoria-ui-return-monkey-island/icons/cog-64.svg b/addons/escoria-ui-return-monkey-island/icons/cog-64.svg index b2af242f..af63cdb6 100644 --- a/addons/escoria-ui-return-monkey-island/icons/cog-64.svg +++ b/addons/escoria-ui-return-monkey-island/icons/cog-64.svg @@ -6,7 +6,7 @@ sodipodi:docname="cog-64.svg" width="64" height="64" - inkscape:version="1.3 (1:1.3+202307231459+0e150ed6c4)" + inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -20,80 +20,38 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="5.1099513" - inkscape:cx="-8.5128012" - inkscape:cy="1.4677243" + inkscape:zoom="7.2265624" + inkscape:cx="4.2205406" + inkscape:cy="30.789189" inkscape:window-width="1920" - inkscape:window-height="1171" - inkscape:window-x="1920" + inkscape:window-height="971" + inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="g3" /> - - - - - - - - - - - + + + diff --git a/addons/escoria-ui-return-monkey-island/icons/menu.svg b/addons/escoria-ui-return-monkey-island/icons/menu.svg new file mode 100644 index 00000000..be8bad46 --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/icons/menu.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + diff --git a/addons/escoria-ui-return-monkey-island/icons/menu_hover.svg b/addons/escoria-ui-return-monkey-island/icons/menu_hover.svg new file mode 100644 index 00000000..b70954af --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/icons/menu_hover.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + diff --git a/addons/escoria-ui-return-monkey-island/icons/music-double-note-disabled.svg b/addons/escoria-ui-return-monkey-island/icons/music-double-note-disabled.svg index b26da9a1..121b0382 100644 --- a/addons/escoria-ui-return-monkey-island/icons/music-double-note-disabled.svg +++ b/addons/escoria-ui-return-monkey-island/icons/music-double-note-disabled.svg @@ -25,45 +25,29 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="5.3401293" - inkscape:cx="51.215988" - inkscape:cy="36.984123" + inkscape:zoom="7.5520834" + inkscape:cx="39.128276" + inkscape:cy="42.703448" inkscape:window-width="1920" inkscape:window-height="971" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg3" /> + - - + d="m 12.666302,52.141122 h 2.720376 c 3.004845,0 5.440751,-2.165181 5.440751,-4.83623 v -7.25434 h -8.161127 c -3.0048457,0 -5.4407521,2.165181 -5.4407521,4.836227 v 2.418113 c 0,2.671049 2.4359064,4.83623 5.4407521,4.83623 z m 29.924136,-4.83623 h 2.720373 c 3.004927,0 5.440751,-2.165178 5.440751,-4.836229 v -7.254338 h -8.161124 c -3.004931,0 -5.440755,2.165178 -5.440755,4.836227 v 2.418111 c 0,2.671051 2.435824,4.836229 5.440755,4.836229 z M 50.751562,35.214325 V 8.6150737 L 20.827429,13.451301 v 26.599251" + style="stroke:#000000;stroke-opacity:1;stroke-width:3.6;stroke-dasharray:none;stroke-linejoin:round" /> - + style="fill:none;stroke:#cd2000;stroke-width:3.8;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" + d="M 3.564511,55.248751 54.412601,5.5074766" + id="path4" /> diff --git a/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover-disabled.svg b/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover-disabled.svg index eecbc359..7a00c39a 100644 --- a/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover-disabled.svg +++ b/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover-disabled.svg @@ -25,45 +25,29 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="5.3401293" - inkscape:cx="51.215988" - inkscape:cy="36.984123" + inkscape:zoom="7.5520834" + inkscape:cx="39.128276" + inkscape:cy="42.703448" inkscape:window-width="1920" inkscape:window-height="971" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg3" /> + - - + d="m 12.666302,52.141122 h 2.720376 c 3.004845,0 5.440751,-2.165181 5.440751,-4.83623 v -7.25434 h -8.161127 c -3.0048457,0 -5.4407521,2.165181 -5.4407521,4.836227 v 2.418113 c 0,2.671049 2.4359064,4.83623 5.4407521,4.83623 z m 29.924136,-4.83623 h 2.720373 c 3.004927,0 5.440751,-2.165178 5.440751,-4.836229 v -7.254338 h -8.161124 c -3.004931,0 -5.440755,2.165178 -5.440755,4.836227 v 2.418111 c 0,2.671051 2.435824,4.836229 5.440755,4.836229 z M 50.751562,35.214325 V 8.6150737 L 20.827429,13.451301 v 26.599251" + style="stroke:#000000;stroke-opacity:1;stroke-width:3.6;stroke-dasharray:none;stroke-linejoin:round" /> - + style="fill:none;stroke:#cd2000;stroke-width:3.8;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" + d="M 3.564511,55.248751 54.412601,5.5074766" + id="path4" /> diff --git a/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover.svg b/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover.svg index 96294c2f..5453c7e8 100644 --- a/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover.svg +++ b/addons/escoria-ui-return-monkey-island/icons/music-double-note-hover.svg @@ -25,37 +25,108 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="3.7760417" - inkscape:cx="88.055172" - inkscape:cy="40.915862" + inkscape:zoom="7.5520836" + inkscape:cx="18.604137" + inkscape:cy="45.219309" inkscape:window-width="1920" inkscape:window-height="971" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg3" /> - - - + + + + + + + + + + + + + + + + diff --git a/addons/escoria-ui-return-monkey-island/icons/music-double-note.svg b/addons/escoria-ui-return-monkey-island/icons/music-double-note.svg index 1c46694d..f64d3afc 100644 --- a/addons/escoria-ui-return-monkey-island/icons/music-double-note.svg +++ b/addons/escoria-ui-return-monkey-island/icons/music-double-note.svg @@ -25,34 +25,79 @@ inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" - inkscape:zoom="3.7760417" - inkscape:cx="109.50621" - inkscape:cy="128.57379" + inkscape:zoom="10.680259" + inkscape:cx="31.038573" + inkscape:cy="26.5443" inkscape:window-width="1920" - inkscape:window-height="971" - inkscape:window-x="0" + inkscape:window-height="1001" + inkscape:window-x="1920" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="svg3" /> - - - + + + + + + + + + + + diff --git a/addons/escoria-ui-return-monkey-island/icons/translation.svg b/addons/escoria-ui-return-monkey-island/icons/translation.svg new file mode 100644 index 00000000..87bc3d48 --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/icons/translation.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + diff --git a/addons/escoria-ui-return-monkey-island/icons/translation_hover.svg b/addons/escoria-ui-return-monkey-island/icons/translation_hover.svg new file mode 100644 index 00000000..aa45f143 --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/icons/translation_hover.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + diff --git a/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.gd b/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.gd new file mode 100644 index 00000000..0ab2a8bb --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.gd @@ -0,0 +1,40 @@ +extends Control + +# A list of languages already added to the language selection +var _loaded_languages: Array = [] + +var _language_keys_resource = "res://gymkhana/translations/language_keys.csv" +var _language_key_labels: Dictionary; + + + +# Initialize the flags +func _ready() -> void: + var _languages_container: VBoxContainer = \ + $VBoxContainer/languageItems + for child in _languages_container.get_children(): + _languages_container.remove_child(child) + child.queue_free() + + var _language_key_labels_raw = gymkhana.csv_parser.load_from_file(_language_keys_resource) + for rawLang in _language_key_labels_raw: + _language_key_labels[rawLang[0]] = rawLang[1] + _loaded_languages = [] + + for lang in TranslationServer.get_loaded_locales(): + if not lang in _loaded_languages: + _loaded_languages.append(lang) + var _lang_button = RTMIMenuButton.new() + + _lang_button.text = _language_key_labels[lang] if _language_key_labels.has(lang) else lang + _languages_container.add_child(_lang_button) + _lang_button.connect("gui_input", Callable(self, "_on_language_input").bind(lang)) + +func _on_language_input(event: InputEvent, language: String): + if event.is_pressed(): + TranslationServer.set_locale(language) + ESCProjectSettingsManager.set_setting( + ESCProjectSettingsManager.TEXT_LANG, + language + ) + self.hide() diff --git a/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.gd.uid b/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.gd.uid new file mode 100644 index 00000000..a416fb8d --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.gd.uid @@ -0,0 +1 @@ +uid://bb2dncmckwtj2 diff --git a/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.tscn b/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.tscn new file mode 100644 index 00000000..19e88453 --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=4 format=3 uid="uid://c0066wpl3qky4"] + +[ext_resource type="Script" uid="uid://bb2dncmckwtj2" path="res://addons/escoria-ui-return-monkey-island/menus/language_selector/language_selector.gd" id="1_rfy64"] +[ext_resource type="Texture2D" uid="uid://d0ta8viehhtdj" path="res://addons/escoria-ui-return-monkey-island/icons/translation.svg" id="2_502ci"] +[ext_resource type="Theme" uid="uid://dvpaon5mw2w8l" path="res://addons/escoria-ui-return-monkey-island/theme.tres" id="2_jw4w0"] + +[node name="language_selector" type="Control"] +clip_contents = true +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_rfy64") + +[node name="Panel" type="Panel" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +scale = Vector2(1.02084, 1) +theme = ExtResource("2_jw4w0") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 13 +anchor_left = 0.5 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -308.0 +offset_top = 9.0 +offset_right = 308.0 +offset_bottom = 44.0 +grow_horizontal = 2 +grow_vertical = 2 +scale = Vector2(0.92, 0.92) +theme_override_constants/separation = 100 +alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="VBoxContainer"] +layout_mode = 2 +texture = ExtResource("2_502ci") +stretch_mode = 3 + +[node name="languageItems" type="VBoxContainer" parent="VBoxContainer"] +layout_mode = 2 +theme_override_constants/separation = 10 diff --git a/addons/escoria-ui-return-monkey-island/menus/main_menu/main_menu.tscn b/addons/escoria-ui-return-monkey-island/menus/main_menu/main_menu.tscn index 9708f6f2..6f63eebd 100644 --- a/addons/escoria-ui-return-monkey-island/menus/main_menu/main_menu.tscn +++ b/addons/escoria-ui-return-monkey-island/menus/main_menu/main_menu.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=7 format=3 uid="uid://d3wdxi18u52c5"] [ext_resource type="Script" uid="uid://cnlvmkxk41x6j" path="res://addons/escoria-ui-return-monkey-island/menus/main_menu/main_menu.gd" id="1"] -[ext_resource type="Script" uid="uid://c7y2f4rocpq4h" path="res://addons/escoria-ui-return-monkey-island/menus/RTMIMenuButtonWithSaveFeature.gd" id="2"] +[ext_resource type="Script" uid="uid://bfi05b2x5srm2" path="res://addons/escoria-ui-return-monkey-island/menus/RTMIMenuButtonWithSaveFeature.gd" id="2"] [ext_resource type="Texture2D" uid="uid://bgfi7t6khinjw" path="res://gymkhana/logo-small.png" id="3"] [ext_resource type="PackedScene" uid="uid://csxvnrljbqkr8" path="res://addons/escoria-ui-return-monkey-island/menus/options/options.tscn" id="4"] [ext_resource type="PackedScene" uid="uid://j3wkbyhedkpr" path="res://addons/escoria-core/ui_library/menus/load_save/load/load_game.tscn" id="5"] @@ -12,6 +12,8 @@ layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 script = ExtResource("1") [node name="load_game" parent="." instance=ExtResource("5")] diff --git a/addons/escoria-ui-return-monkey-island/theme.tres b/addons/escoria-ui-return-monkey-island/theme.tres index e68f4d53..8a7696f1 100644 --- a/addons/escoria-ui-return-monkey-island/theme.tres +++ b/addons/escoria-ui-return-monkey-island/theme.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=4 format=3 uid="uid://dvpaon5mw2w8l"] +[gd_resource type="Theme" load_steps=5 format=3 uid="uid://dvpaon5mw2w8l"] [sub_resource type="StyleBoxFlat" id="1"] content_margin_left = 4.0 @@ -10,6 +10,9 @@ corner_radius_top_right = 5 corner_radius_bottom_right = 5 expand_margin_left = 19.0 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_tpolp"] +bg_color = Color(0.144063, 0.144063, 0.144062, 1) + [sub_resource type="StyleBoxFlat" id="2"] bg_color = Color(0, 0, 0, 0.509804) corner_radius_top_left = 5 @@ -34,5 +37,6 @@ Label/colors/font_color_shadow = Color(0, 0, 0, 0) Label/colors/font_outline_modulate = Color(1, 0, 0, 1) Label/colors/label_box_bg = Color(0, 0, 0, 0.745098) Label/styles/normal = SubResource("1") +Panel/styles/panel = SubResource("StyleBoxFlat_tpolp") RichTextLabel/styles/focus = SubResource("2") RichTextLabel/styles/normal = SubResource("3") diff --git a/addons/escoria-ui-return-monkey-island/utils/RTMICsvParser.gd b/addons/escoria-ui-return-monkey-island/utils/RTMICsvParser.gd new file mode 100644 index 00000000..8c2dc621 --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/utils/RTMICsvParser.gd @@ -0,0 +1,18 @@ +class_name RTMICsvParser + +func load_from_file(resource: String) -> Array: + var output = [] + var file = FileAccess.open(resource, FileAccess.READ) + + if file == null: + escoria.logger.warn(self, "No language keys") + return output + + var header = file.get_csv_line(",") + + while not file.eof_reached(): + var line = file.get_csv_line(",") + output.append(line) + + file.close() + return output diff --git a/addons/escoria-ui-return-monkey-island/utils/RTMICsvParser.gd.uid b/addons/escoria-ui-return-monkey-island/utils/RTMICsvParser.gd.uid new file mode 100644 index 00000000..a872e4b7 --- /dev/null +++ b/addons/escoria-ui-return-monkey-island/utils/RTMICsvParser.gd.uid @@ -0,0 +1 @@ +uid://dsmu5gbhd3vfy diff --git a/gymkhana/translations/language_keys.csv b/gymkhana/translations/language_keys.csv new file mode 100644 index 00000000..6430e606 --- /dev/null +++ b/gymkhana/translations/language_keys.csv @@ -0,0 +1,6 @@ +key,label +es,Español +en,English +fr,Français +eu,Euskera +de,Deutsch \ No newline at end of file