mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-12-01 18:15:41 +00:00
65 lines
2.8 KiB
GDScript
65 lines
2.8 KiB
GDScript
extends Control
|
|
|
|
|
|
var file := FileAccess
|
|
var bios_tempfile : String
|
|
var bios_result: Dictionary
|
|
var command: String = "../../tools/retrodeck_function_wrapper.sh"
|
|
var console: bool = false
|
|
var BIOS_COLUMNS_BASIC := ["BIOS File Name", "System", "Found", "Hash Match", "Description"]
|
|
var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash Match", "Description", "Subdirectory", "Hash"]
|
|
@onready var bios_type:int = get_tree().current_scene.bios_type
|
|
@onready var custom_theme: Theme = get_tree().current_scene.custom_theme
|
|
|
|
func _ready():
|
|
$".".theme = custom_theme
|
|
#Check if XDG_RUNTIME_DIR is set and choose temp file location
|
|
if OS.has_environment("XDG_RUNTIME_DIR"):
|
|
#bios_tempfile = OS.get_environment("XDG_RUNTIME_DIR") + "/godot_temp/godot_bios_files_checked.tmp"
|
|
bios_tempfile = "/var/config/retrodeck/godot/godot_bios_files_checked.tmp"
|
|
else:
|
|
bios_tempfile = "/var/config/retrodeck/godot/godot_bios_files_checked.tmp"
|
|
|
|
var table := $Table
|
|
|
|
if bios_type == 0: #Basic BIOS button pressed
|
|
table.columns = BIOS_COLUMNS_BASIC.size()
|
|
for i in BIOS_COLUMNS_BASIC.size():
|
|
table.set_column_title(i, BIOS_COLUMNS_BASIC[i])
|
|
else: #Assume advanced BIOS button pressed
|
|
table.columns = BIOS_COLUMNS_EXPERT.size()
|
|
for i in BIOS_COLUMNS_EXPERT.size():
|
|
table.set_column_title(i, BIOS_COLUMNS_EXPERT[i])
|
|
|
|
var root = table.create_item()
|
|
table.hide_root = true
|
|
|
|
if bios_type == 0: #Basic BIOS button pressed
|
|
#OS.execute("/app/tools/retrodeck_function_wrapper.sh",["check_bios_files", "basic"])
|
|
#var parameters = ["log", "i", "Configurator: " + "check_bios_files"]
|
|
# classFunctions.execute_command(command, parameters, false)
|
|
var parameters = ["check_bios_files","basic"]
|
|
#class_functions.execute_command(command, parameters, false)
|
|
#threaded
|
|
await run_thread_command(command, parameters, console)
|
|
else: #Assume advanced BIOS button pressed
|
|
var parameters = ["check_bios_files"]
|
|
class_functions.execute_command(command, parameters, false)
|
|
await run_thread_command(command, parameters, console)
|
|
#OS.execute("/app/tools/retrodeck_function_wrapper.sh",["check_bios_files"])
|
|
print (bios_result["output"])
|
|
if file.file_exists(bios_tempfile): #File to be removed after script is done
|
|
var bios_list = bios_result["output"]
|
|
var bios_lines = bios_list.split("\n")
|
|
for line in bios_lines:
|
|
var bios_line = line.split("^")
|
|
var table_line: TreeItem = table.create_item(root)
|
|
for i in bios_line.size():
|
|
table_line.set_text(i, bios_line[i])
|
|
if table_line.get_index() % 2 == 1:
|
|
table_line.set_custom_bg_color(i,Color(0.15, 0.15, 0.15, 1),false)
|
|
table_line.set_custom_color(i,Color(1,1,1,1))
|
|
|
|
func run_thread_command(command: String, parameters: Array, console: bool) -> void:
|
|
bios_result = await class_functions.run_command_in_thread(command, parameters, console)
|