diff options
Diffstat (limited to 'src/game_data.cpp')
| -rw-r--r-- | src/game_data.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
| diff --git a/src/game_data.cpp b/src/game_data.cpp index 482818b..f21bc3d 100644 --- a/src/game_data.cpp +++ b/src/game_data.cpp | |||
| @@ -343,7 +343,8 @@ struct GameData { | |||
| 343 | {.name = panel.name, | 343 | {.name = panel.name, |
| 344 | .ap_location_name = room_name + " - " + panel.name, | 344 | .ap_location_name = room_name + " - " + panel.name, |
| 345 | .room = panel.room, | 345 | .room = panel.room, |
| 346 | .panels = {panel.id}}); | 346 | .panels = {panel.id}, |
| 347 | .exclude_reduce = panel.exclude_reduce}); | ||
| 347 | } | 348 | } |
| 348 | } | 349 | } |
| 349 | 350 | ||
| @@ -372,7 +373,21 @@ struct GameData { | |||
| 372 | map_area.locations.push_back({.name = section_name, | 373 | map_area.locations.push_back({.name = section_name, |
| 373 | .ap_location_name = door.location_name, | 374 | .ap_location_name = door.location_name, |
| 374 | .room = door.room, | 375 | .room = door.room, |
| 375 | .panels = door.panels}); | 376 | .panels = door.panels, |
| 377 | .exclude_reduce = door.exclude_reduce}); | ||
| 378 | } | ||
| 379 | } | ||
| 380 | |||
| 381 | for (MapArea &map_area : map_areas_) { | ||
| 382 | bool all_exclude_reduce = true; | ||
| 383 | for (const Location &location : map_area.locations) { | ||
| 384 | if (!location.exclude_reduce) { | ||
| 385 | all_exclude_reduce = false; | ||
| 386 | break; | ||
| 387 | } | ||
| 388 | } | ||
| 389 | if (all_exclude_reduce) { | ||
| 390 | map_area.exclude_reduce = true; | ||
| 376 | } | 391 | } |
| 377 | } | 392 | } |
| 378 | 393 | ||
