mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-10-26 09:20:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
| @tool
 | |
| class_name ModToolInterfaceHookGen
 | |
| extends Window
 | |
| 
 | |
| 
 | |
| signal hooks_exist_pressed
 | |
| 
 | |
| @onready var mod_tool_store: ModToolStore = get_node_or_null("/root/ModToolStore")
 | |
| @onready var info_output: RichTextLabel = %InfoOutput
 | |
| @onready var restart: Window = %Restart
 | |
| @onready var button_gen_start: Button = %ButtonGenStart
 | |
| 
 | |
| 
 | |
| func generate_hooks() -> void:
 | |
| 	# Get all script not in addons or mods-unpacked
 | |
| 	var all_script_file_paths := ModToolUtils.get_flat_view_dict("res://", "", [&"gd"], false, false, [&"addons", &"mods-unpacked"])
 | |
| 
 | |
| 	for script_file_path in all_script_file_paths:
 | |
| 		if mod_tool_store.hooked_scripts.has(script_file_path):
 | |
| 			info_output.add_text("Skipping - Hooks already exists for \"%s\" \n" % script_file_path)
 | |
| 			continue
 | |
| 
 | |
| 		var error := ModToolHookGen.transform_one(script_file_path, mod_tool_store)
 | |
| 
 | |
| 		if not error == OK:
 | |
| 			info_output.add_text("ERROR: Accessing file at path \"%s\" failed with error: %s \n" % [script_file_path, error_string(error)])
 | |
| 		else:
 | |
| 			info_output.add_text("Added Hooks for \"%s\" \n" % script_file_path)
 | |
| 
 | |
| 	mod_tool_store.is_hook_generation_done = true
 | |
| 	info_output.add_text("Mod Hook generation completed successfully!\n")
 | |
| 
 | |
| 	mod_tool_store.save_store()
 | |
| 	restart.show()
 | |
| 
 | |
| 
 | |
| func _on_button_pressed() -> void:
 | |
| 	button_gen_start.disabled = true
 | |
| 	generate_hooks()
 | |
| 
 | |
| 
 | |
| func _on_close_requested() -> void:
 | |
| 	hide()
 | |
| 
 | |
| 
 | |
| func _on_button_restart_now_pressed() -> void:
 | |
| 	await get_tree().create_timer(1.0).timeout
 | |
| 	EditorInterface.restart_editor()
 | |
| 
 | |
| 
 | |
| func _on_button_restart_later_pressed() -> void:
 | |
| 	restart.hide()
 | |
| 	hide()
 | |
| 
 | |
| 
 | |
| func _on_restart_close_requested() -> void:
 | |
| 	restart.hide()
 | |
| 
 | |
| 
 | |
| func _on_button_hooks_exist_pressed() -> void:
 | |
| 	mod_tool_store.is_hook_generation_done = true
 | |
| 	hooks_exist_pressed.emit()
 | |
| 	hide()
 | 
