mirror of
				https://github.com/RetroDECK/RetroDECK.git
				synced 2025-04-10 19:15:12 +00:00 
			
		
		
		
	 7f9531aaf7
			
		
	
	
		7f9531aaf7
		
	
	
	
	
		
			
			Changes to be committed: modified: tools/configurator/components/bios_check/bios_check.gd new file: tools/configurator/components/logs.tscn new file: tools/configurator/components/logs/logs_popup_content.tscn modified: tools/configurator/components/popup.tscn modified: tools/configurator/data_list.json deleted: tools/configurator/export/data_list.json modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
| extends Control
 | |
| 
 | |
| 
 | |
| var file := FileAccess
 | |
| var bios_tempfile : String
 | |
| 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"):
 | |
| 		#temporary hack for Tim
 | |
| 		# This uses tempfs system revisit
 | |
| 		#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"]
 | |
| 		#result = classFunctions.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"])
 | |
| 	
 | |
| 	if file.file_exists(bios_tempfile): #File to be removed after script is done
 | |
| 		var bios_list := file.open(bios_tempfile, FileAccess.READ)
 | |
| 		var bios_line := []
 | |
| 		while ! bios_list.eof_reached():
 | |
| 			bios_line = bios_list.get_csv_line("^")
 | |
| 			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:
 | |
| 	var result = await class_functions.run_command_in_thread(command, parameters, console)
 |