diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2023-04-29 15:12:33 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2023-04-29 15:12:33 -0400 |
commit | b393c9d6772c13177fd575cda8c76d96afc178d2 (patch) | |
tree | fa76071215f1f1819f89379a532567a9c698bc5d /Archipelago | |
parent | f375fd15a4271489e27d4d49194befa66dcdea97 (diff) | |
download | lingo-archipelago-b393c9d6772c13177fd575cda8c76d96afc178d2.tar.gz lingo-archipelago-b393c9d6772c13177fd575cda8c76d96afc178d2.tar.bz2 lingo-archipelago-b393c9d6772c13177fd575cda8c76d96afc178d2.zip |
Don't download datapackages for big games
Godot's websocket packet size limit can't be changed in 3.5, which is annoying.
Diffstat (limited to 'Archipelago')
-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 | ||