diff options
Diffstat (limited to 'Archipelago')
-rw-r--r-- | Archipelago/client.gd | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index 5bd6f0a..88a6a8b 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd | |||
@@ -95,6 +95,7 @@ var _held_locations = [] | |||
95 | var _last_new_item = -1 | 95 | var _last_new_item = -1 |
96 | var _progressive_progress = {} | 96 | var _progressive_progress = {} |
97 | var _has_colors = ["white"] | 97 | var _has_colors = ["white"] |
98 | var _received_indexes = [] | ||
98 | 99 | ||
99 | signal could_not_connect | 100 | signal could_not_connect |
100 | signal connect_status | 101 | signal connect_status |
@@ -324,12 +325,6 @@ func _on_data(): | |||
324 | global._print(message) | 325 | global._print(message) |
325 | 326 | ||
326 | elif cmd == "ReceivedItems": | 327 | elif cmd == "ReceivedItems": |
327 | if message["index"] == 0: | ||
328 | # We are being sent all of our items, so lets reset any progress | ||
329 | # on progressive items. | ||
330 | _progressive_progress.clear() | ||
331 | _held_items = [] | ||
332 | |||
333 | var i = 0 | 328 | var i = 0 |
334 | for item in message["items"]: | 329 | for item in message["items"]: |
335 | if _map_loaded: | 330 | if _map_loaded: |
@@ -555,6 +550,8 @@ func completedGoal(): | |||
555 | 550 | ||
556 | func mapFinishedLoading(): | 551 | func mapFinishedLoading(): |
557 | if !_map_loaded: | 552 | if !_map_loaded: |
553 | _received_indexes.clear() | ||
554 | _progressive_progress.clear() | ||
558 | _has_colors = ["white"] | 555 | _has_colors = ["white"] |
559 | emit_signal("evaluate_solvability") | 556 | emit_signal("evaluate_solvability") |
560 | 557 | ||
@@ -569,6 +566,13 @@ func mapFinishedLoading(): | |||
569 | 566 | ||
570 | 567 | ||
571 | func processItem(item, index, from, flags): | 568 | func processItem(item, index, from, flags): |
569 | if index != null: | ||
570 | if _received_indexes.has(index): | ||
571 | # Do not re-process items. | ||
572 | return | ||
573 | |||
574 | _received_indexes.append(index) | ||
575 | |||
572 | global._print(item) | 576 | global._print(item) |
573 | 577 | ||
574 | var stringified = String(item) | 578 | var stringified = String(item) |