Committed current work (Too many changes to count)
This commit is contained in:
parent
23e9470988
commit
b209fcaf7e
75
Main_menu.gd
75
Main_menu.gd
@ -1,11 +1,78 @@
|
||||
extends Control
|
||||
|
||||
onready var Version_menu = $Panel/Version_menu
|
||||
var newest_version
|
||||
var newest_version_data
|
||||
var newest_local_version = Versions.get_versions().max()
|
||||
var os_name
|
||||
var suffix
|
||||
|
||||
func _process(delta):
|
||||
if newest_version != null:
|
||||
newest_local_version = Versions.get_versions().max()
|
||||
if newest_local_version:
|
||||
if newest_version > newest_local_version:
|
||||
$Panel/Play_button.text = "Update"
|
||||
else:
|
||||
$Panel/Play_button.text = "Play"
|
||||
|
||||
func _ready():
|
||||
for version in Versions.get_versions():
|
||||
$Panel/Version_menu.add_item(version)
|
||||
if OS.get_name() == "X11":
|
||||
os_name = "linux"
|
||||
elif OS.get_name() == "Windows":
|
||||
os_name = "windows"
|
||||
|
||||
var versions_request = HTTPRequest.new()
|
||||
add_child(versions_request)
|
||||
|
||||
versions_request.connect("request_completed", self, "_versions_request_completed")
|
||||
var error = versions_request.request("https://code.retroedge.tech/api/v1/repos/UltraFlare/UltraFlare/releases?draft=false&pre-release=true&limit=1")
|
||||
|
||||
func _versions_request_completed(result, response_code, headers, body):
|
||||
var data = JSON.parse(body.get_string_from_ascii()).result
|
||||
newest_version = data[0].tag_name
|
||||
newest_version_data = data[0]
|
||||
|
||||
func _download_request_completed(result, response_code, headers, body):
|
||||
#if OS.get_name() == "X11":
|
||||
var os_name = "linux"
|
||||
#elif OS.get_name() == "Windows":
|
||||
# var os_name = "windows"
|
||||
|
||||
if os_name == "windows":
|
||||
var suffix = ".exe"
|
||||
else:
|
||||
var suffix = ""
|
||||
|
||||
print("Download complete")
|
||||
var dl_file = File.new()
|
||||
dl_file.open(OS.get_config_dir()+"/UltraFlare/versions/"+newest_version+"/UltraFlare-"+os_name+"-x86_64", 7)
|
||||
dl_file.store_buffer(body)
|
||||
dl_file.close()
|
||||
|
||||
func _on_Play_button_pressed():
|
||||
var version = Version_menu.get_item_text(Version_menu.selected)
|
||||
print(Versions.get_versions())
|
||||
if newest_version:
|
||||
var suffix = ""
|
||||
if os_name == "windows":
|
||||
suffix = ".exe"
|
||||
if newest_version > newest_local_version:
|
||||
var download = HTTPRequest.new()
|
||||
add_child(download)
|
||||
|
||||
download.connect("request_completed", self, "_download_request_completed")
|
||||
|
||||
var url
|
||||
|
||||
for asset in newest_version_data.assets:
|
||||
if asset.name == "UltraFlare-"+os_name+"-x86_64":
|
||||
url = asset.browser_download_url
|
||||
|
||||
var error = download.request(url)
|
||||
|
||||
else:
|
||||
var exit_code = OS.execute(OS.get_config_dir()+"/UltraFlare/versions/"+newest_local_version+"/UltraFlare-"+os_name+"-x86_64"+suffix, [], false)
|
||||
|
||||
if exit_code != -1:
|
||||
get_tree().quit()
|
||||
else:
|
||||
print("Running UltraFlare failed with code: "+exit_code)
|
||||
|
@ -1,11 +1,10 @@
|
||||
[gd_scene load_steps=11 format=2]
|
||||
[gd_scene load_steps=10 format=2]
|
||||
|
||||
[ext_resource path="res://textures/Title-Background.png" type="Texture" id=1]
|
||||
[ext_resource path="res://fonts/SPACEBAR.ttf" type="DynamicFontData" id=2]
|
||||
[ext_resource path="res://Main_menu.gd" type="Script" id=3]
|
||||
[ext_resource path="res://fonts/Title-font.tres" type="DynamicFont" id=4]
|
||||
[ext_resource path="res://themes/Base_theme.tres" type="Theme" id=5]
|
||||
[ext_resource path="res://fonts/retro_gaming.tres" type="DynamicFont" id=7]
|
||||
|
||||
[sub_resource type="Theme" id=1]
|
||||
default_font = ExtResource( 4 )
|
||||
@ -61,14 +60,6 @@ margin_bottom = -24.0
|
||||
theme = ExtResource( 5 )
|
||||
custom_styles/panel = SubResource( 4 )
|
||||
|
||||
[node name="Version_menu" type="OptionButton" parent="Panel"]
|
||||
margin_left = 304.0
|
||||
margin_top = 64.0
|
||||
margin_right = 432.0
|
||||
margin_bottom = 91.0
|
||||
theme = ExtResource( 5 )
|
||||
custom_fonts/font = ExtResource( 7 )
|
||||
|
||||
[node name="Play_button" type="Button" parent="Panel"]
|
||||
margin_left = 288.0
|
||||
margin_top = 8.0
|
||||
|
16
Versions.gd
16
Versions.gd
@ -1,7 +1,10 @@
|
||||
extends Node
|
||||
|
||||
var versions_dir_path = OS.get_config_dir()+"/UltraFlare/versions/"
|
||||
var versions_dir_path = OS.get_config_dir()+"/UltraFlare/versions"
|
||||
var versions_dir = Directory.new()
|
||||
var executable = File.new()
|
||||
var os_name = ""
|
||||
var suffix = ""
|
||||
|
||||
func get_versions():
|
||||
var versions = []
|
||||
@ -10,15 +13,26 @@ func get_versions():
|
||||
|
||||
var file_name = versions_dir.get_next()
|
||||
while file_name != "":
|
||||
if executable.file_exists(versions_dir_path+"/"+file_name+"/UltraFlare-"+os_name+"-x86_64"+suffix):
|
||||
versions.append(file_name)
|
||||
|
||||
file_name = versions_dir.get_next()
|
||||
|
||||
versions_dir.list_dir_end()
|
||||
#versions.sort()
|
||||
|
||||
return versions
|
||||
|
||||
|
||||
func _ready():
|
||||
if OS.get_name() == "X11":
|
||||
os_name = "linux"
|
||||
elif OS.get_name() == "Windows":
|
||||
os_name = "windows"
|
||||
|
||||
if os_name == "windows":
|
||||
suffix = ".exe"
|
||||
|
||||
if not versions_dir.dir_exists(versions_dir_path):
|
||||
versions_dir.make_dir_recursive(versions_dir_path)
|
||||
|
||||
|
0
bin/placeholder.txt
Normal file
0
bin/placeholder.txt
Normal file
Loading…
Reference in New Issue
Block a user