Added translations management
Prepares work for line voiceovers management.
This commit is contained in:
@@ -466,8 +466,17 @@ func say(command_params : Array) -> esctypes:
|
|||||||
if command_params.size() > 2:
|
if command_params.size() > 2:
|
||||||
dialog_scene_name = command_params[2]
|
dialog_scene_name = command_params[2]
|
||||||
|
|
||||||
|
# Manage translation/voice lines keys in the form of :
|
||||||
|
# line_key:"Default line text"
|
||||||
|
# If a line_key exists, we'll set it a label as it will automatically be
|
||||||
|
# translated
|
||||||
|
var dialog_key_line = command_params[1].split(":", true, 1)
|
||||||
|
if dialog_key_line.size() > 1:
|
||||||
|
dialog_key_line[1] = dialog_key_line[1].trim_prefix("\"")
|
||||||
|
|
||||||
dict = {
|
dict = {
|
||||||
"line": command_params[1],
|
"key": dialog_key_line[0],
|
||||||
|
"line": dialog_key_line[1] if dialog_key_line.size() > 1 else dialog_key_line[0],
|
||||||
"ui": dialog_scene_name
|
"ui": dialog_scene_name
|
||||||
#"ui": "dialog_label"
|
#"ui": "dialog_label"
|
||||||
#"ui": "dialog_box_inset"
|
#"ui": "dialog_box_inset"
|
||||||
|
|||||||
@@ -40,7 +40,8 @@ func preload_resources(path : String):
|
|||||||
add_resource(basename, dialog_scene)
|
add_resource(basename, dialog_scene)
|
||||||
file_name = dialog_folder.get_next()
|
file_name = dialog_folder.get_next()
|
||||||
else:
|
else:
|
||||||
escoria.logger.report_errors("dialog_player.gd:preload_resources()", ["An error occurred when trying to access the path: {_}.".format(path)])
|
escoria.logger.report_errors("dialog_player.gd:preload_resources()",
|
||||||
|
["An error occurred when trying to access the path: {_}.".format(path)])
|
||||||
|
|
||||||
|
|
||||||
func say(character : String, params : Dictionary):
|
func say(character : String, params : Dictionary):
|
||||||
|
|||||||
@@ -43,7 +43,12 @@ func say(character : String, params : Dictionary) :
|
|||||||
var text_color = current_character.dialog_color
|
var text_color = current_character.dialog_color
|
||||||
var text_color_html = text_color.to_html(false)
|
var text_color_html = text_color.to_html(false)
|
||||||
|
|
||||||
text_node.bbcode_text = "[center][color=#" + text_color_html + "]".format([text_color_html]) + params["line"] + "[/color][center]"
|
if params["key"] != params["line"]:
|
||||||
|
text_node.bbcode_text = "[center][color=#" + text_color_html + "]" \
|
||||||
|
.format([text_color_html]) + tr(params["key"]) + "[/color][center]"
|
||||||
|
else:
|
||||||
|
text_node.bbcode_text = "[center][color=#" + text_color_html + "]" \
|
||||||
|
.format([text_color_html]) + params["line"] + "[/color][center]"
|
||||||
|
|
||||||
text_node.percent_visible = 0.0
|
text_node.percent_visible = 0.0
|
||||||
var time_show_full_text = text_speed_per_character * len(params["line"])
|
var time_show_full_text = text_speed_per_character * len(params["line"])
|
||||||
|
|||||||
@@ -10,190 +10,190 @@
|
|||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=1]
|
[sub_resource type="AtlasTexture" id=1]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 72, 0, 24, 70 )
|
region = Rect2( 336, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=2]
|
[sub_resource type="AtlasTexture" id=2]
|
||||||
atlas = ExtResource( 5 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 0, 0, 24, 70 )
|
region = Rect2( 360, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=3]
|
[sub_resource type="AtlasTexture" id=3]
|
||||||
atlas = ExtResource( 5 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 24, 0, 24, 70 )
|
region = Rect2( 384, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=4]
|
[sub_resource type="AtlasTexture" id=4]
|
||||||
atlas = ExtResource( 5 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 48, 0, 24, 70 )
|
region = Rect2( 120, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=5]
|
[sub_resource type="AtlasTexture" id=5]
|
||||||
atlas = ExtResource( 7 )
|
atlas = ExtResource( 5 )
|
||||||
region = Rect2( 0, 0, 24, 70 )
|
region = Rect2( 0, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=6]
|
[sub_resource type="AtlasTexture" id=6]
|
||||||
atlas = ExtResource( 7 )
|
atlas = ExtResource( 5 )
|
||||||
region = Rect2( 24, 0, 24, 70 )
|
region = Rect2( 24, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=7]
|
[sub_resource type="AtlasTexture" id=7]
|
||||||
atlas = ExtResource( 7 )
|
atlas = ExtResource( 5 )
|
||||||
region = Rect2( 48, 0, 24, 70 )
|
region = Rect2( 48, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=8]
|
[sub_resource type="AtlasTexture" id=8]
|
||||||
atlas = ExtResource( 7 )
|
atlas = ExtResource( 7 )
|
||||||
region = Rect2( 72, 0, 24, 70 )
|
region = Rect2( 0, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=9]
|
[sub_resource type="AtlasTexture" id=9]
|
||||||
atlas = ExtResource( 7 )
|
atlas = ExtResource( 7 )
|
||||||
region = Rect2( 96, 0, 24, 70 )
|
region = Rect2( 24, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=10]
|
[sub_resource type="AtlasTexture" id=10]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 7 )
|
||||||
region = Rect2( 0, 0, 24, 70 )
|
region = Rect2( 48, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=11]
|
[sub_resource type="AtlasTexture" id=11]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 7 )
|
||||||
region = Rect2( 144, 0, 24, 70 )
|
region = Rect2( 72, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=12]
|
[sub_resource type="AtlasTexture" id=12]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 7 )
|
||||||
region = Rect2( 168, 0, 24, 70 )
|
region = Rect2( 96, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=13]
|
[sub_resource type="AtlasTexture" id=13]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 192, 0, 24, 70 )
|
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=14]
|
|
||||||
atlas = ExtResource( 6 )
|
|
||||||
region = Rect2( 0, 0, 24, 70 )
|
region = Rect2( 0, 0, 24, 70 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=14]
|
||||||
|
atlas = ExtResource( 4 )
|
||||||
|
region = Rect2( 144, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=15]
|
[sub_resource type="AtlasTexture" id=15]
|
||||||
atlas = ExtResource( 6 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 24, 0, 24, 70 )
|
region = Rect2( 168, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=16]
|
[sub_resource type="AtlasTexture" id=16]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 48, 0, 24, 70 )
|
region = Rect2( 192, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=17]
|
[sub_resource type="AtlasTexture" id=17]
|
||||||
|
atlas = ExtResource( 6 )
|
||||||
|
region = Rect2( 0, 0, 24, 70 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=18]
|
||||||
|
atlas = ExtResource( 6 )
|
||||||
|
region = Rect2( 24, 0, 24, 70 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=19]
|
||||||
|
atlas = ExtResource( 4 )
|
||||||
|
region = Rect2( 48, 0, 24, 70 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=20]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 96, 0, 24, 70 )
|
region = Rect2( 96, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=18]
|
[sub_resource type="AtlasTexture" id=21]
|
||||||
atlas = ExtResource( 2 )
|
atlas = ExtResource( 2 )
|
||||||
region = Rect2( 0, 0, 24, 70 )
|
region = Rect2( 0, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=19]
|
[sub_resource type="AtlasTexture" id=22]
|
||||||
atlas = ExtResource( 2 )
|
atlas = ExtResource( 2 )
|
||||||
region = Rect2( 24, 0, 24, 70 )
|
region = Rect2( 24, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=20]
|
[sub_resource type="AtlasTexture" id=23]
|
||||||
atlas = ExtResource( 2 )
|
atlas = ExtResource( 2 )
|
||||||
region = Rect2( 48, 0, 24, 70 )
|
region = Rect2( 48, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=21]
|
[sub_resource type="AtlasTexture" id=24]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 216, 0, 24, 70 )
|
region = Rect2( 216, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=22]
|
[sub_resource type="AtlasTexture" id=25]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 240, 0, 24, 70 )
|
region = Rect2( 240, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=23]
|
[sub_resource type="AtlasTexture" id=26]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 264, 0, 24, 70 )
|
region = Rect2( 264, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=24]
|
[sub_resource type="AtlasTexture" id=27]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 288, 0, 24, 70 )
|
region = Rect2( 288, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=25]
|
[sub_resource type="AtlasTexture" id=28]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 312, 0, 24, 70 )
|
region = Rect2( 312, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=26]
|
[sub_resource type="AtlasTexture" id=29]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 24, 0, 24, 70 )
|
region = Rect2( 24, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=27]
|
|
||||||
atlas = ExtResource( 4 )
|
|
||||||
region = Rect2( 336, 0, 24, 70 )
|
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=28]
|
|
||||||
atlas = ExtResource( 4 )
|
|
||||||
region = Rect2( 360, 0, 24, 70 )
|
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=29]
|
|
||||||
atlas = ExtResource( 4 )
|
|
||||||
region = Rect2( 384, 0, 24, 70 )
|
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=30]
|
[sub_resource type="AtlasTexture" id=30]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 120, 0, 24, 70 )
|
region = Rect2( 72, 0, 24, 70 )
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id=31]
|
[sub_resource type="SpriteFrames" id=31]
|
||||||
animations = [ {
|
animations = [ {
|
||||||
"frames": [ SubResource( 1 ) ],
|
"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 2 ) ],
|
||||||
"loop": true,
|
|
||||||
"name": "idle_up",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "speak_down_right",
|
|
||||||
"speed": 6.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ), SubResource( 9 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "speak_right",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 10 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "idle_down",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 12 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "walk_down",
|
|
||||||
"speed": 6.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 14 ), SubResource( 15 ), SubResource( 14 ), SubResource( 15 ), SubResource( 15 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "speak_up",
|
|
||||||
"speed": 3.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 16 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "idle_right",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 17 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "idle_left",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 18 ), SubResource( 19 ), SubResource( 20 ), SubResource( 19 ), SubResource( 20 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "speak_down",
|
|
||||||
"speed": 6.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ), SubResource( 25 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "walk_right",
|
|
||||||
"speed": 6.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 26 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "idle_down_right",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 28 ) ],
|
|
||||||
"loop": true,
|
"loop": true,
|
||||||
"name": "walk_up",
|
"name": "walk_up",
|
||||||
"speed": 6.0
|
"speed": 6.0
|
||||||
}, {
|
}, {
|
||||||
"frames": [ SubResource( 30 ) ],
|
"frames": [ SubResource( 4 ) ],
|
||||||
"loop": true,
|
"loop": true,
|
||||||
"name": "idle_down_left",
|
"name": "idle_down_left",
|
||||||
"speed": 5.0
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 5 ), SubResource( 6 ), SubResource( 7 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "speak_down_right",
|
||||||
|
"speed": 6.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "speak_right",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 13 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "idle_down",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 15 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "walk_down",
|
||||||
|
"speed": 6.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 17 ), SubResource( 18 ), SubResource( 17 ), SubResource( 18 ), SubResource( 18 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "speak_up",
|
||||||
|
"speed": 3.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 19 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "idle_right",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 20 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "idle_left",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 22 ), SubResource( 23 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "speak_down",
|
||||||
|
"speed": 6.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 24 ), SubResource( 25 ), SubResource( 26 ), SubResource( 27 ), SubResource( 28 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "walk_right",
|
||||||
|
"speed": 6.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 29 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "idle_down_right",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ SubResource( 30 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "idle_up",
|
||||||
|
"speed": 5.0
|
||||||
} ]
|
} ]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id=32]
|
[sub_resource type="CapsuleShape2D" id=32]
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
:look
|
:look
|
||||||
> [! dialog_advance]
|
> [! dialog_advance]
|
||||||
say player "I don't know what that stuff is."
|
say player ROOM1_look_wall_item_1:"I don't know what that stuff is."
|
||||||
set_global dialog_advance 1
|
set_global dialog_advance 1
|
||||||
stop
|
stop
|
||||||
> [eq dialog_advance 1]
|
> [eq dialog_advance 1]
|
||||||
say player "I REALLY don't know what that stuff is."
|
say player ROOM1_look_wall_item_2:"I REALLY don't know what that stuff is."
|
||||||
set_global dialog_advance 2
|
set_global dialog_advance 2
|
||||||
stop
|
stop
|
||||||
> [eq dialog_advance 2]
|
> [eq dialog_advance 2]
|
||||||
say player "No, SERIOUSLY, I have no idea what that is!"
|
say player ROOM1_look_wall_item_3:"No, SERIOUSLY, I have no idea what that is!"
|
||||||
say player "Please stop asking me that!"
|
say player ROOM1_look_wall_item_4:"Please stop asking me that!"
|
||||||
stop
|
stop
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
:look
|
:look
|
||||||
> [! dialog_popup_advance]
|
> [! dialog_popup_advance]
|
||||||
say player "I don't know what that stuff is." dialog_box_inset
|
say player ROOM1_look_wall_item_1"I don't know what that stuff is." dialog_box_inset
|
||||||
set_global dialog_popup_advance 1
|
set_global dialog_popup_advance 1
|
||||||
stop
|
stop
|
||||||
> [eq dialog_popup_advance 1]
|
> [eq dialog_popup_advance 1]
|
||||||
say player "I REALLY don't know what that stuff is." dialog_box_inset
|
say player ROOM1_look_wall_item_2:"I REALLY don't know what that stuff is." dialog_box_inset
|
||||||
set_global dialog_popup_advance 2
|
set_global dialog_popup_advance 2
|
||||||
stop
|
stop
|
||||||
> [eq dialog_popup_advance 2]
|
> [eq dialog_popup_advance 2]
|
||||||
say player "No, SERIOUSLY, I have no idea what that is!" dialog_box_inset
|
say player ROOM1_look_wall_item_3:"No, SERIOUSLY, I have no idea what that is!" dialog_box_inset
|
||||||
say player "Please stop asking me that!" dialog_box_inset
|
say player ROOM1_look_wall_item_4:"Please stop asking me that!" dialog_box_inset
|
||||||
stop
|
stop
|
||||||
|
|||||||
5
game/translations/game.csv
Normal file
5
game/translations/game.csv
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
keys,en,fr
|
||||||
|
ROOM1_look_wall_item_1,"I don't know what that stuff is.","Je ne sais pas ce que c'est."
|
||||||
|
ROOM1_look_wall_item_2,"I REALLY don't know what that stuff is.","Je ne sais VRAIMENT pas ce que c'est."
|
||||||
|
ROOM1_look_wall_item_3,"No, SERIOUSLY, I have no idea what that is!","Non, SÉRIEUSEMENT, je n'ai aucune idée de ce que c'est !"
|
||||||
|
ROOM1_look_wall_item_4,"Please stop asking me that!","Arrêtez de me demander !"
|
||||||
|
BIN
game/translations/game.en.translation
Normal file
BIN
game/translations/game.en.translation
Normal file
Binary file not shown.
BIN
game/translations/game.fr.translation
Normal file
BIN
game/translations/game.fr.translation
Normal file
Binary file not shown.
7
game/translations/main_menu.csv
Normal file
7
game/translations/main_menu.csv
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
keys,en,fr
|
||||||
|
NEW_GAME,New game,Nouvelle partie
|
||||||
|
LOAD_GAME,Load game,Charger
|
||||||
|
OPTIONS,Options,Options
|
||||||
|
QUIT,Quit,Quitter
|
||||||
|
OPTIONS_BACK,Back,Retour
|
||||||
|
OPTIONS_LANGUAGE,Language,Langue
|
||||||
|
BIN
game/translations/main_menu.en.translation
Normal file
BIN
game/translations/main_menu.en.translation
Normal file
Binary file not shown.
BIN
game/translations/main_menu.fr.translation
Normal file
BIN
game/translations/main_menu.fr.translation
Normal file
Binary file not shown.
BIN
game/ui/commons/main_menu/flags/en_EN.png
Normal file
BIN
game/ui/commons/main_menu/flags/en_EN.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.5 KiB |
BIN
game/ui/commons/main_menu/flags/en_EN_small.png
Normal file
BIN
game/ui/commons/main_menu/flags/en_EN_small.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
BIN
game/ui/commons/main_menu/flags/fr_FR.png
Normal file
BIN
game/ui/commons/main_menu/flags/fr_FR.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
BIN
game/ui/commons/main_menu/flags/fr_FR_small.png
Normal file
BIN
game/ui/commons/main_menu/flags/fr_FR_small.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
54
game/ui/commons/main_menu/main.tscn
Normal file
54
game/ui/commons/main_menu/main.tscn
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=1]
|
||||||
|
|
||||||
|
[node name="main" type="VBoxContainer"]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -179.0
|
||||||
|
margin_top = -35.746
|
||||||
|
margin_right = 179.0
|
||||||
|
margin_bottom = 227.254
|
||||||
|
custom_constants/separation = 10
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="new_game" type="Button" parent="."]
|
||||||
|
margin_right = 358.0
|
||||||
|
margin_bottom = 152.0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "NEW_GAME"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="load_game" type="Button" parent="."]
|
||||||
|
margin_top = 162.0
|
||||||
|
margin_right = 358.0
|
||||||
|
margin_bottom = 189.0
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "LOAD_GAME"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="options" type="Button" parent="."]
|
||||||
|
margin_top = 199.0
|
||||||
|
margin_right = 358.0
|
||||||
|
margin_bottom = 226.0
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "OPTIONS"
|
||||||
|
|
||||||
|
[node name="quit" type="Button" parent="."]
|
||||||
|
margin_top = 236.0
|
||||||
|
margin_right = 358.0
|
||||||
|
margin_bottom = 263.0
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "QUIT"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
@@ -5,6 +5,18 @@ func _ready():
|
|||||||
escoria.esc_level_runner.set_sound_state(["bg_music",
|
escoria.esc_level_runner.set_sound_state(["bg_music",
|
||||||
"res://game/sfx/Game-Menu_Looping.mp3", true])
|
"res://game/sfx/Game-Menu_Looping.mp3", true])
|
||||||
|
|
||||||
|
|
||||||
|
func _on_continue_pressed():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func switch_language(lang : String):
|
||||||
|
TranslationServer.set_locale(lang)
|
||||||
|
|
||||||
|
|
||||||
func _on_new_game_pressed():
|
func _on_new_game_pressed():
|
||||||
escoria.new_game()
|
escoria.new_game()
|
||||||
|
|
||||||
@@ -12,9 +24,19 @@ func _on_load_game_pressed():
|
|||||||
# Show Loading screen
|
# Show Loading screen
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
func _on_options_pressed():
|
||||||
|
$Panel/main.hide()
|
||||||
|
$Panel/options.show()
|
||||||
|
|
||||||
func _on_quit_pressed():
|
func _on_quit_pressed():
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
###########################################################################
|
||||||
|
# OPTIONS
|
||||||
|
|
||||||
|
|
||||||
|
func _on_back_pressed():
|
||||||
|
$Panel/options.hide()
|
||||||
|
$Panel/main.show()
|
||||||
|
|
||||||
func _on_continue_pressed():
|
|
||||||
pass # Replace with function body.
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
[gd_scene load_steps=4 format=2]
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://game/ui/commons/main_menu/main_menu.gd" type="Script" id=1]
|
[ext_resource path="res://game/ui/commons/main_menu/main_menu.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=2]
|
[ext_resource path="res://game/ui/commons/main_menu/main.tscn" type="PackedScene" id=2]
|
||||||
[ext_resource path="res://addons/escoria-core/logo/escoria-logo-small.png" type="Texture" id=3]
|
[ext_resource path="res://addons/escoria-core/logo/escoria-logo-small.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://game/ui/commons/main_menu/options.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
[node name="main_menu" type="Control"]
|
[node name="main_menu" type="Control"]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@@ -32,50 +33,16 @@ __meta__ = {
|
|||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
|
[node name="main" parent="Panel" instance=ExtResource( 2 )]
|
||||||
anchor_left = 0.5
|
|
||||||
anchor_top = 0.5
|
|
||||||
anchor_right = 0.5
|
|
||||||
anchor_bottom = 0.5
|
|
||||||
margin_left = -179.0
|
|
||||||
margin_top = -35.746
|
|
||||||
margin_right = 179.0
|
|
||||||
margin_bottom = 227.254
|
|
||||||
custom_constants/separation = 10
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="new_game" type="Button" parent="Panel/VBoxContainer"]
|
[node name="options" parent="Panel" instance=ExtResource( 4 )]
|
||||||
margin_right = 358.0
|
visible = false
|
||||||
margin_bottom = 189.0
|
|
||||||
size_flags_vertical = 3
|
|
||||||
custom_fonts/font = ExtResource( 2 )
|
|
||||||
text = "New game"
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="load_game" type="Button" parent="Panel/VBoxContainer"]
|
[connection signal="pressed" from="Panel/main/new_game" to="." method="_on_new_game_pressed"]
|
||||||
margin_top = 199.0
|
[connection signal="pressed" from="Panel/main/load_game" to="." method="_on_load_game_pressed"]
|
||||||
margin_right = 358.0
|
[connection signal="pressed" from="Panel/main/options" to="." method="_on_options_pressed"]
|
||||||
margin_bottom = 226.0
|
[connection signal="pressed" from="Panel/main/quit" to="." method="_on_quit_pressed"]
|
||||||
custom_fonts/font = ExtResource( 2 )
|
[connection signal="pressed" from="Panel/options/back" to="." method="_on_back_pressed"]
|
||||||
text = "Load game"
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="quit" type="Button" parent="Panel/VBoxContainer"]
|
[editable path="Panel/main"]
|
||||||
margin_top = 236.0
|
[editable path="Panel/options"]
|
||||||
margin_right = 358.0
|
|
||||||
margin_bottom = 263.0
|
|
||||||
custom_fonts/font = ExtResource( 2 )
|
|
||||||
text = "Quit"
|
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[connection signal="pressed" from="Panel/VBoxContainer/new_game" to="." method="_on_new_game_pressed"]
|
|
||||||
[connection signal="pressed" from="Panel/VBoxContainer/load_game" to="." method="_on_load_game_pressed"]
|
|
||||||
[connection signal="pressed" from="Panel/VBoxContainer/quit" to="." method="_on_quit_pressed"]
|
|
||||||
|
|||||||
11
game/ui/commons/main_menu/options.gd
Normal file
11
game/ui/commons/main_menu/options.gd
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
var locale = TranslationServer.get_locale()
|
||||||
|
|
||||||
|
func greyout_other_languages(except_lang : String) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _on_language_input(event : InputEvent, language : String):
|
||||||
|
if event.is_pressed():
|
||||||
|
TranslationServer.set_locale(language)
|
||||||
75
game/ui/commons/main_menu/options.tscn
Normal file
75
game/ui/commons/main_menu/options.tscn
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=1]
|
||||||
|
[ext_resource path="res://game/ui/commons/main_menu/flags/en_EN_small.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://game/ui/commons/main_menu/flags/fr_FR_small.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://game/ui/commons/main_menu/options.gd" type="Script" id=4]
|
||||||
|
|
||||||
|
[node name="options" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 4 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="back" type="Button" parent="."]
|
||||||
|
margin_left = 130.0
|
||||||
|
margin_top = 329.0
|
||||||
|
margin_right = 304.0
|
||||||
|
margin_bottom = 383.0
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "OPTIONS_BACK"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="options_grid" type="GridContainer" parent="."]
|
||||||
|
anchor_left = 0.217
|
||||||
|
anchor_top = 0.427
|
||||||
|
anchor_right = 0.803
|
||||||
|
anchor_bottom = 0.574
|
||||||
|
margin_left = 0.23999
|
||||||
|
margin_top = -0.300018
|
||||||
|
margin_right = 17.1599
|
||||||
|
margin_bottom = 0.400024
|
||||||
|
custom_constants/hseparation = 167
|
||||||
|
columns = 2
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="options_language" type="Label" parent="options_grid"]
|
||||||
|
margin_top = 56.0
|
||||||
|
margin_right = 220.0
|
||||||
|
margin_bottom = 77.0
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "OPTIONS_LANGUAGE"
|
||||||
|
|
||||||
|
[node name="flags" type="HBoxContainer" parent="options_grid"]
|
||||||
|
margin_left = 387.0
|
||||||
|
margin_right = 767.0
|
||||||
|
margin_bottom = 133.0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
custom_constants/separation = 30
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="fr_FR" type="TextureRect" parent="options_grid/flags"]
|
||||||
|
margin_right = 150.0
|
||||||
|
margin_bottom = 133.0
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="en_EN" type="TextureRect" parent="options_grid/flags"]
|
||||||
|
margin_left = 180.0
|
||||||
|
margin_right = 380.0
|
||||||
|
margin_bottom = 133.0
|
||||||
|
texture = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[connection signal="gui_input" from="options_grid/flags/fr_FR" to="." method="_on_language_input" binds= [ "fr_FR" ]]
|
||||||
|
[connection signal="gui_input" from="options_grid/flags/en_EN" to="." method="_on_language_input" binds= [ "en_EN" ]]
|
||||||
@@ -157,6 +157,10 @@ switch_action_verb={
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[locale]
|
||||||
|
|
||||||
|
translations=PoolStringArray( "res://game/translations/game.csv", "res://game/translations/main_menu.csv", "res://game/translations/game.en.translation", "res://game/translations/game.fr.translation", "res://game/translations/main_menu.en.translation", "res://game/translations/main_menu.fr.translation" )
|
||||||
|
|
||||||
[rendering]
|
[rendering]
|
||||||
|
|
||||||
environment/default_environment="res://default_env.tres"
|
environment/default_environment="res://default_env.tres"
|
||||||
|
|||||||
Reference in New Issue
Block a user