diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-10-26 09:14:21 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-10-26 09:14:21 -0400 |
| commit | f06d107a7469e172686d682a74ded0d800278339 (patch) | |
| tree | 4832ceb73f89082b88e1e12eb8ffb79839539dc9 | |
| parent | 5bf9d7cf024e82079760b8f0cf8061f47364d41c (diff) | |
| download | lingo2-archipelago-f06d107a7469e172686d682a74ded0d800278339.tar.gz lingo2-archipelago-f06d107a7469e172686d682a74ded0d800278339.tar.bz2 lingo2-archipelago-f06d107a7469e172686d682a74ded0d800278339.zip | |
Added backwards compatibility with removed locations
| -rw-r--r-- | apworld/player_logic.py | 3 | ||||
| -rw-r--r-- | apworld/static_logic.py | 3 | ||||
| -rw-r--r-- | data/ids.yaml | 3 | ||||
| -rw-r--r-- | data/maps/the_partial/doors.txtpb | 3 | ||||
| -rw-r--r-- | data/maps/the_relentless/doors.txtpb | 6 | ||||
| -rw-r--r-- | proto/data.proto | 3 | ||||
| -rw-r--r-- | tools/validator/validator.cpp | 3 |
7 files changed, 18 insertions, 6 deletions
| diff --git a/apworld/player_logic.py b/apworld/player_logic.py index d7b18c2..043268e 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py | |||
| @@ -299,7 +299,8 @@ class Lingo2PlayerLogic: | |||
| 299 | if door.map_id not in self.shuffled_maps: | 299 | if door.map_id not in self.shuffled_maps: |
| 300 | continue | 300 | continue |
| 301 | 301 | ||
| 302 | if door.type in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: | 302 | if door.type in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE, |
| 303 | data_pb2.DoorType.LEGACY_LOCATION]: | ||
| 303 | continue | 304 | continue |
| 304 | 305 | ||
| 305 | if door.id in self.item_by_door: | 306 | if door.id in self.item_by_door: |
| diff --git a/apworld/static_logic.py b/apworld/static_logic.py index 8e07b82..702f30b 100644 --- a/apworld/static_logic.py +++ b/apworld/static_logic.py | |||
| @@ -31,7 +31,8 @@ class Lingo2StaticLogic: | |||
| 31 | location_name = self.get_door_location_name(door) | 31 | location_name = self.get_door_location_name(door) |
| 32 | self.location_id_to_name[door.ap_id] = location_name | 32 | self.location_id_to_name[door.ap_id] = location_name |
| 33 | 33 | ||
| 34 | if door.type not in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: | 34 | if door.type not in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE, |
| 35 | data_pb2.DoorType.LEGACY_LOCATION]: | ||
| 35 | item_name = self.get_door_item_name(door) | 36 | item_name = self.get_door_item_name(door) |
| 36 | self.item_id_to_name[door.ap_id] = item_name | 37 | self.item_id_to_name[door.ap_id] = item_name |
| 37 | 38 | ||
| diff --git a/data/ids.yaml b/data/ids.yaml index 6a44044..49dd23f 100644 --- a/data/ids.yaml +++ b/data/ids.yaml | |||
| @@ -2789,6 +2789,7 @@ maps: | |||
| 2789 | FINCH: 886 | 2789 | FINCH: 886 |
| 2790 | FOUR: 885 | 2790 | FOUR: 885 |
| 2791 | doors: | 2791 | doors: |
| 2792 | Control Center Entrance: 865 | ||
| 2792 | F Door: 866 | 2793 | F Door: 866 |
| 2793 | L Entered: 2843 | 2794 | L Entered: 2843 |
| 2794 | Main Room Puzzles: 863 | 2795 | Main Room Puzzles: 863 |
| @@ -2974,8 +2975,10 @@ maps: | |||
| 2974 | MORE: 1022 | 2975 | MORE: 1022 |
| 2975 | doors: | 2976 | doors: |
| 2976 | Left Only Puzzles: 3020 | 2977 | Left Only Puzzles: 3020 |
| 2978 | Left/Turn Door: 984 | ||
| 2977 | Shop Only Puzzles: 3019 | 2979 | Shop Only Puzzles: 3019 |
| 2978 | Turn Only Puzzles: 3018 | 2980 | Turn Only Puzzles: 3018 |
| 2981 | Turn/Shop Door: 985 | ||
| 2979 | the_repetitive: | 2982 | the_repetitive: |
| 2980 | rooms: | 2983 | rooms: |
| 2981 | Anti Room: | 2984 | Anti Room: |
| diff --git a/data/maps/the_partial/doors.txtpb b/data/maps/the_partial/doors.txtpb index b6445cd..11826ea 100644 --- a/data/maps/the_partial/doors.txtpb +++ b/data/maps/the_partial/doors.txtpb | |||
| @@ -49,9 +49,10 @@ doors { | |||
| 49 | } | 49 | } |
| 50 | doors { | 50 | doors { |
| 51 | name: "Control Center Entrance" | 51 | name: "Control Center Entrance" |
| 52 | type: EVENT | 52 | type: LEGACY_LOCATION |
| 53 | #receivers: "Components/Doors/controlDoor" | 53 | #receivers: "Components/Doors/controlDoor" |
| 54 | panels { room: "Control Center Entrance" name: "RETURN" } | 54 | panels { room: "Control Center Entrance" name: "RETURN" } |
| 55 | location_room: "Control Center Entrance" | ||
| 55 | } | 56 | } |
| 56 | doors { | 57 | doors { |
| 57 | name: "F Door" | 58 | name: "F Door" |
| diff --git a/data/maps/the_relentless/doors.txtpb b/data/maps/the_relentless/doors.txtpb index 727599f..e970e40 100644 --- a/data/maps/the_relentless/doors.txtpb +++ b/data/maps/the_relentless/doors.txtpb | |||
| @@ -26,17 +26,18 @@ doors { | |||
| 26 | } | 26 | } |
| 27 | doors { | 27 | doors { |
| 28 | name: "Left/Turn Door" | 28 | name: "Left/Turn Door" |
| 29 | type: EVENT | 29 | type: LEGACY_LOCATION |
| 30 | panels { room: "Left Room" name: "HIDE" } | 30 | panels { room: "Left Room" name: "HIDE" } |
| 31 | panels { room: "Left Room" name: "LEFT" } | 31 | panels { room: "Left Room" name: "LEFT" } |
| 32 | panels { room: "Left Room" name: "MORE" } | 32 | panels { room: "Left Room" name: "MORE" } |
| 33 | panels { room: "Turn Room" name: "HIDE (1)" } | 33 | panels { room: "Turn Room" name: "HIDE (1)" } |
| 34 | panels { room: "Turn Room" name: "HIDE (2)" } | 34 | panels { room: "Turn Room" name: "HIDE (2)" } |
| 35 | panels { room: "Turn Room" name: "MORE" } | 35 | panels { room: "Turn Room" name: "MORE" } |
| 36 | location_room: "Turn Room" | ||
| 36 | } | 37 | } |
| 37 | doors { | 38 | doors { |
| 38 | name: "Turn/Shop Door" | 39 | name: "Turn/Shop Door" |
| 39 | type: EVENT | 40 | type: LEGACY_LOCATION |
| 40 | panels { room: "Turn Room" name: "HIDE (1)" } | 41 | panels { room: "Turn Room" name: "HIDE (1)" } |
| 41 | panels { room: "Turn Room" name: "HIDE (2)" } | 42 | panels { room: "Turn Room" name: "HIDE (2)" } |
| 42 | panels { room: "Turn Room" name: "MORE" } | 43 | panels { room: "Turn Room" name: "MORE" } |
| @@ -45,6 +46,7 @@ doors { | |||
| 45 | panels { room: "Shop Room" name: "EXIT (1)" } | 46 | panels { room: "Shop Room" name: "EXIT (1)" } |
| 46 | panels { room: "Shop Room" name: "EXIT (2)" } | 47 | panels { room: "Shop Room" name: "EXIT (2)" } |
| 47 | panels { room: "Shop Room" name: "EXIT (3)" } | 48 | panels { room: "Shop Room" name: "EXIT (3)" } |
| 49 | location_room: "Turn Room" | ||
| 48 | } | 50 | } |
| 49 | doors { | 51 | doors { |
| 50 | name: "All Doors" | 52 | name: "All Doors" |
| diff --git a/proto/data.proto b/proto/data.proto index b46ab99..d84c598 100644 --- a/proto/data.proto +++ b/proto/data.proto | |||
| @@ -30,6 +30,9 @@ enum DoorType { | |||
| 30 | 30 | ||
| 31 | // This door is never a location, and is an item as long as gallery painting shuffle is on. | 31 | // This door is never a location, and is an item as long as gallery painting shuffle is on. |
| 32 | GALLERY_PAINTING = 7; | 32 | GALLERY_PAINTING = 7; |
| 33 | |||
| 34 | // This location is not added to new worlds, but the client can send it out for backwards compataibility purposes. | ||
| 35 | LEGACY_LOCATION = 8; | ||
| 33 | } | 36 | } |
| 34 | 37 | ||
| 35 | enum DoorGroupType { | 38 | enum DoorGroupType { |
| diff --git a/tools/validator/validator.cpp b/tools/validator/validator.cpp index e1fc138..5f8e0ba 100644 --- a/tools/validator/validator.cpp +++ b/tools/validator/validator.cpp | |||
| @@ -227,7 +227,8 @@ class Validator { | |||
| 227 | 227 | ||
| 228 | if (h_door.type() == DoorType::STANDARD || | 228 | if (h_door.type() == DoorType::STANDARD || |
| 229 | h_door.type() == DoorType::LOCATION_ONLY || | 229 | h_door.type() == DoorType::LOCATION_ONLY || |
| 230 | h_door.type() == DoorType::GRAVESTONE) { | 230 | h_door.type() == DoorType::GRAVESTONE || |
| 231 | h_door.type() == DoorType::LEGACY_LOCATION) { | ||
| 231 | if (h_door.double_letters()) { | 232 | if (h_door.double_letters()) { |
| 232 | std::cout << "Door " << door_identifier.ShortDebugString() | 233 | std::cout << "Door " << door_identifier.ShortDebugString() |
| 233 | << " is a location that depends on double_letters." | 234 | << " is a location that depends on double_letters." |
