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