diff options
-rw-r--r-- | Archipelago/client.gd | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index 2f5b631..e182b9c 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd | |||
@@ -35,6 +35,7 @@ const progressive_items = { | |||
35 | {"item": "Hallway Room (4) - Exit", "display": "Fourth Door"}, | 35 | {"item": "Hallway Room (4) - Exit", "display": "Fourth Door"}, |
36 | ] | 36 | ] |
37 | } | 37 | } |
38 | const filtered_games = ["Ocarina of Time", "Factorio", "Lufia II Ancient Cave"] | ||
38 | 39 | ||
39 | const kTHE_END = 0 | 40 | const kTHE_END = 0 |
40 | const kTHE_MASTER = 1 | 41 | const kTHE_MASTER = 1 |
@@ -178,9 +179,17 @@ func _on_data(): | |||
178 | 179 | ||
179 | var needed_games = [] | 180 | var needed_games = [] |
180 | for game in message["datapackage_checksums"].keys(): | 181 | for game in message["datapackage_checksums"].keys(): |
182 | # Due to a limitation with Godot 3.x, downloading a datapackage | ||
183 | # that is too large will silently fail and prevent us from | ||
184 | # finishing the connection process. So we will hardcode the | ||
185 | # names of games that are likely to cause connection problems, | ||
186 | # and not download those datapackages. Which is not ideal. | ||
181 | if ( | 187 | if ( |
182 | !_datapackages.has(game) | 188 | ( |
183 | or _datapackages[game]["checksum"] != message["datapackage_checksums"][game] | 189 | !_datapackages.has(game) |
190 | or _datapackages[game]["checksum"] != message["datapackage_checksums"][game] | ||
191 | ) | ||
192 | and not filtered_games.has(game) | ||
184 | ): | 193 | ): |
185 | needed_games.append(game) | 194 | needed_games.append(game) |
186 | 195 | ||