about summary refs log tree commit diff stats
path: root/client/Archipelago/gamedata.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/Archipelago/gamedata.gd')
-rw-r--r--client/Archipelago/gamedata.gd86
1 files changed, 0 insertions, 86 deletions
diff --git a/client/Archipelago/gamedata.gd b/client/Archipelago/gamedata.gd deleted file mode 100644 index f7a5d90..0000000 --- a/client/Archipelago/gamedata.gd +++ /dev/null
@@ -1,86 +0,0 @@
1extends Node
2
3var SCRIPT_proto
4
5var objects
6var door_id_by_map_node_path = {}
7var painting_id_by_map_node_path = {}
8var door_id_by_ap_id = {}
9var map_id_by_name = {}
10var progressive_id_by_ap_id = {}
11var letter_id_by_ap_id = {}
12
13
14func _init(proto_script):
15 SCRIPT_proto = proto_script
16
17
18func load(data_bytes):
19 objects = SCRIPT_proto.AllObjects.new()
20
21 var result_code = objects.from_bytes(data_bytes)
22 if result_code != SCRIPT_proto.PB_ERR.NO_ERRORS:
23 print("Could not load generated data: %d" % result_code)
24 return
25
26 for map in objects.get_maps():
27 map_id_by_name[map.get_name()] = map.get_id()
28
29 for door in objects.get_doors():
30 var map = objects.get_maps()[door.get_map_id()]
31
32 if not map.get_name() in door_id_by_map_node_path:
33 door_id_by_map_node_path[map.get_name()] = {}
34
35 var map_data = door_id_by_map_node_path[map.get_name()]
36 for receiver in door.get_receivers():
37 map_data[receiver] = door.get_id()
38
39 for painting_id in door.get_move_paintings():
40 var painting = objects.get_paintings()[painting_id]
41 map_data[painting.get_path()] = door.get_id()
42
43 if door.has_ap_id():
44 door_id_by_ap_id[door.get_ap_id()] = door.get_id()
45
46 for painting in objects.get_paintings():
47 var room = objects.get_rooms()[painting.get_room_id()]
48 var map = objects.get_maps()[room.get_map_id()]
49
50 if not map.get_name() in painting_id_by_map_node_path:
51 painting_id_by_map_node_path[map.get_name()] = {}
52
53 var _map_data = painting_id_by_map_node_path[map.get_name()]
54
55 for progressive in objects.get_progressives():
56 progressive_id_by_ap_id[progressive.get_ap_id()] = progressive.get_id()
57
58 for letter in objects.get_letters():
59 letter_id_by_ap_id[letter.get_ap_id()] = letter.get_id()
60
61
62func get_door_for_map_node_path(map_name, node_path):
63 if not door_id_by_map_node_path.has(map_name):
64 return null
65
66 var map_data = door_id_by_map_node_path[map_name]
67 return map_data.get(node_path, null)
68
69
70func get_door_ap_id(door_id):
71 var door = objects.get_doors()[door_id]
72 if door.has_ap_id():
73 return door.get_ap_id()
74 else:
75 return null
76
77
78func get_door_receivers(door_id):
79 var door = objects.get_doors()[door_id]
80 return door.get_receivers()
81
82
83func get_door_map_name(door_id):
84 var door = objects.get_doors()[door_id]
85 var map = objects.get_maps()[door.get_map_id()]
86 return map.get_name()