about summary refs log tree commit diff stats
path: root/apworld
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-10-05 13:10:07 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-10-05 13:10:07 -0400
commit797cf68fc2163c3996c44fdfc5fc9f6b6c6b6dd3 (patch)
tree46321474a44c374c0c6f8c4186986c8ea92ddeb5 /apworld
parent87cf89b1961564f0daadeaedd1835a0dac01dffc (diff)
downloadlingo2-archipelago-797cf68fc2163c3996c44fdfc5fc9f6b6c6b6dd3.tar.gz
lingo2-archipelago-797cf68fc2163c3996c44fdfc5fc9f6b6c6b6dd3.tar.bz2
lingo2-archipelago-797cf68fc2163c3996c44fdfc5fc9f6b6c6b6dd3.zip
Fix various minor client bugs
This is what we get for not running in the editor for a while!
Diffstat (limited to 'apworld')
-rw-r--r--apworld/client/client.gd6
-rw-r--r--apworld/client/gamedata.gd20
-rw-r--r--apworld/client/player.gd1
-rw-r--r--apworld/client/settings_screen.gd10
4 files changed, 19 insertions, 18 deletions
diff --git a/apworld/client/client.gd b/apworld/client/client.gd index a0abee9..9a4b402 100644 --- a/apworld/client/client.gd +++ b/apworld/client/client.gd
@@ -158,11 +158,7 @@ func _on_web_socket_server_message_received(_peer_id: int, packet: String) -> vo
158 elif cmd == "LocationInfo": 158 elif cmd == "LocationInfo":
159 for loc in message["locations"]: 159 for loc in message["locations"]:
160 location_scout_received.emit( 160 location_scout_received.emit(
161 int(loc["id"]), 161 int(loc["id"]), loc["item"], loc["player"], int(loc["flags"]), int(loc["self"])
162 loc["item"],
163 loc["player"],
164 int(loc["flags"]),
165 int(loc["for_self"])
166 ) 162 )
167 163
168 elif cmd == "AccessibleLocations": 164 elif cmd == "AccessibleLocations":
diff --git a/apworld/client/gamedata.gd b/apworld/client/gamedata.gd index 334d42a..9305003 100644 --- a/apworld/client/gamedata.gd +++ b/apworld/client/gamedata.gd
@@ -72,7 +72,13 @@ func load(data_bytes):
72 72
73 if door.has_ap_id(): 73 if door.has_ap_id():
74 door_id_by_ap_id[door.get_ap_id()] = door.get_id() 74 door_id_by_ap_id[door.get_ap_id()] = door.get_id()
75 location_name_by_id[door.get_ap_id()] = _get_door_location_name(door) 75
76 if (
77 door.get_type() == SCRIPT_proto.DoorType.STANDARD
78 or door.get_type() == SCRIPT_proto.DoorType.LOCATION_ONLY
79 or door.get_type() == SCRIPT_proto.DoorType.GRAVESTONE
80 ):
81 location_name_by_id[door.get_ap_id()] = _get_door_location_name(door)
76 82
77 for painting in objects.get_paintings(): 83 for painting in objects.get_paintings():
78 var room = objects.get_rooms()[painting.get_room_id()] 84 var room = objects.get_rooms()[painting.get_room_id()]
@@ -166,8 +172,7 @@ func get_door_ap_id(door_id):
166 172
167func get_door_map_name(door_id): 173func get_door_map_name(door_id):
168 var door = objects.get_doors()[door_id] 174 var door = objects.get_doors()[door_id]
169 var room = objects.get_rooms()[door.get_room_id()] 175 var map = objects.get_maps()[door.get_map_id()]
170 var map = objects.get_maps()[room.get_map_id()]
171 return map.get_name() 176 return map.get_name()
172 177
173 178
@@ -227,8 +232,11 @@ func _get_generated_door_location_name(door):
227 var panel = objects.get_panels()[panel_id.get_panel()] 232 var panel = objects.get_panels()[panel_id.get_panel()]
228 var panel_room = objects.get_rooms()[panel.get_room_id()] 233 var panel_room = objects.get_rooms()[panel.get_room_id()]
229 # It's okay if panel_display_name is not present because then it's coalesced with other unnamed areas. 234 # It's okay if panel_display_name is not present because then it's coalesced with other unnamed areas.
230 if not map_areas.has(panel_room.get_panel_display_name()): 235 var panel_display_name = ""
231 map_areas.append(panel_room.get_panel_display_name()) 236 if panel_room.has_panel_display_name():
237 panel_display_name = panel_room.get_panel_display_name()
238 if not map_areas.has(panel_display_name):
239 map_areas.append(panel_display_name)
232 240
233 if map_areas.size() > 1: 241 if map_areas.size() > 1:
234 return null 242 return null
@@ -264,7 +272,7 @@ func _get_generated_door_location_name(door):
264 272
265 273
266func _get_letter_location_name(letter): 274func _get_letter_location_name(letter):
267 var letter_level = 2 if letter.get_level2() else 1 275 var letter_level = 2 if (letter.has_level2() and letter.get_level2()) else 1
268 var letter_name = "%s%d" % [letter.get_key().to_upper(), letter_level] 276 var letter_name = "%s%d" % [letter.get_key().to_upper(), letter_level]
269 return "%s - %s" % [_get_room_object_map_name(letter), letter_name] 277 return "%s - %s" % [_get_room_object_map_name(letter), letter_name]
270 278
diff --git a/apworld/client/player.gd b/apworld/client/player.gd index 5417a48..f387929 100644 --- a/apworld/client/player.gd +++ b/apworld/client/player.gd
@@ -31,6 +31,7 @@ func _ready():
31 if ( 31 if (
32 door.get_type() == gamedata.SCRIPT_proto.DoorType.ITEM_ONLY 32 door.get_type() == gamedata.SCRIPT_proto.DoorType.ITEM_ONLY
33 or door.get_type() == gamedata.SCRIPT_proto.DoorType.GALLERY_PAINTING 33 or door.get_type() == gamedata.SCRIPT_proto.DoorType.GALLERY_PAINTING
34 or door.get_type() == gamedata.SCRIPT_proto.DoorType.CONTROL_CENTER_COLOR
34 ): 35 ):
35 continue 36 continue
36 37
diff --git a/apworld/client/settings_screen.gd b/apworld/client/settings_screen.gd index b430b17..89e8b68 100644 --- a/apworld/client/settings_screen.gd +++ b/apworld/client/settings_screen.gd
@@ -100,7 +100,7 @@ func _ready():
100 server_box.offset_top = 295.0 100 server_box.offset_top = 295.0
101 server_box.offset_right = 1144.0 101 server_box.offset_right = 1144.0
102 server_box.offset_bottom = 445.0 102 server_box.offset_bottom = 445.0
103 server_box.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER 103 server_box.alignment = HORIZONTAL_ALIGNMENT_CENTER
104 server_box.caret_blink = true 104 server_box.caret_blink = true
105 panel.add_child(server_box) 105 panel.add_child(server_box)
106 106
@@ -110,7 +110,7 @@ func _ready():
110 player_box.offset_top = 477.0 110 player_box.offset_top = 477.0
111 player_box.offset_right = 1144.0 111 player_box.offset_right = 1144.0
112 player_box.offset_bottom = 627.0 112 player_box.offset_bottom = 627.0
113 player_box.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER 113 player_box.alignment = HORIZONTAL_ALIGNMENT_CENTER
114 player_box.caret_blink = true 114 player_box.caret_blink = true
115 panel.add_child(player_box) 115 panel.add_child(player_box)
116 116
@@ -120,20 +120,16 @@ func _ready():
120 password_box.offset_top = 659.0 120 password_box.offset_top = 659.0
121 password_box.offset_right = 1144.0 121 password_box.offset_right = 1144.0
122 password_box.offset_bottom = 809.0 122 password_box.offset_bottom = 809.0
123 password_box.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER 123 password_box.alignment = HORIZONTAL_ALIGNMENT_CENTER
124 password_box.caret_blink = true 124 password_box.caret_blink = true
125 panel.add_child(password_box) 125 panel.add_child(password_box)
126 126
127 var accept_dialog = AcceptDialog.new() 127 var accept_dialog = AcceptDialog.new()
128 accept_dialog.name = "AcceptDialog" 128 accept_dialog.name = "AcceptDialog"
129 accept_dialog.offset_right = 83.0
130 accept_dialog.offset_bottom = 58.0
131 panel.add_child(accept_dialog) 129 panel.add_child(accept_dialog)
132 130
133 var version_mismatch = ConfirmationDialog.new() 131 var version_mismatch = ConfirmationDialog.new()
134 version_mismatch.name = "VersionMismatch" 132 version_mismatch.name = "VersionMismatch"
135 version_mismatch.offset_right = 83.0
136 version_mismatch.offset_bottom = 58.0
137 panel.add_child(version_mismatch) 133 panel.add_child(version_mismatch)
138 134
139 var connection_history = MenuButton.new() 135 var connection_history = MenuButton.new()