shoutbox with new users and message display
commit
a5cce3cba7
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="b3ee3b197af6bdf6b469f88bc97a2b5b"
|
||||
dest_md5="5cc453001da2def085d615be60a0b9c4"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
|
||||
dest_md5="26ea799ea0a3da9e753b3ebe822e0570"
|
||||
|
Binary file not shown.
@ -0,0 +1,60 @@
|
||||
extends Node
|
||||
|
||||
# Lemonland Shoutbox Client
|
||||
|
||||
onready var ui = $UI
|
||||
export var websocket_url = "ws://127.0.0.1:8080"
|
||||
var _client = WebSocketClient.new()
|
||||
var chat_name
|
||||
|
||||
func join_chat(username):
|
||||
chat_name = username
|
||||
_client.get_peer(1).put_packet(JSON.print({'type': "user_joined", 'name': username}).to_utf8())
|
||||
|
||||
func send_message(message):
|
||||
_client.get_peer(1).put_packet(JSON.print({'type': 'shout', 'name': chat_name, 'message': message}).to_utf8())
|
||||
|
||||
sync func receive_message(packet):
|
||||
ui.display_message(packet)
|
||||
|
||||
func _ready():
|
||||
TranslationServer.set_locale("en")
|
||||
for text in get_tree().get_nodes_in_group("translate"):
|
||||
text.translate()
|
||||
|
||||
_client.connect("connection_closed", self, "_closed")
|
||||
_client.connect("connection_error", self, "_error")
|
||||
_client.connect("connection_established", self, "_connected")
|
||||
_client.connect("data_received", self, "_on_data_received")
|
||||
|
||||
var err = _client.connect_to_url(websocket_url)
|
||||
if err != OK:
|
||||
print_debug("Unable to connect")
|
||||
set_process(false)
|
||||
|
||||
func _error(was_clean = false):
|
||||
print_debug("Error, clean: ", was_clean)
|
||||
set_process(false)
|
||||
|
||||
func _closed(was_clean = false):
|
||||
print_debug("Closed, clean: ", was_clean)
|
||||
set_process(false)
|
||||
|
||||
func _connected(protocol = ""):
|
||||
print_debug("Connected with protocol: ", protocol)
|
||||
_client.get_peer(1).put_packet(JSON.print({'type': 'test', 'message': "Client test packet"}).to_utf8())
|
||||
ui.join_button.show()
|
||||
ui.username.show()
|
||||
|
||||
func _on_data_received():
|
||||
var json = JSON.parse(_client.get_peer(1).get_packet().get_string_from_utf8())
|
||||
var packet = json.result
|
||||
if typeof(packet) != 18:
|
||||
push_error("%s is not a dictionary" % [packet])
|
||||
get_tree().quit()
|
||||
print_debug("Got data from server: ", packet)
|
||||
if packet['type'] == "shout" or packet['type'] == "server_message":
|
||||
receive_message(packet)
|
||||
|
||||
func _process(_delta):
|
||||
_client.poll()
|
@ -0,0 +1,91 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
|
||||
[ext_resource path="res://Lemon.gd" type="Script" id=1]
|
||||
[ext_resource path="res://UI/LineEdit.gd" type="Script" id=2]
|
||||
[ext_resource path="res://UI/Button.gd" type="Script" id=3]
|
||||
[ext_resource path="res://UI/Label.gd" type="Script" id=4]
|
||||
[ext_resource path="res://UI/Shoutbox/Shoutbox.gd" type="Script" id=5]
|
||||
|
||||
[node name="LemonChat" type="Node"]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="UI" type="PanelContainer" parent="."]
|
||||
margin_right = 170.0
|
||||
margin_bottom = 600.0
|
||||
rect_min_size = Vector2( 170, 0 )
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource( 5 )
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="UI"]
|
||||
margin_left = 7.0
|
||||
margin_top = 7.0
|
||||
margin_right = 163.0
|
||||
margin_bottom = 593.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Label" type="Label" parent="UI/VBox"]
|
||||
margin_right = 156.0
|
||||
margin_bottom = 14.0
|
||||
size_flags_horizontal = 3
|
||||
align = 1
|
||||
script = ExtResource( 4 )
|
||||
tl = "sbshou"
|
||||
|
||||
[node name="ChatDisplay" type="TextEdit" parent="UI/VBox"]
|
||||
margin_top = 18.0
|
||||
margin_right = 156.0
|
||||
margin_bottom = 582.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
readonly = true
|
||||
show_line_numbers = true
|
||||
wrap_enabled = true
|
||||
|
||||
[node name="ChatInput" type="LineEdit" parent="UI/VBox"]
|
||||
visible = false
|
||||
margin_top = 520.0
|
||||
margin_right = 270.0
|
||||
margin_bottom = 544.0
|
||||
size_flags_horizontal = 3
|
||||
script = ExtResource( 2 )
|
||||
tl = "sbchin"
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="UI/VBox"]
|
||||
margin_top = 586.0
|
||||
margin_right = 156.0
|
||||
margin_bottom = 586.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HBox" type="HBoxContainer" parent="UI/VBox/VBox"]
|
||||
margin_right = 156.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Name" type="LineEdit" parent="UI/VBox/VBox/HBox"]
|
||||
visible = false
|
||||
margin_right = 270.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
expand_to_text_length = true
|
||||
placeholder_text = "Username"
|
||||
|
||||
[node name="JoinButton" type="Button" parent="UI/VBox/VBox/HBox"]
|
||||
visible = false
|
||||
margin_left = 137.0
|
||||
margin_right = 270.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
text = "join"
|
||||
script = ExtResource( 3 )
|
||||
tl = "sbjoin"
|
||||
|
||||
[node name="LeaveButton" type="Button" parent="UI/VBox/VBox/HBox"]
|
||||
visible = false
|
||||
margin_left = 118.0
|
||||
margin_right = 645.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Leave"
|
||||
script = ExtResource( 3 )
|
||||
tl = "sbleav"
|
|
@ -0,0 +1,16 @@
|
||||
[remap]
|
||||
|
||||
importer="csv_translation"
|
||||
type="Translation"
|
||||
|
||||
[deps]
|
||||
|
||||
files=[ "res://Res/Text/Text.pr.translation", "res://Res/Text/Text.en.translation" ]
|
||||
|
||||
source_file="res://Res/Text/Text.csv"
|
||||
dest_files=[ "res://Res/Text/Text.pr.translation", "res://Res/Text/Text.en.translation" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress=true
|
||||
delimiter=0
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,144 @@
|
||||
abortion
|
||||
anal
|
||||
antifa
|
||||
anus
|
||||
areola
|
||||
ass
|
||||
bastard
|
||||
bdsm
|
||||
beaner
|
||||
beastiality
|
||||
bicurious
|
||||
bisexual
|
||||
bitch
|
||||
blowjob
|
||||
blueball
|
||||
boob
|
||||
breast
|
||||
bunghole
|
||||
butt
|
||||
chink
|
||||
clit
|
||||
cock
|
||||
coitus
|
||||
commie
|
||||
communist
|
||||
condom
|
||||
crackpipe
|
||||
crap
|
||||
crotch
|
||||
cuck
|
||||
cum
|
||||
cunt
|
||||
damn
|
||||
darkie
|
||||
darky
|
||||
deadname
|
||||
deepthroat
|
||||
dick
|
||||
dildo
|
||||
drug
|
||||
dyke
|
||||
erection
|
||||
faeces
|
||||
fag
|
||||
fart
|
||||
feces
|
||||
femboy
|
||||
femoid
|
||||
fister
|
||||
fisting
|
||||
foreskin
|
||||
fornicate
|
||||
fuck
|
||||
gasm
|
||||
gay
|
||||
gender
|
||||
genital
|
||||
goldenshower
|
||||
gook
|
||||
goy
|
||||
gyp
|
||||
heroin
|
||||
hitler
|
||||
homo
|
||||
horny
|
||||
hump
|
||||
hymen
|
||||
incest
|
||||
intercourse
|
||||
jackoff
|
||||
jerkoff
|
||||
jew
|
||||
jizz
|
||||
kink
|
||||
kkk
|
||||
kike
|
||||
lactate
|
||||
lesbian
|
||||
lesbo
|
||||
lezbo
|
||||
lsd
|
||||
lube
|
||||
marijuana
|
||||
masturbate
|
||||
menstral
|
||||
meth
|
||||
molest
|
||||
muff
|
||||
nazi
|
||||
negroid
|
||||
nig
|
||||
nipple
|
||||
orgy
|
||||
pedo
|
||||
penis
|
||||
pimp
|
||||
piss
|
||||
poop
|
||||
porn
|
||||
prostitute
|
||||
pubic
|
||||
pussy
|
||||
queef
|
||||
queer
|
||||
racial
|
||||
racist
|
||||
rapist
|
||||
rimjob
|
||||
roastie
|
||||
schizo
|
||||
scrotum
|
||||
semen
|
||||
sex
|
||||
shit
|
||||
skank
|
||||
slanteye
|
||||
slut
|
||||
sodom
|
||||
spastic
|
||||
spaz
|
||||
sucker
|
||||
swastika
|
||||
syphilis
|
||||
tarbaby
|
||||
tard
|
||||
testicle
|
||||
tits
|
||||
titty
|
||||
titties
|
||||
tranny
|
||||
trans
|
||||
twat
|
||||
urinary
|
||||
urinate
|
||||
uterus
|
||||
vagina
|
||||
vestite
|
||||
vibrator
|
||||
virgin
|
||||
vulva
|
||||
wank
|
||||
weed
|
||||
whore
|
||||
zipperhead
|
@ -0,0 +1,21 @@
|
||||
extends Node
|
||||
|
||||
var network = NetworkedMultiplayerENet.new()
|
||||
var ip = "127.0.0.1"
|
||||
var port = 3000
|
||||
|
||||
func connect_to_server():
|
||||
network.create_client(ip, port)
|
||||
get_tree().set_network_peer(network)
|
||||
network.connect("connection_failed", self, "_connection_failed")
|
||||
network.connect("connection_succeeded", self, "_connection_succeeded")
|
||||
|
||||
func _connection_failed():
|
||||
print_debug("Failed to connect")
|
||||
|
||||
func _connection_succeeded():
|
||||
print_debug("Connected")
|
||||
|
||||
func _ready():
|
||||
connect_to_server()
|
||||
|
@ -0,0 +1,12 @@
|
||||
extends Node
|
||||
|
||||
var action_box
|
||||
var dialog_box
|
||||
|
||||
func setup():
|
||||
dialog_box.update_dialog({'portrait': '', 'name': '', 'line': "stwe01"})
|
||||
action_box.update_actions({'actions': ['acwe02','acwe03','acwe04']})
|
||||
|
||||
func _ready():
|
||||
add_to_group("setup")
|
||||
add_to_group("storyteller")
|
@ -0,0 +1,12 @@
|
||||
extends GridContainer
|
||||
|
||||
var storyteller
|
||||
|
||||
func update_actions(dict):
|
||||
for a in dict['actions']:
|
||||
var b = Button.new()
|
||||
b.set_text(tr(a))
|
||||
add_child(b)
|
||||
|
||||
func _ready():
|
||||
add_to_group("action_box")
|
@ -0,0 +1,9 @@
|
||||
extends Button
|
||||
|
||||
export(String) var tl
|
||||
|
||||
func translate():
|
||||
set_text(tr(tl))
|
||||
|
||||
func _ready():
|
||||
add_to_group("translate")
|
@ -0,0 +1,9 @@
|
||||
extends RichTextLabel
|
||||
|
||||
var storyteller
|
||||
|
||||
func update_dialog(dict):
|
||||
set_text(tr(dict['line']))
|
||||
|
||||
func _ready():
|
||||
add_to_group("dialog_box")
|
@ -0,0 +1,94 @@
|
||||
extends VBoxContainer
|
||||
|
||||
onready var legal_name = $Questions/Col1/HBox/Name
|
||||
onready var day = $Questions/Col1/HBox2/Day
|
||||
onready var month = $Questions/Col1/HBox2/Month
|
||||
onready var year = $Questions/Col1/HBox2/Year
|
||||
onready var gender = $Questions/Col1/HBox3/Gender
|
||||
onready var password = $Questions/Col1/HBox4/Password
|
||||
onready var password2 = $Questions/Col1/HBox5/Password2
|
||||
onready var email = $Questions/Col2/HBox/Email
|
||||
onready var secq = $Questions/Col2/HBox2/SecurityQ
|
||||
onready var seca = $Questions/Col2/HBox3/SecurityA
|
||||
onready var reason = $HBox/Reason
|
||||
onready var etc = $HBox2/Etc
|
||||
onready var submit = $Submit
|
||||
onready var message = $HBox3/VBox/Message
|
||||
onready var action = $HBox3/VBox/Action
|
||||
onready var censor = 'res://Res/Text/censor.txt'
|
||||
|
||||
func check():
|
||||
var form = collect_answers()
|
||||
# Check Name is filled
|
||||
if !form['name']:
|
||||
message.set_text(tr("foif10"))
|
||||
return false
|
||||
# Check Name has special characters
|
||||
for c in ['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '{',
|
||||
'}', '\'', '\"', ':', ';']:
|
||||
if c in form['name']:
|
||||
message.set_text(tr("foifb2"))
|
||||
return false
|
||||
# Check Name is offensive
|
||||
var file = File.new()
|
||||
file.open(censor, file.READ)
|
||||
var line_counter = 0
|
||||
while not file.eof_reached():
|
||||
line_counter+=1
|
||||
if file.get_line() in form['name']:
|
||||
message.set_text(tr("foifb3"))
|
||||
file.close()
|
||||
return false
|
||||
file.close()
|
||||
# Check Name is taken
|
||||
# message.set_text(tr("foifb4"))
|
||||
# Check if >= 13
|
||||
if form['age'] < 1:
|
||||
message.set_text(tr("foifb5"))
|
||||
return false
|
||||
# Check Password is filled
|
||||
if !form['password'] or !form['password2']:
|
||||
message.set_text(tr("foif11"))
|
||||
return false
|
||||
# Check Password in top passwords
|
||||
for p in ["123456","123456789","qwerty","password","12345","qwerty123","1q2w3e","12345678","111111","1234567890"]:
|
||||
if form['password'] == p:
|
||||
message.set_text(tr("foifb6"))
|
||||
return false
|
||||
# Check Passwords match
|
||||
if form['password'] != form['password2']:
|
||||
message.set_text(tr("foifb7"))
|
||||
return false
|
||||
# Check Email is valid
|
||||
if !form['email']:
|
||||
message.set_text(tr("foifb8"))
|
||||
return false
|
||||
# Check Account Recovery filled out
|
||||
if !form['email'] and !form['secq'] and !form['seca']:
|
||||
message.set_text(tr("foifb8"))
|
||||
return false
|
||||
# Also no name, etc
|
||||
return true
|
||||
|
||||
func collect_answers():
|
||||
return {
|
||||
'name': legal_name.get_text(),
|
||||
'dob': str(month.get_selected_id() + 1) + "/" + str(day.get_selected_id() + 1),
|
||||
'age': year.get_selected_id(),
|
||||
'gender': gender.get_selected_id(),
|
||||
'password': password.get_text(),
|
||||
'password2': password2.get_text(),
|
||||
'email': email.get_text(),
|
||||
'secq': secq.get_text(),
|
||||
'seca': seca.get_text(),
|
||||
'reason': reason.get_selected_id(),
|
||||
'etc': etc.get_text()
|
||||
}
|
||||
|
||||
func create_account():
|
||||
if !check():
|
||||
return
|
||||
get_parent().get_parent().queue_free()
|
||||
|
||||
func _ready():
|
||||
submit.connect("button_up", self, "create_account")
|
@ -0,0 +1,7 @@
|
||||
extends OptionButton
|
||||
|
||||
func _ready():
|
||||
var x = 1
|
||||
while x < 32:
|
||||
add_item(str(x))
|
||||
x += 1
|
@ -0,0 +1,7 @@
|
||||
extends OptionButton
|
||||
|
||||
var keys = ["foifal","foifbo","foifgi"]
|
||||
|
||||
func _ready():
|
||||
for k in keys:
|
||||
add_item(tr(k))
|
@ -0,0 +1,370 @@
|
||||
[gd_scene load_steps=9 format=2]
|
||||
|
||||
[ext_resource path="res://UI/Form/Immigration/Gender.gd" type="Script" id=1]
|
||||
[ext_resource path="res://UI/Form.gd" type="Script" id=2]
|
||||
[ext_resource path="res://UI/Form/Immigration/Day.gd" type="Script" id=3]
|
||||
[ext_resource path="res://UI/Button.gd" type="Script" id=4]
|
||||
[ext_resource path="res://icon.png" type="Texture" id=5]
|
||||
[ext_resource path="res://UI/Form/Immigration/Month.gd" type="Script" id=6]
|
||||
[ext_resource path="res://UI/Form/Immigration/Reason.gd" type="Script" id=7]
|
||||
[ext_resource path="res://UI/Form/Immigration/Year.gd" type="Script" id=8]
|
||||
|
||||
[node name="CharCreate" type="PanelContainer"]
|
||||
margin_left = 7.0
|
||||
margin_top = 7.0
|
||||
margin_right = 605.0
|
||||
margin_bottom = 579.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
margin_left = 7.0
|
||||
margin_top = 7.0
|
||||
margin_right = 591.0
|
||||
margin_bottom = 565.0
|
||||
|
||||
[node name="Form" type="VBoxContainer" parent="VBoxContainer"]
|
||||
margin_right = 584.0
|
||||
margin_bottom = 464.0
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="Title" type="Label" parent="VBoxContainer/Form"]
|
||||
margin_right = 584.0
|
||||
margin_bottom = 14.0
|
||||
text = "Immigration Forms"
|
||||
|
||||
[node name="Desc" type="Label" parent="VBoxContainer/Form"]
|
||||
margin_top = 18.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 32.0
|
||||
text = "Fill out the following questions."
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer/Form"]
|
||||
margin_top = 36.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="Questions" type="HBoxContainer" parent="VBoxContainer/Form"]
|
||||
margin_top = 44.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 192.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Col1" type="VBoxContainer" parent="VBoxContainer/Form/Questions"]
|
||||
margin_right = 290.0
|
||||
margin_bottom = 148.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="HBox" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col1"]
|
||||
margin_right = 290.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col1/HBox"]
|
||||
margin_top = 5.0
|
||||
margin_right = 143.0
|
||||
margin_bottom = 19.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Name:"
|
||||
|
||||
[node name="Name" type="LineEdit" parent="VBoxContainer/Form/Questions/Col1/HBox"]
|
||||
margin_left = 147.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HBox2" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col1"]
|
||||
margin_top = 28.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 48.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col1/HBox2"]
|
||||
margin_top = 3.0
|
||||
margin_right = 191.0
|
||||
margin_bottom = 17.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Date of Birth:"
|
||||
|
||||
[node name="Day" type="OptionButton" parent="VBoxContainer/Form/Questions/Col1/HBox2"]
|
||||
margin_left = 195.0
|
||||
margin_right = 224.0
|
||||
margin_bottom = 20.0
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="Month" type="OptionButton" parent="VBoxContainer/Form/Questions/Col1/HBox2"]
|
||||
margin_left = 228.0
|
||||
margin_right = 257.0
|
||||
margin_bottom = 20.0
|
||||
script = ExtResource( 6 )
|
||||
|
||||
[node name="Year" type="OptionButton" parent="VBoxContainer/Form/Questions/Col1/HBox2"]
|
||||
margin_left = 261.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 20.0
|
||||
script = ExtResource( 8 )
|
||||
|
||||
[node name="HBox3" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col1"]
|
||||
margin_top = 52.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 72.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col1/HBox3"]
|
||||
margin_top = 3.0
|
||||
margin_right = 143.0
|
||||
margin_bottom = 17.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Gender:"
|
||||
|
||||
[node name="Gender" type="OptionButton" parent="VBoxContainer/Form/Questions/Col1/HBox3"]
|
||||
margin_left = 147.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 20.0
|
||||
size_flags_horizontal = 3
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="HBox4" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col1"]
|
||||
margin_top = 76.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 100.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col1/HBox4"]
|
||||
margin_top = 5.0
|
||||
margin_right = 143.0
|
||||
margin_bottom = 19.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Password:"
|
||||
|
||||
[node name="Password" type="LineEdit" parent="VBoxContainer/Form/Questions/Col1/HBox4"]
|
||||
margin_left = 147.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HBox5" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col1"]
|
||||
margin_top = 104.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 128.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col1/HBox5"]
|
||||
margin_top = 5.0
|
||||
margin_right = 143.0
|
||||
margin_bottom = 19.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Password Again:"
|
||||
|
||||
[node name="Password2" type="LineEdit" parent="VBoxContainer/Form/Questions/Col1/HBox5"]
|
||||
margin_left = 147.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Col2" type="VBoxContainer" parent="VBoxContainer/Form/Questions"]
|
||||
margin_left = 294.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 148.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col2"]
|
||||
margin_right = 290.0
|
||||
margin_bottom = 48.0
|
||||
text = "You must pick either an email OR a Security Q&A, so you can retrieve your documentation when you inevitably lose it."
|
||||
autowrap = true
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer/Form/Questions/Col2"]
|
||||
margin_top = 52.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 56.0
|
||||
|
||||
[node name="HBox" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col2"]
|
||||
margin_top = 60.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 84.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col2/HBox"]
|
||||
margin_top = 5.0
|
||||
margin_right = 143.0
|
||||
margin_bottom = 19.0
|
||||
size_flags_horizontal = 3
|
||||
text = "email:"
|
||||
|
||||
[node name="Email" type="LineEdit" parent="VBoxContainer/Form/Questions/Col2/HBox"]
|
||||
margin_left = 147.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/Form/Questions/Col2"]
|
||||
margin_top = 88.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 92.0
|
||||
|
||||
[node name="HBox2" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col2"]
|
||||
margin_top = 96.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 120.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col2/HBox2"]
|
||||
margin_top = 5.0
|
||||
margin_right = 143.0
|
||||
margin_bottom = 19.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Security Question:"
|
||||
|
||||
[node name="SecurityQ" type="LineEdit" parent="VBoxContainer/Form/Questions/Col2/HBox2"]
|
||||
margin_left = 147.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HBox3" type="HBoxContainer" parent="VBoxContainer/Form/Questions/Col2"]
|
||||
margin_top = 124.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 148.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/Questions/Col2/HBox3"]
|
||||
margin_top = 5.0
|
||||
margin_right = 143.0
|
||||
margin_bottom = 19.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Security Answer:"
|
||||
|
||||
[node name="SecurityA" type="LineEdit" parent="VBoxContainer/Form/Questions/Col2/HBox3"]
|
||||
margin_left = 147.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/Form"]
|
||||
margin_top = 196.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 200.0
|
||||
|
||||
[node name="HBox" type="HBoxContainer" parent="VBoxContainer/Form"]
|
||||
margin_top = 204.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 224.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/HBox"]
|
||||
margin_top = 3.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 17.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Reason for Immigrating:"
|
||||
|
||||
[node name="Reason" type="OptionButton" parent="VBoxContainer/Form/HBox"]
|
||||
margin_left = 294.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 20.0
|
||||
size_flags_horizontal = 3
|
||||
script = ExtResource( 7 )
|
||||
|
||||
[node name="HBox2" type="HBoxContainer" parent="VBoxContainer/Form"]
|
||||
margin_top = 228.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 252.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/HBox2"]
|
||||
margin_top = 5.0
|
||||
margin_right = 290.0
|
||||
margin_bottom = 19.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Additional Comments:"
|
||||
|
||||
[node name="Etc" type="LineEdit" parent="VBoxContainer/Form/HBox2"]
|
||||
margin_left = 294.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
text = "ajsdfrjosdijfosdiajfoisdjfoai hahaha"
|
||||
|
||||
[node name="HSeparator3" type="HSeparator" parent="VBoxContainer/Form"]
|
||||
margin_top = 256.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 260.0
|
||||
|
||||
[node name="Submit" type="Button" parent="VBoxContainer/Form"]
|
||||
margin_top = 264.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 284.0
|
||||
script = ExtResource( 4 )
|
||||
tl = "foifbs"
|
||||
|
||||
[node name="HSeparator4" type="HSeparator" parent="VBoxContainer/Form"]
|
||||
margin_top = 288.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 292.0
|
||||
|
||||
[node name="HBox3" type="HBoxContainer" parent="VBoxContainer/Form"]
|
||||
margin_top = 296.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 464.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
alignment = 2
|
||||
|
||||
[node name="VBox2" type="VBoxContainer" parent="VBoxContainer/Form/HBox3"]
|
||||
margin_right = 150.0
|
||||
margin_bottom = 168.0
|
||||
alignment = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="VBoxContainer/Form/HBox3/VBox2"]
|
||||
margin_right = 150.0
|
||||
margin_bottom = 150.0
|
||||
rect_min_size = Vector2( 150, 150 )
|
||||
texture = ExtResource( 5 )
|
||||
expand = true
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/Form/HBox3/VBox2"]
|
||||
margin_top = 154.0
|
||||
margin_right = 150.0
|
||||
margin_bottom = 168.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
text = "Bless the Child"
|
||||
align = 1
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="VBoxContainer/Form/HBox3"]
|
||||
margin_left = 154.0
|
||||
margin_right = 584.0
|
||||
margin_bottom = 168.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
alignment = 2
|
||||
|
||||
[node name="Message" type="RichTextLabel" parent="VBoxContainer/Form/HBox3/VBox"]
|
||||
margin_top = 129.0
|
||||
margin_right = 430.0
|
||||
margin_bottom = 144.0
|
||||
size_flags_horizontal = 3
|
||||
text = "\"Fill these forms real quick. The boss will be here any minute.\""
|
||||
fit_content_height = true
|
||||
|
||||
[node name="Action" type="GridContainer" parent="VBoxContainer/Form/HBox3/VBox"]
|
||||
margin_top = 148.0
|
||||
margin_right = 430.0
|
||||
margin_bottom = 168.0
|
||||
size_flags_horizontal = 3
|
||||
columns = 3
|
||||
|
||||
[node name="Button2" type="Button" parent="VBoxContainer/Form/HBox3/VBox/Action"]
|
||||
margin_right = 248.0
|
||||
margin_bottom = 20.0
|
||||
text = "why not let me in without the forms?"
|
||||
|
||||
[node name="Button3" type="Button" parent="VBoxContainer/Form/HBox3/VBox/Action"]
|
||||
margin_left = 252.0
|
||||
margin_right = 426.0
|
||||
margin_bottom = 20.0
|
||||
text = "how do you use this info?"
|
@ -0,0 +1,7 @@
|
||||
extends OptionButton
|
||||
|
||||
var keys = ["tijanu", "tifebu", "timarc", "tiapri", "timaya", "tijune", "tijuly", "tiaugu", "tisept", "tiocto", "tinove", "tidece"]
|
||||
|
||||
func _ready():
|
||||
for k in keys:
|
||||
add_item(tr(k))
|
@ -0,0 +1,7 @@
|
||||
extends OptionButton
|
||||
|
||||
var keys = ["foifri", "foifrp", "foifrc", "foifrg", "foifrf", "foifre"]
|
||||
|
||||
func _ready():
|
||||
for k in keys:
|
||||
add_item(tr(k))
|
@ -0,0 +1,7 @@
|
||||
extends OptionButton
|
||||
|
||||
var keys = ["tiun13", "tiov13"]
|
||||
|
||||
func _ready():
|
||||
for k in keys:
|
||||
add_item(tr(k))
|
@ -0,0 +1,13 @@
|
||||
extends "res://UI/Label.gd"
|
||||
|
||||
export(String) var tl_tooltip
|
||||
|
||||
func show_tooltip():
|
||||
var label = Label.new()
|
||||
label.set_text(tr(tl_tooltip))
|
||||
label.set_global_position(get_global_position())
|
||||
add_child(label)
|
||||
|
||||
func _ready():
|
||||
tl = "?"
|
||||
connect("mouse_entered", self, "show_tooltip")
|
@ -0,0 +1,9 @@
|
||||
extends Label
|
||||
|
||||
export(String) var tl
|
||||
|
||||
func translate():
|
||||
set_text(tr(tl))
|
||||
|
||||
func _ready():
|
||||
add_to_group("translate")
|
@ -0,0 +1,9 @@
|
||||
extends LineEdit
|
||||
|
||||
export(String) var tl
|
||||
|
||||
func translate():
|
||||
placeholder_text = tr(tl)
|
||||
|
||||
func _ready():
|
||||
add_to_group("translate")
|
@ -0,0 +1,99 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
|
||||
[ext_resource path="res://icon.png" type="Texture" id=1]
|
||||
[ext_resource path="res://UI/DialogBox.gd" type="Script" id=2]
|
||||
[ext_resource path="res://UI/Action.gd" type="Script" id=3]
|
||||
|
||||
[sub_resource type="Theme" id=1]
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id=2]
|
||||
texture = ExtResource( 1 )
|
||||
region_rect = Rect2( 0, 0, 64, 64 )
|
||||
|
||||
[node name="Game" type="PanelContainer"]
|
||||
margin_right = 172.0
|
||||
margin_bottom = 40.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="."]
|
||||
margin_left = 7.0
|
||||
margin_top = 7.0
|
||||
margin_right = 315.0
|
||||
margin_bottom = 500.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="HBox" type="HBoxContainer" parent="VBox"]
|
||||
margin_right = 308.0
|
||||
margin_bottom = 335.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="View" type="TextureRect" parent="VBox/HBox"]
|
||||
margin_right = 99.0
|
||||
margin_bottom = 335.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 1 )
|
||||
expand = true
|
||||
|
||||
[node name="PDA" type="PanelContainer" parent="VBox/HBox"]
|
||||
margin_left = 103.0
|
||||
margin_right = 308.0
|
||||
margin_bottom = 335.0
|
||||
rect_min_size = Vector2( 205, 335 )
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme = SubResource( 1 )
|
||||
custom_styles/panel = SubResource( 2 )
|
||||
|
||||
[node name="Messages" type="RichTextLabel" parent="VBox"]
|
||||
margin_top = 339.0
|
||||
margin_right = 308.0
|
||||
margin_bottom = 339.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
text = "You are in the Customs Office.
|
||||
WARNING: You have no light source.
|
||||
Dan is hungry. You should feed him soon."
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="HBox2" type="HBoxContainer" parent="VBox"]
|
||||
margin_top = 343.0
|
||||
margin_right = 308.0
|
||||
margin_bottom = 493.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="VBox/HBox2"]
|
||||
margin_right = 154.0
|
||||
margin_bottom = 150.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="WhatNow" type="Label" parent="VBox/HBox2/VBox"]
|
||||
margin_right = 154.0
|
||||
margin_bottom = 73.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
text = "What will you do now...?"
|
||||
|
||||
[node name="Action" type="GridContainer" parent="VBox/HBox2/VBox"]
|
||||
margin_top = 77.0
|
||||
margin_right = 154.0
|
||||
margin_bottom = 150.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
columns = 2
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="Partner" type="TextureRect" parent="VBox/HBox2"]
|
||||
margin_left = 158.0
|
||||
margin_right = 308.0
|
||||
margin_bottom = 150.0
|
||||
rect_min_size = Vector2( 150, 150 )
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 1 )
|
||||
expand = true
|
@ -0,0 +1,33 @@
|
||||
extends Control
|
||||
|
||||
# Lemonland Shoutbox UI
|
||||
|
||||
onready var chat_display = $VBox/ChatDisplay
|
||||
onready var chat_input = $VBox/ChatInput
|
||||
onready var leave_button = $VBox/VBox/HBox/LeaveButton
|
||||
onready var join_button = $VBox/VBox/HBox/JoinButton
|
||||
onready var username = $VBox/VBox/HBox/Name
|
||||
|
||||
func display_message(packet): # shout, alert, server_message, user_joined, user_left
|
||||
if packet['type'] == "shout":
|
||||
chat_display.text += packet['name'] + ": " + packet['message'] + "\n"
|
||||
else:
|
||||
chat_display.text += packet['message'] + "\n"
|
||||
|
||||
func join_chat():
|
||||
if !username.text:
|
||||
display_message({'type': "alert", "message": "!!! Enter your username before joining chat."})
|
||||
else:
|
||||
get_parent().join_chat(username.text)
|
||||
chat_input.show()
|
||||
join_button.hide()
|
||||
username.hide()
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventKey and get_parent().chat_name:
|
||||
if event.pressed and event.scancode == KEY_ENTER:
|
||||
get_parent().send_message(chat_input.text)
|
||||
chat_input.text = ""
|
||||
|
||||
func _ready():
|
||||
join_button.connect("button_up", self, "join_chat")
|
@ -0,0 +1,87 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://UI/Shoutbox/Shoutbox.gd" type="Script" id=1]
|
||||
[ext_resource path="res://UI/Label.gd" type="Script" id=2]
|
||||
[ext_resource path="res://UI/Button.gd" type="Script" id=3]
|
||||
[ext_resource path="res://UI/LineEdit.gd" type="Script" id=4]
|
||||
|
||||
[node name="Shoutbox" type="PanelContainer"]
|
||||
margin_left = 502.0
|
||||
margin_right = 786.0
|
||||
margin_bottom = 586.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="."]
|
||||
margin_left = 7.0
|
||||
margin_top = 7.0
|
||||
margin_right = 277.0
|
||||
margin_bottom = 579.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBox"]
|
||||
margin_right = 270.0
|
||||
margin_bottom = 14.0
|
||||
size_flags_horizontal = 3
|
||||
align = 1
|
||||
script = ExtResource( 2 )
|
||||
tl = "sbshou"
|
||||
|
||||
[node name="ChatDisplay" type="TextEdit" parent="VBox"]
|
||||
margin_top = 18.0
|
||||
margin_right = 270.0
|
||||
margin_bottom = 568.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
readonly = true
|
||||
show_line_numbers = true
|
||||
wrap_enabled = true
|
||||
|
||||
[node name="ChatInput" type="LineEdit" parent="VBox"]
|
||||
visible = false
|
||||
margin_top = 520.0
|
||||
margin_right = 270.0
|
||||
margin_bottom = 544.0
|
||||
size_flags_horizontal = 3
|
||||
script = ExtResource( 4 )
|
||||
tl = "sbchin"
|
||||
|
||||
[node name="VBox" type="VBoxContainer" parent="VBox"]
|
||||
margin_top = 572.0
|
||||
margin_right = 270.0
|
||||
margin_bottom = 572.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="HBox" type="HBoxContainer" parent="VBox/VBox"]
|
||||
margin_right = 270.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Name" type="LineEdit" parent="VBox/VBox/HBox"]
|
||||
visible = false
|
||||
margin_right = 270.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
expand_to_text_length = true
|
||||
placeholder_text = "Username"
|
||||
|
||||
[node name="JoinButton" type="Button" parent="VBox/VBox/HBox"]
|
||||
visible = false
|
||||
margin_left = 137.0
|
||||
margin_right = 270.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
text = "join"
|
||||
script = ExtResource( 3 )
|
||||
tl = "sbjoin"
|
||||
|
||||
[node name="LeaveButton" type="Button" parent="VBox/VBox/HBox"]
|
||||
visible = false
|
||||
margin_left = 118.0
|
||||
margin_right = 645.0
|
||||
margin_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Leave"
|
||||
script = ExtResource( 3 )
|
||||
tl = "sbleav"
|
@ -0,0 +1,7 @@
|
||||
[gd_resource type="Environment" load_steps=2 format=2]
|
||||
|
||||
[sub_resource type="ProceduralSky" id=1]
|
||||
|
||||
[resource]
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
@ -0,0 +1,24 @@
|
||||
[preset.0]
|
||||
|
||||
name="Linux/X11"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../Exports/Lemonland/Lemonland.x86_64"
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
binary_format/64_bits=true
|
||||
binary_format/embed_pck=false
|
||||
texture_format/bptc=false
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
texture_format/no_bptc_fallbacks=true
|
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.png"
|
||||
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
@ -0,0 +1,35 @@
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=4
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Shoutbox"
|
||||
run/main_scene="res://Lemon.tscn"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/width=170
|
||||
|
||||
[gui]
|
||||
|
||||
common/drop_mouse_on_gui_input_disabled=true
|
||||
|
||||
[locale]
|
||||
|
||||
translations=PoolStringArray( "res://Res/Text/Text.en.translation", "res://Res/Text/Text.pr.translation" )
|
||||
|
||||
[physics]
|
||||
|
||||
common/enable_pause_aware_picking=true
|
||||
|
||||
[rendering]
|
||||
|
||||
environment/default_environment="res://default_env.tres"
|
Loading…
Reference in New Issue