about summary refs log tree commit diff stats
path: root/apworld/client
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/client')
-rw-r--r--apworld/client/main.gd10
-rw-r--r--apworld/client/manager.gd2
-rw-r--r--apworld/client/rteMenu.gd12
3 files changed, 22 insertions, 2 deletions
diff --git a/apworld/client/main.gd b/apworld/client/main.gd index c90d6e7..8cac24c 100644 --- a/apworld/client/main.gd +++ b/apworld/client/main.gd
@@ -48,6 +48,7 @@ func _ready():
48 installScriptExtension(runtime.load_script("panel.gd")) 48 installScriptExtension(runtime.load_script("panel.gd"))
49 installScriptExtension(runtime.load_script("pauseMenu.gd")) 49 installScriptExtension(runtime.load_script("pauseMenu.gd"))
50 installScriptExtension(runtime.load_script("player.gd")) 50 installScriptExtension(runtime.load_script("player.gd"))
51 installScriptExtension(runtime.load_script("rteMenu.gd"))
51 installScriptExtension(runtime.load_script("saver.gd")) 52 installScriptExtension(runtime.load_script("saver.gd"))
52 installScriptExtension(runtime.load_script("teleport.gd")) 53 installScriptExtension(runtime.load_script("teleport.gd"))
53 installScriptExtension(runtime.load_script("teleportListener.gd")) 54 installScriptExtension(runtime.load_script("teleportListener.gd"))
@@ -229,7 +230,11 @@ func startGame():
229 Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) 230 Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
230 global.user = ap.getSaveFileName() 231 global.user = ap.getSaveFileName()
231 global.universe = "lingo" 232 global.universe = "lingo"
232 global.map = "the_entry" 233
234 if ap.daedalus_only:
235 global.map = "daedalus"
236 else:
237 global.map = "the_entry"
233 238
234 unlocks.resetCollectables() 239 unlocks.resetCollectables()
235 unlocks.resetData() 240 unlocks.resetData()
@@ -263,6 +268,7 @@ func startGame():
263 clearResourceCache("res://objects/nodes/teleport.tscn") 268 clearResourceCache("res://objects/nodes/teleport.tscn")
264 clearResourceCache("res://objects/nodes/worldport.tscn") 269 clearResourceCache("res://objects/nodes/worldport.tscn")
265 clearResourceCache("res://objects/scenes/menus/pause_menu.tscn") 270 clearResourceCache("res://objects/scenes/menus/pause_menu.tscn")
271 clearResourceCache("res://objects/scenes/menus/rte_inner.tscn")
266 272
267 var paintings_dir = DirAccess.open("res://objects/meshes/paintings") 273 var paintings_dir = DirAccess.open("res://objects/meshes/paintings")
268 if paintings_dir: 274 if paintings_dir:
@@ -273,7 +279,7 @@ func startGame():
273 clearResourceCache("res://objects/meshes/paintings/" + file_name) 279 clearResourceCache("res://objects/meshes/paintings/" + file_name)
274 file_name = paintings_dir.get_next() 280 file_name = paintings_dir.get_next()
275 281
276 switcher.switch_map.call_deferred("res://objects/scenes/the_entry.tscn") 282 switcher.switch_map.call_deferred("res://objects/scenes/%s.tscn" % global.map)
277 283
278 284
279func connectionUnsuccessful(error_message): 285func connectionUnsuccessful(error_message):
diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index 8c981f9..381a779 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd
@@ -64,6 +64,7 @@ const kEndingNameByVictoryValue = {
64 64
65var apworld_version = [0, 0, 0] 65var apworld_version = [0, 0, 0]
66var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 66var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2
67var daedalus_only = false
67var daedalus_roof_access = false 68var daedalus_roof_access = false
68var enable_gift_maps = [] 69var enable_gift_maps = []
69var enable_icarus = false 70var enable_icarus = false
@@ -463,6 +464,7 @@ func _client_connected(slot_data):
463 464
464 # Read slot data. 465 # Read slot data.
465 cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0)) 466 cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0))
467 daedalus_only = bool(slot_data.get("daedalus_only", false))
466 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) 468 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false))
467 enable_gift_maps = slot_data.get("enable_gift_maps", []) 469 enable_gift_maps = slot_data.get("enable_gift_maps", [])
468 enable_icarus = bool(slot_data.get("enable_icarus", false)) 470 enable_icarus = bool(slot_data.get("enable_icarus", false))
diff --git a/apworld/client/rteMenu.gd b/apworld/client/rteMenu.gd new file mode 100644 index 0000000..5882d77 --- /dev/null +++ b/apworld/client/rteMenu.gd
@@ -0,0 +1,12 @@
1extends "res://scripts/ui/rteMenu.gd"
2
3
4func _readier():
5 var ap = global.get_node("Archipelago")
6 if ap.daedalus_only:
7 get_node("rte_the_entry").hide()
8 get_node("rte_daedalus").show()
9
10 switcher.preload_map("res://objects/scenes/daedalus.tscn")
11 else:
12 super()._readier()