Alpha 0.2.0, Added Server List

This commit is contained in:
Lachrymogenic 2022-09-19 12:44:14 +01:00
parent 482ad661c3
commit 717f3b2550
3 changed files with 366 additions and 21 deletions

View File

@ -22,3 +22,44 @@ texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/no_bptc_fallbacks=true
[preset.1]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../Documents/novetus/NovetusFE/NovetusFE.exe"
script_export_mode=1
script_encryption_key=""
[preset.1.options]
custom_template/debug=""
custom_template/release=""
binary_format/64_bits=true
binary_format/embed_pck=true
texture_format/bptc=false
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
texture_format/no_bptc_fallbacks=true
codesign/enable=false
codesign/identity=""
codesign/password=""
codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PoolStringArray( )
application/icon=""
application/file_version=""
application/product_version=""
application/company_name=""
application/product_name=""
application/file_description=""
application/copyright=""
application/trademarks=""

View File

@ -13,6 +13,12 @@ var Drive = "Z:"
var Version = "2009E"
var PlayerName = "Noob"
var Map = ""
var NewServerTexture = load("res://textures/charcustom.png")
var NewServerTexturePath
var NewServerIcons = []
var ServerIndex
var Servers
var serverconfig = ConfigFile.new()
onready var WorkingDirectory = OS.get_executable_path().get_base_dir()
func _ready():
@ -58,6 +64,7 @@ func _ready():
$Background/Info.text = $Background/Info.text.replace("%PLAYER%",PlayerName)
$Background/Info.text = $Background/Info.text.replace("%CLIENT%",Version)
$Background/Info.text = $Background/Info.text.replace("%MAP%",Map)
$Main/Serverlist/Versions.text = Version
$Main/Menu.visible = false
func customconfig(configfile):
@ -75,13 +82,21 @@ func loadconfig(arg):
return
match arg:
"/NovetusFE/nfeconfig.ini":
for i in config.get_sections():
LinuxWinePrefix = config.get_value(i, "wineprefix")
LinuxWinePath = config.get_value(i, "wine_exec_path")
LinuxTerminal = config.get_value(i, "terminal")
LinuxWinePrefix = config.get_value("Linux Settings", "wineprefix")
LinuxWinePath = config.get_value("Linux Settings", "wine_exec_path")
LinuxTerminal = config.get_value("Linux Settings", "terminal")
NewServerIcons = config.get_value("General Settings", "savedicons")
for i in $Main/AddServerWindow/ScrollContainer/HBoxContainer.get_children():
if i is TextureButton:
i.queue_free()
for i in NewServerIcons:
imageadd(i)
$"Main/Settings/Linux Settings/Panel/WPBox".text = LinuxWinePrefix
$"Main/Settings/Linux Settings/Panel/WPBox2".text = LinuxWinePath
$"Main/Settings/Linux Settings/Panel/CheckBox".pressed = LinuxTerminal
"/NovetusFE/servers.ini":
for i in config.get_sections():
$Main/Serverlist/ItemList.add_item(i,pathtoimage(config.get_value(i,"icon","res://textures/charcustom.png")))
func main_item_activated(index):
match $Main/Menu/ItemList.get_item_text(index):
@ -154,14 +169,17 @@ func Back_pressed():
func _on_Save_pressed():
saveconfig()
func saveconfig():
var config = ConfigFile.new()
config.set_value("Linux Settings", "wineprefix", $"Main/Settings/Linux Settings/Panel/WPBox".text)
config.set_value("Linux Settings", "wine_exec_path", $"Main/Settings/Linux Settings/Panel/WPBox2".text)
config.set_value("Linux Settings", "terminal", $"Main/Settings/Linux Settings/Panel/CheckBox".pressed)
config.set_value("General Settings", "savedicons", NewServerIcons)
config.save(WorkingDirectory + "/NovetusFE/nfeconfig.ini")
if CTheme != null: get_tree().change_scene_to(CTheme)
func _on_ThemeButton_pressed():
pass # Replace with function body.
@ -205,6 +223,7 @@ func versionslist_activated(index):
$Background/Info.text = "Hello, %PLAYER%! Client Selected: %CLIENT%, Map Selected: %MAP%"
$Background/Info.text = $Background/Info.text.replace("%PLAYER%",PlayerName)
$Background/Info.text = $Background/Info.text.replace("%CLIENT%",Version)
$Main/Serverlist/Versions.text = Version
$Background/Info.text = $Background/Info.text.replace("%MAP%",$Main/Maps.current_file)
func studio_item_activated(index):
@ -254,12 +273,13 @@ func _on_Maps_confirmed():
func DirectConnect_Join_pressed():
var ip = $Main/DirectConnectWindow/LineEdit.text.split(":")[0].to_ascii().get_string_from_ascii()
var port = $Main/DirectConnectWindow/LineEdit.text.split(":")[1].to_ascii().get_string_from_ascii()
var uri = Marshalls.utf8_to_base64(ip) + "|" + Marshalls.utf8_to_base64(port) + "|" + Marshalls.utf8_to_base64(Version)
uri = Marshalls.utf8_to_base64(uri)
var uri = to_uri($Main/DirectConnectWindow/LineEdit.text.split(":")[0].to_ascii().get_string_from_ascii(),$Main/DirectConnectWindow/LineEdit.text.split(":")[1].to_ascii().get_string_from_ascii())
launch("/bin/NovetusURI.exe novetus://" + uri)
func to_uri(ip, port):
var uri = Marshalls.utf8_to_base64(ip) + "|" + Marshalls.utf8_to_base64(port) + "|" + Marshalls.utf8_to_base64(Version)
uri = Marshalls.utf8_to_base64(uri)
return uri
func _on_DirectConnect_pressed():
$Main/DirectConnectWindow.popup()
@ -267,7 +287,9 @@ func _on_DirectConnect_pressed():
func multiplayert_item_activated(index):
match $Main/Multiplayer/ItemList.get_item_text(index):
"Join":
$Main/DirectConnectWindow.popup()
#$Main/DirectConnectWindow.popup()
$Main/Serverlist.popup()
refreshserverlist()
"Back":
menu("")
@ -277,3 +299,102 @@ func DirectConnect_Close_pressed():
func Firsttime_Button_pressed():
$Main/Menu.visible = true
func _on_AddServer_pressed():
$Main/AddServerWindow.popup()
func new_icon_pressed():
$Main/AddServerWindow/ImageSelect.current_dir = WorkingDirectory
$Main/AddServerWindow/ImageSelect.popup()
func _on_ImageSelect_file_selected(path):
NewServerIcons.append(path)
imageadd(path)
func imageadd(path):
NewServerTexturePath = path
var t = TextureButton.new()
t.texture_normal = pathtoimage(path,[56,56])
$Main/AddServerWindow/ScrollContainer/HBoxContainer.add_child(t)
NewServerTexture = t.texture_normal
t.connect("pressed",self,"icon_pressed",[t.texture_normal,t])
func pathtoimage(path,resize=null):
var img = Image.new()
var err = img.load(path)
if(err != 0):
print("error loading the image")
return null
if resize != null:
img.resize(resize[0],resize[1])
var img_tex = ImageTexture.new()
img_tex.create_from_image(img)
return img_tex
func icon_pressed(icon,node):
NewServerTexture = icon
for i in $Main/AddServerWindow/ScrollContainer/HBoxContainer.get_children():
if i is TextureButton:
i.modulate = Color("707070")
node.modulate = Color("ffffff")
print("pressed")
func AddServer_Close_pressed():
$Main/AddServerWindow.visible = false
func _on_Add_Server_pressed():
if $Main/AddServerWindow/LineEdit.text == "": return
saveconfig()
addtoserverlist($Main/AddServerWindow/LineEdit2.text,NewServerTexture)
func refreshserverlist():
$Main/Serverlist/ItemList.clear()
loadconfig("/NovetusFE/servers.ini")
func addtoserverlist(servername, icon):
if f.file_exists(WorkingDirectory + "/NovetusFE/servers.ini"):
serverconfig.load(WorkingDirectory + "/NovetusFE/servers.ini")
#var uri = to_uri($Main/AddServerWindow/LineEdit.text.split(":")[0].to_ascii().get_string_from_ascii(),$Main/AddServerWindow/LineEdit.text.split(":")[1].to_ascii().get_string_from_ascii())
var port
if ":" in $Main/AddServerWindow/LineEdit.text:
port = $Main/AddServerWindow/LineEdit.text.split(":")[1].to_ascii().get_string_from_ascii()
else:
port = "53640"
var ip = $Main/AddServerWindow/LineEdit.text.split(":")[0].to_ascii().get_string_from_ascii()
#var port = $Main/AddServerWindow/LineEdit.text.split(":")[1].to_ascii().get_string_from_ascii()
#serverconfig.set_value(servername, "uri", "novetus://" + uri)
serverconfig.set_value(servername, "ip", ip)
serverconfig.set_value(servername, "port", port)
serverconfig.set_value(servername, "icon", NewServerTexturePath)
serverconfig.save(WorkingDirectory + "/NovetusFE/servers.ini")
refreshserverlist()
#$Main/Serverlist/ItemList.add_item(servername,icon)
#print($Main/Serverlist/ItemList.items[servername])
func mplist_item_selected(index):
$Main/Serverlist/Join.disabled = false
$Main/Serverlist/Edit.disabled = false
ServerIndex = index
func _on_Join_pressed():
$Overlay.visible = true
yield(get_tree().create_timer(1),"timeout")
var e = $Main/Serverlist/ItemList.get_item_text(ServerIndex)
serverconfig.load(WorkingDirectory + "/NovetusFE/servers.ini")
launch("/bin/NovetusURI.exe " + to_uri(serverconfig.get_value(e,"ip"),serverconfig.get_value(e,"port")))
$Overlay.visible = false
func multi_Versions_pressed():
$Main/Serverlist/Versions.text = Version
$Main/VersionsWindow.popup()
func multi_closed():
$Main/Serverlist.visible = false

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=76 format=2]
[gd_scene load_steps=81 format=2]
[ext_resource path="res://textures/hZZ7X7.png" type="Texture" id=1]
[ext_resource path="res://textures/multiplayer.png" type="Texture" id=2]
@ -377,6 +377,19 @@ border_width_top = 2
border_width_right = 2
border_width_bottom = 2
[sub_resource type="StyleBoxFlat" id=73]
bg_color = Color( 0.027451, 0.0235294, 0.109804, 1 )
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
[sub_resource type="DynamicFont" id=68]
size = 18
font_data = ExtResource( 6 )
[sub_resource type="StyleBoxEmpty" id=72]
[sub_resource type="DynamicFont" id=63]
size = 20
font_data = ExtResource( 6 )
@ -397,6 +410,19 @@ border_width_top = 2
border_width_right = 2
border_width_bottom = 2
[sub_resource type="DynamicFont" id=74]
size = 17
font_data = ExtResource( 6 )
[sub_resource type="StyleBoxFlat" id=75]
content_margin_top = 12.0
content_margin_bottom = 12.0
bg_color = Color( 0.0666667, 0.0352941, 0.227451, 1 )
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
[sub_resource type="DynamicFont" id=22]
size = 30
font_data = ExtResource( 6 )
@ -543,7 +569,7 @@ margin_bottom = 376.0
custom_fonts/normal_font = SubResource( 67 )
text = "Hello and welcome to NovetusFE, an optional Launcher for Novetus. Essentially, its just a frontend for all the heavy lifting and hard work that Bitl does, but I decided to be fancy and make my own frontend for looks. Well, aside from that, I do have big plans, but I would like to welcome you to NovetusFE.
This is the first alpha release, 0.1.0, many things are not implemented yet, broken, or poorly optimized, and I am aware, and working towards fixing it and improving everything.
This is Alpha 0.2.0, the Server List update, obviously I took some inspiration from Minecraft.
Welp, thats everything I have to say for now, checking for updates will come in a future version, so what can you do in NovetusFE? Join servers. Thats it, for now. Everything else is just kind of incomplete at the moment but I wanted to release to github so others could see the code, give me recommendations and in general, just have it be open source.
@ -594,7 +620,7 @@ margin_bottom = 288.0
custom_fonts/font = SubResource( 11 )
custom_styles/selected_focus = ExtResource( 9 )
custom_styles/bg = SubResource( 9 )
items = [ "Multiplayer", ExtResource( 2 ), false, "Studio (Coming Soon)", ExtResource( 4 ), false, "Character Customization (Coming Soon)", ExtResource( 3 ), false, "Settings", ExtResource( 5 ), false, "Workshop (Coming Soon)", ExtResource( 5 ), false ]
items = [ "Multiplayer", ExtResource( 2 ), false, "Studio (Coming Soon)", ExtResource( 4 ), true, "Character Customization (Coming Soon)", ExtResource( 3 ), true, "Settings", ExtResource( 5 ), false, "Workshop (Coming Soon)", ExtResource( 5 ), true ]
fixed_icon_size = Vector2( 64, 64 )
__meta__ = {
"_edit_use_anchors_": false
@ -632,7 +658,7 @@ margin_bottom = 288.0
custom_fonts/font = SubResource( 11 )
custom_styles/selected_focus = ExtResource( 9 )
custom_styles/bg = SubResource( 9 )
items = [ "Join", ExtResource( 2 ), false, "Host (Coming Soon)", ExtResource( 3 ), false, "Back", ExtResource( 5 ), false ]
items = [ "Join", ExtResource( 2 ), false, "Host (Coming Soon)", ExtResource( 3 ), true, "Back", ExtResource( 5 ), false ]
fixed_icon_size = Vector2( 64, 64 )
__meta__ = {
"_edit_use_anchors_": false
@ -1179,6 +1205,7 @@ margin_left = -266.0
margin_top = -104.0
margin_right = 318.0
margin_bottom = 296.0
window_title = "Server List"
[node name="Panel" type="Panel" parent="Main/Serverlist"]
margin_right = 584.0
@ -1188,13 +1215,24 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="Panel2" type="Panel" parent="Main/Serverlist"]
margin_right = 584.0
margin_bottom = 296.0
custom_styles/panel = SubResource( 73 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ItemList" type="ItemList" parent="Main/Serverlist"]
margin_right = 584.0
margin_bottom = 296.0
custom_fonts/font = SubResource( 11 )
custom_colors/font_color = Color( 0.803922, 0.803922, 0.803922, 1 )
custom_fonts/font = SubResource( 68 )
custom_styles/selected_focus = ExtResource( 9 )
custom_styles/bg = SubResource( 30 )
items = [ "Lachry's Server", ExtResource( 3 ), false, "Lach server 2", ExtResource( 3 ), false ]
custom_styles/bg = SubResource( 72 )
items = [ "Lachry's Server", ExtResource( 3 ), false, "Enufs Awesome Server", ExtResource( 3 ), false ]
max_text_lines = 2
fixed_column_width = 500
fixed_icon_size = Vector2( 64, 64 )
__meta__ = {
"_edit_use_anchors_": false
@ -1233,6 +1271,9 @@ custom_styles/hover = SubResource( 55 )
custom_styles/disabled = SubResource( 64 )
custom_styles/normal = SubResource( 56 )
text = "Add Server"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Close" type="Button" parent="Main/Serverlist"]
margin_left = 392.0
@ -1256,8 +1297,11 @@ custom_styles/disabled = SubResource( 64 )
custom_styles/normal = SubResource( 56 )
disabled = true
text = "Edit"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Browser" type="Button" parent="Main/Serverlist"]
[node name="Versions" type="Button" parent="Main/Serverlist"]
margin_left = 216.0
margin_top = 352.0
margin_right = 376.0
@ -1266,8 +1310,7 @@ custom_fonts/font = SubResource( 63 )
custom_styles/hover = SubResource( 55 )
custom_styles/disabled = SubResource( 64 )
custom_styles/normal = SubResource( 56 )
disabled = true
text = "Online Browser"
text = "Version"
[node name="DirectConnectWindow" type="WindowDialog" parent="Main"]
anchor_left = 0.5
@ -1325,6 +1368,138 @@ margin_bottom = 46.0
custom_fonts/font = ExtResource( 8 )
text = "Server Address"
[node name="AddServerWindow" type="WindowDialog" parent="Main"]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -150.0
margin_top = -72.0
margin_right = 149.0
margin_bottom = 204.0
window_title = "Add Server"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Panel" type="Panel" parent="Main/AddServerWindow"]
margin_right = 296.0
margin_bottom = 276.0
custom_styles/panel = SubResource( 62 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="LineEdit" type="LineEdit" parent="Main/AddServerWindow"]
margin_left = 16.0
margin_top = 188.0
margin_right = 280.0
margin_bottom = 212.0
custom_styles/normal = SubResource( 65 )
placeholder_text = "localhost:53640"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="LineEdit2" type="LineEdit" parent="Main/AddServerWindow"]
margin_left = 16.0
margin_top = 124.0
margin_right = 280.0
margin_bottom = 148.0
custom_styles/normal = SubResource( 65 )
placeholder_text = "Novetus"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Add Server" type="Button" parent="Main/AddServerWindow"]
margin_left = 16.0
margin_top = 228.0
margin_right = 144.0
margin_bottom = 258.0
custom_fonts/font = SubResource( 63 )
custom_styles/hover = SubResource( 55 )
custom_styles/disabled = SubResource( 64 )
custom_styles/normal = SubResource( 56 )
text = "Add Server"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Close" type="Button" parent="Main/AddServerWindow"]
margin_left = 152.0
margin_top = 228.0
margin_right = 280.0
margin_bottom = 258.0
custom_fonts/font = SubResource( 63 )
custom_styles/hover = SubResource( 55 )
custom_styles/disabled = SubResource( 64 )
custom_styles/normal = SubResource( 56 )
text = "Close"
[node name="Label" type="Label" parent="Main/AddServerWindow"]
margin_left = 16.0
margin_top = 156.0
margin_right = 280.0
margin_bottom = 180.0
custom_fonts/font = ExtResource( 8 )
text = "Server Address"
[node name="Label3" type="Label" parent="Main/AddServerWindow"]
margin_left = 16.0
margin_top = 92.0
margin_right = 280.0
margin_bottom = 116.0
custom_fonts/font = ExtResource( 8 )
text = "Server Name"
[node name="Label2" type="Label" parent="Main/AddServerWindow"]
margin_left = 16.0
margin_top = 12.0
margin_right = 280.0
margin_bottom = 36.0
custom_fonts/font = ExtResource( 8 )
text = "Icons"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ImageSelect" type="FileDialog" parent="Main/AddServerWindow"]
margin_left = -154.0
margin_top = -60.0
margin_right = 470.0
margin_bottom = 340.0
window_title = "Select an Image"
mode_overrides_title = false
mode = 0
access = 2
filters = PoolStringArray( "*.png" )
current_dir = "/home/lachrymogenic/NovetusFE"
current_path = "/home/lachrymogenic/NovetusFE/"
[node name="ScrollContainer" type="ScrollContainer" parent="Main/AddServerWindow"]
margin_left = 16.0
margin_top = 36.0
margin_right = 280.0
margin_bottom = 92.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="HBoxContainer" type="HBoxContainer" parent="Main/AddServerWindow/ScrollContainer"]
margin_right = 50.0
margin_bottom = 45.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Button" type="Button" parent="Main/AddServerWindow/ScrollContainer/HBoxContainer"]
margin_right = 50.0
margin_bottom = 45.0
custom_fonts/font = SubResource( 74 )
custom_styles/normal = SubResource( 75 )
text = " New "
[node name="Overlay" type="Control" parent="."]
visible = false
anchor_left = 0.5
@ -1367,7 +1542,15 @@ text = "Starting Novetus..."
[connection signal="item_selected" from="Main/Settings/General Settings/Panel/OptionButton" to="." method="_on_OptionButton_item_selected"]
[connection signal="item_activated" from="Main/VersionsWindow/Versions/ItemList" to="." method="versionslist_activated"]
[connection signal="confirmed" from="Main/Maps" to="." method="_on_Maps_confirmed"]
[connection signal="item_activated" from="Main/Serverlist/ItemList" to="." method="versionslist_activated"]
[connection signal="item_selected" from="Main/Serverlist/ItemList" to="." method="mplist_item_selected"]
[connection signal="pressed" from="Main/Serverlist/Join" to="." method="_on_Join_pressed"]
[connection signal="pressed" from="Main/Serverlist/DirectConnect" to="." method="_on_DirectConnect_pressed"]
[connection signal="pressed" from="Main/Serverlist/AddServer" to="." method="_on_AddServer_pressed"]
[connection signal="pressed" from="Main/Serverlist/Close" to="." method="multi_closed"]
[connection signal="pressed" from="Main/Serverlist/Versions" to="." method="multi_Versions_pressed"]
[connection signal="pressed" from="Main/DirectConnectWindow/Join" to="." method="DirectConnect_Join_pressed"]
[connection signal="pressed" from="Main/DirectConnectWindow/Close" to="." method="DirectConnect_Close_pressed"]
[connection signal="pressed" from="Main/AddServerWindow/Add Server" to="." method="_on_Add_Server_pressed"]
[connection signal="pressed" from="Main/AddServerWindow/Close" to="." method="AddServer_Close_pressed"]
[connection signal="file_selected" from="Main/AddServerWindow/ImageSelect" to="." method="_on_ImageSelect_file_selected"]
[connection signal="pressed" from="Main/AddServerWindow/ScrollContainer/HBoxContainer/Button" to="." method="new_icon_pressed"]