about summary refs log tree commit diff stats
path: root/vendor/godobuf/README
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-23 20:16:05 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-23 20:16:05 -0400
commitfb220e1c75e72a536c19aa1283f905850a91cf44 (patch)
tree9fbb252b32d477b2aa50736d440e84d841ec73c5 /vendor/godobuf/README
parentbb78594a6493338ec6e81fabe5ee2417f6b72284 (diff)
downloadlingo2-archipelago-fb220e1c75e72a536c19aa1283f905850a91cf44.tar.gz
lingo2-archipelago-fb220e1c75e72a536c19aa1283f905850a91cf44.tar.bz2
lingo2-archipelago-fb220e1c75e72a536c19aa1283f905850a91cf44.zip
[Client] Render meshes on minimap
Diffstat (limited to 'vendor/godobuf/README')
0 files changed, 0 insertions, 0 deletions
ful connection' href='/lingo-archipelago/commit/Archipelago/settings_screen.gd?h=v3.0.1&id=679bba3b46ea30a329c617b3cc47645d540a261f'>679bba3 ^
617e31f ^




















679bba3 ^
a80fefd ^

679bba3 ^


a80fefd ^
679bba3 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62







                                                      





                                                                                       
 




                                                                                       




                                                                                 

                                                                                                



                                                                                         

 




















                                                                                                        
                            

                                                     


                                                       
                                                     
                                                                               
extends Spatial


func _ready():
	# Undo the load screen removing our cursor
	get_tree().get_root().set_disable_input(false)
	Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)

	# Create the global AP client, if it doesn't already exist.
	if not global.has_node("Archipelago"):
		var apclient = ResourceLoader.load("user://maps/Archipelago/client.gd")
		var apclient_instance = apclient.new()
		apclient_instance.name = "Archipelago"
		global.add_child(apclient_instance)

		var apdata = ResourceLoader.load("user://maps/Archipelago/gamedata.gd")
		var apdata_instance = apdata.new()
		apdata_instance.name = "Gamedata"
		apclient_instance.add_child(apdata_instance)

		# Let's also inject any scripts we need to inject now.
		installScriptExtension("user://maps/Archipelago/doorControl.gd")
		installScriptExtension("user://maps/Archipelago/load.gd")
		installScriptExtension("user://maps/Archipelago/painting_eye.gd")

	global.get_node("Archipelago").connect("client_connected", self, "connectionSuccessful")

	# Populate textboxes with AP settings.
	self.get_node("Panel/server_box").text = global.get_node("Archipelago").ap_server
	self.get_node("Panel/player_box").text = global.get_node("Archipelago").ap_user
	self.get_node("Panel/password_box").text = global.get_node("Archipelago").ap_pass


# Adapted from https://gitlab.com/Delta-V-Modding/Mods/-/blob/main/game/ModLoader.gd
func installScriptExtension(childScriptPath: String):
	var childScript = ResourceLoader.load(childScriptPath)

	# Force Godot to compile the script now.
	# We need to do this here to ensure that the inheritance chain is
	# properly set up, and multiple mods can chain-extend the same
	# class multiple times.
	# This is also needed to make Godot instantiate the extended class
	# when creating singletons.
	# The actual instance is thrown away.
	childScript.new()

	var parentScript = childScript.get_base_script()
	var parentScriptPath = parentScript.resource_path
	global._print(
		"ModLoader: Installing script extension: %s <- %s" % [parentScriptPath, childScriptPath]
	)
	childScript.take_over_path(parentScriptPath)


func connectionSuccessful():
	var apclient = global.get_node("Archipelago")

	# Switch to LL1
	Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
	global.map = "level1"
	global.save_file = apclient.getSaveFileName()
	var _discard = get_tree().change_scene("res://scenes/load_screen.tscn")